| /linux/drivers/acpi/acpica/ |
| H A D | uttrack.c | 32 *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() 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() 135 return ((void *)&allocation->user_space); in acpi_ut_allocate_and_track() 157 struct acpi_debug_mem_block *allocation; in acpi_ut_allocate_zeroed_and_track() local 168 allocation = in acpi_ut_allocate_zeroed_and_track() 171 if (!allocation) { in acpi_ut_allocate_zeroed_and_track() [all …]
|
| H A D | utalloc.c | 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()
|
| /linux/drivers/md/dm-vdo/ |
| H A D | physical-zone.c | 484 static int allocate_and_lock_block(struct allocation *allocation) in allocate_and_lock_block() argument 489 VDO_ASSERT_LOG_ONLY(allocation->lock == NULL, in allocate_and_lock_block() 492 result = vdo_allocate_block(allocation->zone->allocator, &allocation->pbn); in allocate_and_lock_block() 496 result = vdo_attempt_physical_zone_pbn_lock(allocation->zone, allocation->pbn, in allocate_and_lock_block() 497 allocation->write_lock_type, &lock); in allocate_and_lock_block() 505 (unsigned long long) allocation->pbn, in allocate_and_lock_block() 511 allocation->lock = lock; in allocate_and_lock_block() 526 data_vio->allocation.wait_for_clean_slab = false; in retry_allocation() 527 data_vio->allocation.first_allocation_zone = data_vio->allocation.zone->zone_number; in retry_allocation() 542 struct allocation *allocation = &data_vio->allocation; in continue_allocating() local [all …]
|
| H A D | packer.c | 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; in handle_compressed_write_error() local 301 if (vdo_requeue_completion_if_needed(completion, allocation->zone->thread_id)) in handle_compressed_write_error() 306 (unsigned long long) allocation->pbn); in handle_compressed_write_error() [all …]
|
| H A D | data-vio.c | 504 memset(&data_vio->allocation, 0, sizeof(data_vio->allocation)); in launch_data_vio() 1257 VDO_ASSERT_LOG_ONLY(data_vio->allocation.lock == NULL, in finish_cleanup() 1340 (unsigned long long) data_vio->allocation.pbn, in enter_read_only_mode() 1385 struct allocation *allocation = &data_vio->allocation; in data_vio_allocate_data_block() local 1387 VDO_ASSERT_LOG_ONLY((allocation->pbn == VDO_ZERO_BLOCK), in data_vio_allocate_data_block() 1389 allocation->write_lock_type = write_lock_type; in data_vio_allocate_data_block() 1390 allocation->zone = vdo_get_next_allocation_zone(data_vio->logical.zone); in data_vio_allocate_data_block() 1391 allocation->first_allocation_zone = allocation->zone->zone_number; in data_vio_allocate_data_block() 1406 struct allocation *allocation = &data_vio->allocation; in release_data_vio_allocation_lock() local 1407 physical_block_number_t locked_pbn = allocation->pbn; in release_data_vio_allocation_lock() [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()
|
| /linux/Documentation/core-api/ |
| H A D | memory-allocation.rst | 7 Linux provides a variety of APIs for memory allocation. You can 14 Most of the memory allocation APIs use GFP flags to express how that 16 pages", the underlying memory allocation function. 18 Diversity of the allocation APIs combined with the numerous GFP flags 26 Of course there are cases when other allocation APIs and different GFP 45 * If the allocation is performed from an atomic context, e.g interrupt 48 ``GFP_NOWAIT`` allocation is likely to fail. Users of this flag need 52 will be stressed unless allocation succeeds, you may use ``GFP_ATOMIC``. 67 example may be a hardware allocation that maps data directly into 94 * ``GFP_KERNEL & ~__GFP_RECLAIM`` - optimistic allocation without _any_ [all …]
|
| 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/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 and freeing. mm_page_alloc is [all …]
|
| /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 67 Memory allocation profiling builds off of code tagging, which is a library for 72 To add accounting for an allocation call, we replace it with a macro 76 - calls the real allocation function 81 do not properly belong to the outer allocation context and should be counted 85 Thus, proper usage requires determining which function in an allocation call 92 - switch its allocation call to the _noprof() version, e.g. kmalloc_noprof() 108 - Hook your data structure's init function, like any other allocation function.
|
| H A D | page_frags.rst | 11 simple allocation framework for page fragments. This is used by the 17 cache is needed. This provides a central point for the fragment allocation 20 which can be expensive at allocation time. However due to the nature of 23 to be disabled when executing the fragment allocation. 26 allocation. The netdev_alloc_cache is used by callers making use of the 41 avoid calling get_page per allocation.
|
| 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
|
| 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. It's also possible to show only a numeric 41 the page allocator hotpath and if not enabled, then allocation is done 43 not affect to allocation performance, especially if the static keys jump 185 -a Sort by memory allocation time. 251 st stacktrace stack trace of the page allocation 264 st stacktrace stack trace of the page allocation
|
| /linux/drivers/android/binder/range_alloc/ |
| H A D | array.rs | 248 let DescriptorState::Allocated(allocation) = &mut range.state else { in reserve_existing() 252 let data = allocation.take(); in reserve_existing() 253 let debug_id = allocation.reservation.debug_id; in reserve_existing() 254 range.state = DescriptorState::Reserved(allocation.reservation.clone()); in reserve_existing() 260 if let DescriptorState::Allocated(allocation) = &mut range.state { in take_for_each() 264 allocation.reservation.debug_id, in take_for_each() 265 allocation.data.take(), in take_for_each()
|
| /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/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 policy can be viewed as a Preferred policy that 211 starts at the node containing the cpu where the allocation [all …]
|
| /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/ |
| 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/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 46 Finally, assuming CXL memory is reachable via the page allocation (i.e. onlined
|
| H A D | hugepages.rst | 29 allocation. 32 Page allocation.
|
| /linux/drivers/soundwire/ |
| H A D | Makefile | 11 soundwire-generic-allocation-objs := generic_bandwidth_allocation.o 12 obj-$(CONFIG_SOUNDWIRE_GENERIC_ALLOCATION) += soundwire-generic-allocation.o
|
| /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 tag on the destination address. [all …]
|
| /linux/arch/powerpc/platforms/powernv/ |
| H A D | Kconfig | 32 bool "Enable runtime allocation of RAM for tracing" 35 Enabling this option allows for runtime allocation of memory (RAM)
|
| /linux/tools/testing/selftests/cgroup/ |
| H A D | test_zswap.c | 467 void *allocation; in no_kmem_bypass_child() local 469 allocation = malloc(values->target_alloc_bytes); in no_kmem_bypass_child() 470 if (!allocation) { in no_kmem_bypass_child() 475 ((char *)allocation)[i] = 'a'; in no_kmem_bypass_child() 478 free(allocation); in no_kmem_bypass_child()
|
| /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:
|