/linux/drivers/acpi/acpica/ |
H A D | uttrack.c | 4 * Module Name: uttrack - Memory allocation tracking routines (debug only) 14 * Each memory allocation is tracked via a doubly linked list. Each 32 *allocation); 80 * PARAMETERS: size - Size of the allocation 94 struct acpi_debug_mem_block *allocation; in acpi_ut_allocate_and_track() local 105 allocation = in acpi_ut_allocate_and_track() 107 if (!allocation) { in acpi_ut_allocate_and_track() 109 /* Report allocation error */ in acpi_ut_allocate_and_track() 118 acpi_ut_track_allocation(allocation, size, ACPI_MEM_MALLOC, in acpi_ut_allocate_and_track() 121 acpi_os_free(allocation); in acpi_ut_allocate_and_track() 157 struct acpi_debug_mem_block *allocation; acpi_ut_allocate_zeroed_and_track() local 217 acpi_ut_free_and_track(void * allocation,u32 component,const char * module,u32 line) acpi_ut_free_and_track() argument 278 acpi_ut_find_allocation(struct acpi_debug_mem_block * allocation) acpi_ut_find_allocation() argument 331 acpi_ut_track_allocation(struct acpi_debug_mem_block * allocation,acpi_size size,u8 alloc_type,u32 component,const char * module,u32 line) acpi_ut_track_allocation() argument 421 acpi_ut_remove_allocation(struct acpi_debug_mem_block * allocation,u32 component,const char * module,u32 line) acpi_ut_remove_allocation() argument [all...] |
H A D | utalloc.c | 4 * Module Name: utalloc - local memory allocation routines 22 * PARAMETERS: size - Size of the allocation 33 void *allocation; in acpi_os_allocate_zeroed() local 37 allocation = acpi_os_allocate(size); in acpi_os_allocate_zeroed() 38 if (allocation) { in acpi_os_allocate_zeroed() 42 memset(allocation, 0, size); in acpi_os_allocate_zeroed() 45 return (allocation); in acpi_os_allocate_zeroed() 152 /* Memory allocation lists */ in acpi_ut_create_caches() 222 /* Debug only - display leftover memory allocation, if any */ in acpi_ut_delete_caches() 322 * purposefully bypass the (optionally enabled) internal allocation in acpi_ut_initialize_buffer() [all...] |
/linux/drivers/md/dm-vdo/ |
H A D | physical-zone.c | 477 * @allocation: The struct allocation of the data_vio attempting to allocate. 483 static int allocate_and_lock_block(struct allocation *allocation) in allocate_and_lock_block() argument 488 VDO_ASSERT_LOG_ONLY(allocation->lock == NULL, in allocate_and_lock_block() 491 result = vdo_allocate_block(allocation->zone->allocator, &allocation->pbn); in allocate_and_lock_block() 495 result = vdo_attempt_physical_zone_pbn_lock(allocation->zone, allocation->pbn, in allocate_and_lock_block() 496 allocation in allocate_and_lock_block() 541 struct allocation *allocation = &data_vio->allocation; continue_allocating() local [all...] |
H A D | packer.c | 254 * @allocation: The allocation to which the compressed block was written. 257 struct allocation *allocation) in release_compressed_write_waiter() argument 260 .pbn = allocation->pbn, in release_compressed_write_waiter() 261 .zone = allocation->zone, in release_compressed_write_waiter() 265 vdo_share_compressed_write_lock(data_vio, allocation->lock); in release_compressed_write_waiter() 266 update_metadata_for_data_vio_write(data_vio, allocation->lock); in release_compressed_write_waiter() 288 release_compressed_write_waiter(client, &agent->allocation); in finish_compressed_write() 292 release_compressed_write_waiter(agent, &agent->allocation); in finish_compressed_write() 298 struct allocation *allocation = &agent->allocation; handle_compressed_write_error() local [all...] |
H A D | data-vio.c | 455 * writing and has received an allocation, service the read request immediately by copying in attempt_logical_block_lock() 458 * allocation, prevent it from blocking in the packer and wait on it. This is necessary in in attempt_logical_block_lock() 499 memset(&data_vio->allocation, 0, sizeof(data_vio->allocation)); in launch_data_vio() 797 "data_vio data allocation failure"); in initialize_data_vio() 803 "data_vio compressed block allocation failure"); in initialize_data_vio() 810 "data_vio scratch allocation failure"); in initialize_data_vio() 815 "data_vio data bio allocation failure"); in initialize_data_vio() 1252 VDO_ASSERT_LOG_ONLY(data_vio->allocation.lock == NULL, in finish_cleanup() 1253 "complete data_vio has no allocation loc in finish_cleanup() 1379 struct allocation *allocation = &data_vio->allocation; data_vio_allocate_data_block() local 1399 struct allocation *allocation = &data_vio->allocation; release_data_vio_allocation_lock() local [all...] |
H A D | dump.c | 163 wait_on, data_vio, data_vio->allocation.pbn, data_vio->logical.lbn, in dump_vio_waiters() 169 data_vio, data_vio->allocation.pbn, data_vio->logical.lbn, in dump_vio_waiters() 239 data_vio->allocation.pbn, data_vio->logical.lbn, in dump_data_vio() 244 data_vio->allocation.pbn, data_vio->logical.lbn); in dump_data_vio()
|
H A D | data-vio.h | 143 /* Fields supporting allocation of data blocks. */ 144 struct allocation { struct 160 /* The zone which was the start of the current allocation cycle */ argument 209 struct allocation allocation; member 212 * Whether this vio has received an allocation. This field is examined from threads not in 213 * the allocation zone. 320 return (data_vio->allocation.pbn != VDO_ZERO_BLOCK); in data_vio_has_allocation() 425 thread_id_t expected = data_vio->allocation.zone->thread_id; in assert_data_vio_in_allocated_zone() 430 (unsigned long long) data_vio->allocation in assert_data_vio_in_allocated_zone() 161 first_allocation_zoneallocation global() argument 164 wait_for_clean_slaballocation global() argument [all...] |
/linux/Documentation/driver-api/cxl/ |
H A D | index.rst | 49 allocation/dax 50 allocation/page-allocator 51 allocation/reclaim 52 allocation/hugepages.rst
|
/linux/Documentation/mm/ |
H A D | allocation-profiling.rst | 23 When set to "never", memory allocation profiling overhead is minimized and it 30 If compression fails, a warning is issued and memory allocation profiling gets 57 Memory allocation profiling builds off of code tagging, which is a library for 62 To add accounting for an allocation call, we replace it with a macro 66 - calls the real allocation function 71 do not properly belong to the outer allocation context and should be counted 75 Thus, proper usage requires determining which function in an allocation call 82 - switch its allocation call to the _noprof() version, e.g. kmalloc_noprof() 98 - Hook your data structure's init function, like any other allocation function.
|
H A D | balance.rst | 12 be that the caller is willing to fail the allocation without incurring the 14 allocation requests that have order-0 fallback options. In such cases, 17 __GFP_IO allocation requests are made to prevent file system deadlocks. 19 In the absence of non sleepable allocation requests, it seems detrimental 46 with a slight change in the allocation routine, it is possible to reduce 74 probably because all allocation requests are coming from intr context 88 watermark[WMARK_HIGH]. When low_on_memory is set, page allocation requests will
|
H A D | page_owner.rst | 10 When allocation happens, information about allocation such as call stack 15 Although we already have tracepoint for tracing page allocation/free, 30 allocation and free operation. 38 the page allocator hotpath and if not enabled, then allocation is done 40 not affect to allocation performance, especially if the static keys jump 155 -a Sort by memory allocation time. 221 st stacktrace stack trace of the page allocation 234 st stacktrace stack trace of the page allocation
|
H A D | split_page_table_lock.rst | 34 PTE with pointer to its lock, or returns NULL if allocation failed; 66 must be called on PTE table allocation / freeing. 69 allocation: slab uses page->slab_cache for its pages. 76 allocation and pagetable_dtor() on freeing. 79 pmd_free_tlb(), but make sure you cover all PMD table allocation / freeing
|
H A D | numa.rst | 75 selected zone/node cannot satisfy the allocation request. This situation, 87 By default, Linux will attempt to satisfy memory allocation requests from the 90 for the node where the request originates. This is called "local allocation." 95 Local allocation will tend to keep subsequent access to the allocated memory 110 allocation behavior using Linux NUMA memory policy. [see 127 Some kernel allocations do not want or cannot tolerate this allocation fallback 132 A typical model for making such an allocation is to obtain the node id of the 135 the node id returned. When such an allocation fails, the requesting subsystem 138 itself on allocation failure. The kernel profiling subsystem is an example of
|
/linux/Documentation/trace/ |
H A D | events-kmem.rst | 5 The kmem tracing system captures events related to object and page allocation 8 - Slab allocation of small objects of unknown type (kmalloc) 9 - Slab allocation of small objects of known type 10 - Page allocation 17 1. Slab allocation of small objects of unknown type 27 internal fragmented as a result of the allocation pattern. By correlating 29 the allocation sites were. 32 2. Slab allocation of small objects of known type 45 3. Page allocation 54 These four events deal with page allocation an [all...] |
/linux/Documentation/filesystems/ext4/ |
H A D | bigalloc.rst | 15 use clustered allocation, so that each bit in the ext4 block allocation 19 This means that each bit in the block allocation bitmap now addresses 20 256 4k blocks. This shrinks the total size of the block allocation 29 128MiB); however, the minimum allocation unit becomes a cluster, not a
|
/linux/Documentation/driver-api/cxl/allocation/ |
H A D | page-allocator.rst | 7 The kernel page allocator services all general page allocation requests, such 32 available and compatible ZONE for an allocation from the local node first. 34 An example of a `zone incompatibility` is attempting to service an allocation 51 Under the default allocation policy, the page allocator will completely skip 52 :code:`ZONE_MOVABLE` as a valid allocation target. This is because, as of 62 functionally unreachable for direct allocation. As a result, the only way 77 Finally, assuming CXL memory is reachable via the page allocation (i.e. onlined
|
H A D | hugepages.rst | 29 allocation. 32 Page allocation.
|
/linux/tools/testing/memblock/ |
H A D | README | 17 allocation functionalities of memblock. The main data structure of the boot time 58 allocation functions. Tests for each group are defined in dedicated files, as it 82 Some allocation functions clear the memory in the process, so it is required for 85 points to a block of memory allocated via malloc. For each group of allocation 87 at the end of the test run. The structure of a test runner checking allocation 95 (...allocation checks...)
|
/linux/Documentation/admin-guide/mm/ |
H A D | numa_memory_policy.rst | 38 use "local allocation" described below. However, during boot 82 A VMA policy will govern the allocation of pages that back 138 support allocation at fault time--a.k.a lazy allocation--so hugetlbfs 140 Although hugetlbfs segments now support lazy allocation, their support 197 closest to the node where the allocation takes place. 200 This mode specifies that the allocation should be attempted 202 allocation fails, the kernel will search other nodes, in order 209 and the policy is interpreted as local allocation. "Local" 210 allocation polic [all...] |
/linux/Documentation/admin-guide/ |
H A D | numastat.rst | 12 the preferred node and numa_miss on the node where allocation succeeded. 17 incremented on allocation from a node by CPU on the same node. other_node is 18 similar to numa_miss and is incremented on the node where allocation succeeds 53 preferred node. As a result, such allocation will not increase the numa_foreign
|
/linux/Documentation/core-api/ |
H A D | genalloc.rst | 4 There are a number of memory-allocation subsystems in the kernel, each 32 which NUMA node should be used for the allocation of the housekeeping 87 how the allocation functions choose which specific piece of memory to 107 - gen_pool_first_fit_align forces the allocation to have a specific 110 - gen_pool_first_fit_order_align aligns the allocation to the order of the 111 size. A 60-byte allocation will thus be 64-byte aligned, for example. 117 If the indicated memory is not available the allocation fails.
|
/linux/arch/powerpc/platforms/powernv/ |
H A D | Kconfig | 31 bool "Enable runtime allocation of RAM for tracing" 34 Enabling this option allows for runtime allocation of memory (RAM)
|
/linux/include/linux/ |
H A D | dmapool.h | 35 size_t size, size_t align, size_t allocation); 51 struct device *dev, size_t size, size_t align, size_t allocation) in dmam_pool_create() argument
|
/linux/Documentation/translations/zh_CN/core-api/ |
H A D | memory-allocation.rst | 3 :Original: Documentation/core-api/memory-allocation.rst 13 .. _cn_core-api_memory-allocation:
|
/linux/Documentation/arch/arm64/ |
H A D | memory-tagging-extension.rst | 19 allocation tag for each 16-byte granule in the physical address space. 23 the logical tag against the allocation tag and potentially raise an 36 To access the allocation tags, a user process must enable the Tagged 40 ``PROT_MTE`` - Pages allow access to the MTE allocation tags. 42 The allocation tag is set to 0 when such pages are first mapped in the 44 supported and the allocation tags can be shared between processes. 55 ``MADV_FREE`` may have the allocation tags cleared (set to 0) at any 62 the logical and allocation tags occurs on access, there are three 230 The allocation tags for user memory mapped with ``PROT_MTE`` are dumped 303 * Set the allocation ta [all...] |