| /kernel/linux/linux-5.10/Documentation/admin-guide/mm/ |
| D | userfaultfd.rst | 10 Userfaults allow the implementation of on-demand paging from userland 14 For example userfaults allows a proper and more optimal implementation 25 1) ``read/POLLIN`` protocol to notify a userland thread of the faults 38 Vmas are not suitable for page- (or hugepage) granular fault tracking 43 passed using unix domain sockets to a manager process, so the same 44 manager process could handle the userfaults of a multitude of 48 is a corner case that would currently return ``-EBUSY``). 54 ``UFFDIO_API`` ioctl specifying a ``uffdio_api.api`` value set to ``UFFD_API`` (or 55 a later API version) which will specify the ``read/POLLIN`` protocol 82 detail below in `Non-cooperative userfaultfd`_ section. [all …]
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/mm/ |
| D | userfaultfd.rst | 8 Userfaults allow the implementation of on-demand paging from userland 12 For example userfaults allows a proper and more optimal implementation 18 Userspace creates a new userfaultfd, initializes it, and registers one or more 20 region(s) result in a message being delivered to the userfaultfd, notifying 26 1) ``read/POLLIN`` protocol to notify a userland thread of the faults 38 Vmas are not suitable for page- (or hugepage) granular fault tracking 43 passed using unix domain sockets to a manager process, so the same 44 manager process could handle the userfaults of a multitude of 48 is a corner case that would currently return ``-EBUSY``). 53 Creating a userfaultfd [all …]
|
| /kernel/linux/linux-6.6/Documentation/filesystems/ext4/ |
| D | allocators.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 --------------------------------- 7 generally a desirably quality of a filesystem. On a spinning disk, 9 that the head actuator and disk must perform to access a data block, 13 effect of concentrating writes on a single erase block, which can speed 17 The first tool that ext4 uses to combat fragmentation is the multi-block 18 allocator. When a file is first created, the block allocator 23 files) then the file data gets written out in a single multi-block 24 extent. A second related trick that ext4 uses is delayed allocation. 25 Under this scheme, when a file needs more blocks to absorb file writes, [all …]
|
| /kernel/linux/linux-5.10/Documentation/filesystems/ext4/ |
| D | allocators.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 --------------------------------- 7 generally a desirably quality of a filesystem. On a spinning disk, 9 that the head actuator and disk must perform to access a data block, 13 effect of concentrating writes on a single erase block, which can speed 17 The first tool that ext4 uses to combat fragmentation is the multi-block 18 allocator. When a file is first created, the block allocator 23 files) then the file data gets written out in a single multi-block 24 extent. A second related trick that ext4 uses is delayed allocation. 25 Under this scheme, when a file needs more blocks to absorb file writes, [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/soc/intel/ |
| D | intel,hps-copy-engine.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/soc/intel/intel,hps-copy-engine.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Matthew Gerlach <matthew.gerlach@linux.intel.com> 15 a bootable image from host memory to HPS DDR. Additionally, there is a 17 well as a keep-a-live indication to the host. 21 const: intel,hps-copy-engine 23 '#dma-cells': 30 - compatible [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/net/ |
| D | maxlinear,gpy2xx.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Andrew Lunn <andrew@lunn.ch> 11 - Michael Walle <michael@walle.cc> 14 - $ref: ethernet-phy.yaml# 17 maxlinear,use-broken-interrupts: 19 Interrupts are broken on some GPY2xx PHYs in that they keep the 20 interrupt line asserted for a random amount of time even after the 24 can live with the consequences, this property can be used to enable [all …]
|
| /kernel/linux/linux-6.6/net/rxrpc/ |
| D | peer_event.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 #include "ar-internal.h" 26 * Find the peer associated with a local error. 37 srx->transport_type = local->srx.transport_type; in rxrpc_lookup_peer_local_rcu() 38 srx->transport_len = local->srx.transport_len; in rxrpc_lookup_peer_local_rcu() 39 srx->transport.family = local->srx.transport.family; in rxrpc_lookup_peer_local_rcu() 44 switch (srx->transport.family) { in rxrpc_lookup_peer_local_rcu() 46 srx->transport_len = sizeof(srx->transport.sin); in rxrpc_lookup_peer_local_rcu() 47 srx->transport.family = AF_INET; in rxrpc_lookup_peer_local_rcu() 48 srx->transport.sin.sin_port = serr->port; in rxrpc_lookup_peer_local_rcu() [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | cache.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 17 * __read_mostly is used to keep rarely changing variables out of frequently 21 * best case multiple frequently read variables for a hot path will be next 23 * execute a critical path. We should be mindful and selective of its use. 24 * ie: if you're going to use it please supply a *good* justification in your 32 * __ro_after_init is used to mark things that are read-only after init (i.e. 33 * after mark_rodata_ro() has been called). These are effectively read-only, 34 * but may get written to during init, so can't live in .rodata (via "const"). 68 * These could be inter-node cacheline sizes/L3 cacheline
|
| D | hil_mlc.h | 21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 30 * HP-HIL Technical Reference Manual. Hewlett Packard Product No. 45918A 43 /* The HIL has a complicated state engine. 65 /* HILSE_FUNC runs a callback function with given arguments. 66 * a positive return value causes the "ugly" branch to be taken. 70 /* HILSE_IN simply expects any non-errored packet to arrive 75 /* HILSE_EXPECT expects a particular packet to arrive 104 /* Methods for back-end drivers, e.g. hp_sdc_mlc */ 122 /* How many (possibly old/detached) devices the we try to keep track of */ 130 void *priv; /* Data specific to a particular type of MLC */ [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | cache.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 17 * __read_mostly is used to keep rarely changing variables out of frequently 21 * best case multiple frequently read variables for a hot path will be next 23 * execute a critical path. We should be mindful and selective of its use. 24 * ie: if you're going to use it please supply a *good* justification in your 32 * __ro_after_init is used to mark things that are read-only after init (i.e. 33 * after mark_rodata_ro() has been called). These are effectively read-only, 34 * but may get written to during init, so can't live in .rodata (via "const"). 68 * These could be inter-node cacheline sizes/L3 cacheline 89 * Helper to add padding within a struct to ensure data fall into separate
|
| D | hil_mlc.h | 21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 30 * HP-HIL Technical Reference Manual. Hewlett Packard Product No. 45918A 43 /* The HIL has a complicated state engine. 65 /* HILSE_FUNC runs a callback function with given arguments. 66 * a positive return value causes the "ugly" branch to be taken. 70 /* HILSE_IN simply expects any non-errored packet to arrive 75 /* HILSE_EXPECT expects a particular packet to arrive 104 /* Methods for back-end drivers, e.g. hp_sdc_mlc */ 122 /* How many (possibly old/detached) devices the we try to keep track of */ 130 void *priv; /* Data specific to a particular type of MLC */ [all …]
|
| /kernel/linux/linux-5.10/arch/mips/include/asm/fw/arc/ |
| D | types.h | 24 /* The pointer types. Note that we're using a 64-bit compiler but all 25 pointer in the ARC structures are only 32-bit, so we need some disgusting 26 workarounds. Keep your vomit bag handy. */ 49 /* The pointer types. We're 64-bit and the firmware is also 64-bit, so 50 live is sane ... */
|
| /kernel/linux/linux-6.6/arch/mips/include/asm/fw/arc/ |
| D | types.h | 24 /* The pointer types. Note that we're using a 64-bit compiler but all 25 pointer in the ARC structures are only 32-bit, so we need some disgusting 26 workarounds. Keep your vomit bag handy. */ 49 /* The pointer types. We're 64-bit and the firmware is also 64-bit, so 50 live is sane ... */
|
| /kernel/linux/linux-5.10/net/rxrpc/ |
| D | peer_event.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 #include "ar-internal.h" 37 srx->transport_type = local->srx.transport_type; in rxrpc_lookup_peer_icmp_rcu() 38 srx->transport_len = local->srx.transport_len; in rxrpc_lookup_peer_icmp_rcu() 39 srx->transport.family = local->srx.transport.family; in rxrpc_lookup_peer_icmp_rcu() 44 switch (srx->transport.family) { in rxrpc_lookup_peer_icmp_rcu() 46 srx->transport_len = sizeof(srx->transport.sin); in rxrpc_lookup_peer_icmp_rcu() 47 srx->transport.family = AF_INET; in rxrpc_lookup_peer_icmp_rcu() 48 srx->transport.sin.sin_port = serr->port; in rxrpc_lookup_peer_icmp_rcu() 49 switch (serr->ee.ee_origin) { in rxrpc_lookup_peer_icmp_rcu() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/i915/gem/ |
| D | i915_gem_context_types.h | 2 * SPDX-License-Identifier: MIT 15 #include <linux/radix-tree.h> 34 * struct i915_gem_engines - A set of engines 59 * struct i915_gem_engines_iter - Iterator for an i915_gem_engines set 70 * enum i915_gem_engine_type - Describes the type of an i915_gem_proto_engine 76 /** @I915_GEM_ENGINE_TYPE_PHYSICAL: A single physical engine */ 79 /** @I915_GEM_ENGINE_TYPE_BALANCED: A load-balanced engine set */ 82 /** @I915_GEM_ENGINE_TYPE_PARALLEL: A parallel engine set */ 87 * struct i915_gem_proto_engine - prototype engine 89 * This struct describes an engine that a context may contain. Engines [all …]
|
| /kernel/linux/linux-5.10/arch/sparc/vdso/ |
| D | vdso-layout.lds.S | 3 * its virtual address, and with only one read-only segment. 20 * User/kernel shared data is before the vDSO. This may be a little 22 * non-allocatable things that dangle past the end of the PT_LOAD 23 * segment. Page size is 8192 for both 64-bit and 32-bit vdso binaries 26 vvar_start = . -8192; 52 * Ideally this would live in a C file: kept in here for 53 * compatibility with x86-64. 66 .eh_frame : { KEEP (*(.eh_frame)) } :text 70 * Text is well-separated from actual data: there's plenty of 90 * PT_LOAD segment, and set the flags explicitly to make segments read-only.
|
| /kernel/linux/linux-6.6/arch/sparc/vdso/ |
| D | vdso-layout.lds.S | 3 * its virtual address, and with only one read-only segment. 20 * User/kernel shared data is before the vDSO. This may be a little 22 * non-allocatable things that dangle past the end of the PT_LOAD 23 * segment. Page size is 8192 for both 64-bit and 32-bit vdso binaries 26 vvar_start = . -8192; 52 * Ideally this would live in a C file: kept in here for 53 * compatibility with x86-64. 66 .eh_frame : { KEEP (*(.eh_frame)) } :text 70 * Text is well-separated from actual data: there's plenty of 90 * PT_LOAD segment, and set the flags explicitly to make segments read-only.
|
| /kernel/linux/linux-6.6/fs/fscache/ |
| D | cache.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* FS-Cache cache handling 22 * Allocate a cache cookie. 31 cache->name = kstrdup(name, GFP_KERNEL); in fscache_alloc_cache() 32 if (!cache->name) { in fscache_alloc_cache() 37 refcount_set(&cache->ref, 1); in fscache_alloc_cache() 38 INIT_LIST_HEAD(&cache->cache_link); in fscache_alloc_cache() 39 cache->debug_id = atomic_inc_return(&fscache_cache_debug_id); in fscache_alloc_cache() 50 success = __refcount_inc_not_zero(&cache->ref, &ref); in fscache_get_cache_maybe() 52 trace_fscache_cache(cache->debug_id, ref + 1, where); in fscache_get_cache_maybe() [all …]
|
| /kernel/linux/linux-5.10/Documentation/vm/ |
| D | highmem.rst | 7 By: Peter Zijlstra <a.p.zijlstra@chello.nl> 16 impossible for the kernel to keep all of the available physical memory mapped 20 The part of (physical) memory not covered by a permanent mapping is what we 32 +--------+ 0xffffffff 34 +--------+ 0xc0000000 38 +--------+ 0x00000000 41 time, but because we need virtual address space for other things - including 42 temporary maps to access the rest of the physical memory - the actual direct 55 * vmap(). This can be used to make a long duration mapping of multiple 56 physical pages into a contiguous virtual space. It needs global [all …]
|
| /kernel/linux/linux-5.10/Documentation/filesystems/ |
| D | configfs.rst | 2 Configfs - Userspace-driven Kernel Object Configuration 16 configfs is a ram-based filesystem that provides the converse of 17 sysfs's functionality. Where sysfs is a filesystem-based view of 18 kernel objects, configfs is a filesystem-based manager of kernel 21 With sysfs, an object is created in kernel (for example, when a device 27 representation, and sysfs is merely a window on all this. 29 A configfs config_item is created via an explicit userspace operation: 38 system. One is not a replacement for the other. 43 configfs can be compiled as a module or into the kernel. You can access 46 mount -t configfs none /config [all …]
|
| /kernel/linux/linux-5.10/drivers/md/persistent-data/ |
| D | dm-btree-internal.h | 10 #include "dm-btree.h" 12 /*----------------------------------------------------------------*/ 15 * We'll need 2 accessor functions for n->csum and n->blocknr 16 * to support dm-btree-spine.c in that case. 25 * Every btree node begins with this structure. Make sure it's a multiple 26 * of 8-bytes in size, otherwise the 64bit keys will be mis-aligned. 31 __le64 blocknr; /* Block this node is supposed to live in. */ 46 * Locks a block using the btree node validator. 58 * Spines keep track of the rolling locks. There are 2 variants, read-only 61 * on a shadow spine. [all …]
|
| /kernel/linux/linux-6.6/kernel/module/ |
| D | procfs.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 24 * Always include a trailing , so userspace can differentiate in print_unload_info() 25 * between this and the old multi-field proc format. in print_unload_info() 27 list_for_each_entry(use, &mod->source_list, source_list) { in print_unload_info() 29 seq_printf(m, "%s,", use->source->name); in print_unload_info() 32 if (mod->init && !mod->exit) { in print_unload_info() 38 seq_puts(m, "-"); in print_unload_info() 44 seq_puts(m, " - -"); in print_unload_info() 48 /* Called by the /proc file system to return a list of modules. */ 70 size += mod->mem[type].size; in module_total_size() [all …]
|
| /kernel/linux/linux-6.6/drivers/md/persistent-data/ |
| D | dm-btree-internal.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 11 #include "dm-btree.h" 13 /*----------------------------------------------------------------*/ 16 * We'll need 2 accessor functions for n->csum and n->blocknr 17 * to support dm-btree-spine.c in that case. 26 * Every btree node begins with this structure. Make sure it's a multiple 27 * of 8-bytes in size, otherwise the 64bit keys will be mis-aligned. 32 __le64 blocknr; /* Block this node is supposed to live in. */ 47 * Locks a block using the btree node validator. 59 * Spines keep track of the rolling locks. There are 2 variants, read-only [all …]
|
| /kernel/linux/linux-6.6/fs/afs/ |
| D | fs_probe.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 27 if (!net->live) in afs_schedule_fs_probe() 30 atj = server->probed_at; in afs_schedule_fs_probe() 34 if (timer_reduce(&net->fs_probe_timer, atj)) in afs_schedule_fs_probe() 39 * Handle the completion of a set of probes. 43 bool responded = server->probe.responded; in afs_finished_fs_probe() 45 write_seqlock(&net->fs_lock); in afs_finished_fs_probe() 47 list_add_tail(&server->probe_link, &net->fs_probe_slow); in afs_finished_fs_probe() 49 server->rtt = UINT_MAX; in afs_finished_fs_probe() 50 clear_bit(AFS_SERVER_FL_RESPONDING, &server->flags); in afs_finished_fs_probe() [all …]
|
| /kernel/linux/linux-5.10/fs/afs/ |
| D | fs_probe.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 26 if (!net->live) in afs_schedule_fs_probe() 29 atj = server->probed_at; in afs_schedule_fs_probe() 33 if (timer_reduce(&net->fs_probe_timer, atj)) in afs_schedule_fs_probe() 38 * Handle the completion of a set of probes. 42 bool responded = server->probe.responded; in afs_finished_fs_probe() 44 write_seqlock(&net->fs_lock); in afs_finished_fs_probe() 46 list_add_tail(&server->probe_link, &net->fs_probe_slow); in afs_finished_fs_probe() 48 server->rtt = UINT_MAX; in afs_finished_fs_probe() 49 clear_bit(AFS_SERVER_FL_RESPONDING, &server->flags); in afs_finished_fs_probe() [all …]
|