| /linux/tools/testing/selftests/vfio/lib/ |
| H A D | iova_allocator.c | 25 struct iova_allocator *allocator; in iova_allocator_init() local 32 allocator = malloc(sizeof(*allocator)); in iova_allocator_init() 33 VFIO_ASSERT_NOT_NULL(allocator); in iova_allocator_init() 35 *allocator = (struct iova_allocator){ in iova_allocator_init() 42 return allocator; in iova_allocator_init() 45 void iova_allocator_cleanup(struct iova_allocator *allocator) in iova_allocator_cleanup() argument 47 free(allocator->ranges); in iova_allocator_cleanup() 48 free(allocator); in iova_allocator_cleanup() 51 iova_t iova_allocator_alloc(struct iova_allocator *allocator, size_t size) in iova_allocator_alloc() argument 60 VFIO_ASSERT_LT(allocator->range_idx, allocator->nranges, in iova_allocator_alloc() [all …]
|
| /linux/drivers/md/dm-vdo/ |
| H A D | slab-depot.c | 151 struct list_head *dirty_list = &journal->slab->allocator->dirty_slab_journals; in mark_slab_journal_dirty() 187 read_only = vdo_is_read_only(slab->allocator->depot->vdo); in check_if_slab_drained() 233 static void check_summary_drain_complete(struct block_allocator *allocator) in check_summary_drain_complete() argument 235 if (!vdo_is_state_draining(&allocator->summary_state) || in check_summary_drain_complete() 236 (allocator->summary_write_count > 0)) in check_summary_drain_complete() 239 vdo_finish_operation(&allocator->summary_state, in check_summary_drain_complete() 240 (vdo_is_read_only(allocator->depot->vdo) ? in check_summary_drain_complete() 249 static void notify_summary_waiters(struct block_allocator *allocator, in notify_summary_waiters() argument 252 int result = (vdo_is_read_only(allocator->depot->vdo) ? in notify_summary_waiters() 267 notify_summary_waiters(block->allocator, &block->current_update_waiters); in finish_updating_slab_summary_block() [all …]
|
| H A D | slab-depot.h | 219 struct block_allocator *allocator; member 351 struct block_allocator *allocator; member 538 int __must_check vdo_allocate_block(struct block_allocator *allocator, 541 int vdo_enqueue_clean_slab_waiter(struct block_allocator *allocator, 547 int __must_check vdo_release_block_reference(struct block_allocator *allocator, 552 void vdo_dump_block_allocator(const struct block_allocator *allocator);
|
| H A D | physical-zone.c | 158 struct block_allocator *allocator) in release_pbn_lock_provisional_reference() argument 165 result = vdo_release_block_reference(allocator, locked_pbn); in release_pbn_lock_provisional_reference() 344 zone->allocator = &vdo->depot->allocators[zone_number]; in initialize_zone() 492 result = vdo_allocate_block(allocation->zone->allocator, &allocation->pbn); in allocate_and_lock_block() 562 result = vdo_enqueue_clean_slab_waiter(zone->allocator, in continue_allocating() 634 release_pbn_lock_provisional_reference(lock, locked_pbn, zone->allocator); in vdo_release_physical_zone_pbn_lock() 644 vdo_dump_block_allocator(zone->allocator); in vdo_dump_physical_zone()
|
| /linux/tools/testing/selftests/ublk/ |
| H A D | utils.h | 25 struct allocator { struct 30 static inline int allocator_init(struct allocator *a, unsigned size) in allocator_init() argument 40 static inline void allocator_deinit(struct allocator *a) in allocator_deinit() 47 static inline int allocator_get(struct allocator *a) in allocator_get() 63 static inline void allocator_put(struct allocator *a, int i) in allocator_put() 71 static inline int allocator_get_val(struct allocator *a, int i) in allocator_get_val()
|
| /linux/tools/mm/ |
| H A D | page_owner_sort.c | 39 int allocator; member 170 return l1->allocator - l2->allocator; in compare_allocator() 413 int allocator = 0; in get_allocator() local 416 allocator |= ALLOCATOR_CMA; in get_allocator() 418 allocator |= ALLOCATOR_SLAB; in get_allocator() 430 allocator |= ALLOCATOR_VMALLOC; in get_allocator() 432 if (allocator == 0) in get_allocator() 433 allocator = ALLOCATOR_OTHERS; in get_allocator() 434 return allocator; in get_allocator() 501 list[list_size].allocator = get_allocator(buf, ext_buf); in add_list() [all …]
|
| /linux/Documentation/driver-api/cxl/allocation/ |
| H A D | page-allocator.rst | 7 The kernel page allocator services all general page allocation requests, such 9 allocator based on the selected `Memory Zone` and `NUMA node` the capacity is 13 allocator (as of Linux v6.15) rather than the overall page allocator behavior. 31 As of v6.15, the page allocator attempts to allocate from the highest 39 To simplify this, the page allocator will prefer :code:`ZONE_MOVABLE` over
|
| /linux/include/trace/events/ |
| H A D | xdp.h | 314 __field(const void *, allocator) 321 __entry->allocator = xa->allocator; 327 __entry->allocator 342 __field(const void *, allocator) 351 __entry->allocator = xa->allocator; 360 __entry->allocator,
|
| /linux/drivers/firmware/qcom/ |
| H A D | Kconfig | 18 prompt "TrustZone interface memory allocator mode" 22 Selects the mode of the memory allocator providing memory buffers of 29 Use the generic allocator mode. The memory is page-aligned, non-cachable 36 in the 'Generic' allocator but is also explicitly marked as an SHM Bridge 40 using the TZMem allocator or else the TrustZone will refuse to use them.
|
| /linux/net/core/ |
| H A D | xdp.c | 93 static void mem_allocator_disconnect(void *allocator) in mem_allocator_disconnect() argument 105 if (xa->allocator == allocator) in mem_allocator_disconnect() 273 void *allocator) in __xdp_reg_mem_model() argument 285 if (!allocator) { in __xdp_reg_mem_model() 312 xdp_alloc->allocator = allocator; in __xdp_reg_mem_model() 324 page_pool_use_xdp_mem(allocator, mem_allocator_disconnect, mem); in __xdp_reg_mem_model() 336 enum xdp_mem_type type, void *allocator) in xdp_reg_mem_model() argument 340 xdp_alloc = __xdp_reg_mem_model(mem, type, allocator); in xdp_reg_mem_model() 348 enum xdp_mem_type type, void *allocator) in xdp_rxq_info_reg_mem_model() argument 357 xdp_alloc = __xdp_reg_mem_model(&xdp_rxq->mem, type, allocator); in xdp_rxq_info_reg_mem_model() [all …]
|
| /linux/tools/testing/selftests/vfio/lib/include/libvfio/ |
| H A D | iova_allocator.h | 19 void iova_allocator_cleanup(struct iova_allocator *allocator); 20 iova_t iova_allocator_alloc(struct iova_allocator *allocator, size_t size);
|
| /linux/Documentation/core-api/ |
| H A D | memory-allocation.rst | 10 or you can directly request pages from the page allocator with 33 zones can be used, how hard the allocator should try to find free 91 useful to understand how hard the page allocator will try to satisfy that 113 **default** page allocator behavior is used. That means that not costly 118 * ``GFP_KERNEL | __GFP_NORETRY`` - overrides the default allocator behavior 123 * ``GFP_KERNEL | __GFP_RETRY_MAYFAIL`` - overrides the default allocator 128 * ``GFP_KERNEL | __GFP_NOFAIL`` - overrides the default allocator behavior 132 Selecting memory allocator 158 request pages from the page allocator. The memory allocated by `vmalloc` 170 cache allocator. The cache should be set up with kmem_cache_create() or
|
| H A D | genalloc.rst | 6 implement a new allocator for a specific range of special-purpose memory; 8 driver for that device can certainly write a little allocator to get the 17 Code using this allocator should include <linux/genalloc.h>. The action 28 those used by the page allocator, but it refers to bytes rather than pages. 104 - gen_pool_first_fit is a simple first-fit allocator; this is the default 113 - gen_pool_best_fit, as one would expect, is a simple best-fit allocator.
|
| H A D | boot-time-mm.rst | 8 physical page allocator. 10 A specialized allocator called ``memblock`` performs the
|
| /linux/lib/zstd/decompress/ |
| H A D | zstd_ddict.c | 170 ZSTD_customMem const allocator = { NULL, NULL, NULL }; in ZSTD_createDDict() local 171 return ZSTD_createDDict_advanced(dict, dictSize, ZSTD_dlm_byCopy, ZSTD_dct_auto, allocator); in ZSTD_createDDict() 180 ZSTD_customMem const allocator = { NULL, NULL, NULL }; in ZSTD_createDDict_byReference() local 181 … return ZSTD_createDDict_advanced(dictBuffer, dictSize, ZSTD_dlm_byRef, ZSTD_dct_auto, allocator); in ZSTD_createDDict_byReference()
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-fs-ext4 | 5 Controls whether the multiblock allocator should 14 The multiblock allocator will round up allocation 22 The maximum number of extents the multiblock allocator 29 The minimum number of extents the multiblock allocator 88 inode used by the inode allocator in preference to
|
| H A D | sysfs-class-thermal | 122 The derivative term of the power allocator governor's PID 130 The integral term of the power allocator governor's PID 139 The proportional term of the power allocator governor's PID 149 The proportional term of the power allocator governor's PID 160 above which the integral term of the power allocator 192 the thermal zone. Used by the power allocator governor. For
|
| /linux/Documentation/trace/ |
| H A D | events-kmem.rst | 55 a simple indicator of page allocator activity. Pages may be allocated from 56 the per-CPU allocator (high performance) or the buddy allocator. 58 If pages are allocated directly from the buddy allocator, the 81 In front of the page allocator is a per-cpu page allocator. It exists only
|
| /linux/Documentation/mm/ |
| H A D | physical_memory.rst | 345 ``struct zone`` is the core data structure of the page allocator. A zone 348 The page allocator uses the GFP flags, see :ref:`mm-api-gfp-flags`, specified by 350 memory allocation can allocate memory. The page allocator first allocates memory 351 from that zone, if the page allocator can't allocate the requested amount of 356 from which the page allocator allocates memory is ``ZONE_MOVABLE`` > 363 on systems with many cores. The page allocator in the kernel employs a two-step 365 falling back to the buddy allocator. Pages are transferred between the Per-CPU 366 Pagesets and the global free areas (managed by the buddy allocator) in batches. 368 allocator. 414 allocator uses to prevent allocations which could use ``highmem`` from using [all …]
|
| H A D | page_owner.rst | 41 the page allocator hotpath and if not enabled, then allocation is done 48 most of this code is outside page allocator and its hot path. Building 54 is initialized some time later than that page allocator starts in sparse 255 ator allocator memory allocator for pages 265 ator allocator memory allocator for pages
|
| /linux/Documentation/userspace-api/ |
| H A D | dma-buf-heaps.rst | 14 A heap represents a specific allocator. The Linux kernel currently supports the 48 - The name must not mention implementation details, such as the allocator. The 65 physically contiguous, and backed by the CMA kernel allocator, good
|
| /linux/Documentation/driver-api/cxl/linux/ |
| H A D | overview.rst | 9 normal memory pages via the kernel's page allocator. 91 allocator as "driver managed memory" 96 blocks to the page allocator
|
| /linux/Documentation/driver-api/thermal/ |
| H A D | power_allocator.rst | 2 Power allocator governor tunables 22 The power allocator governor implements a 103 The implementation of the PID controller in the power allocator 202 allocator governor to calculate how much power to give to each cooling 240 a given power set by the power allocator governor to a state that the 263 Limitations of the power allocator governor 266 The power allocator governor's PID controller works best if there is a
|
| /linux/rust/kernel/alloc/ |
| H A D | kbox.rs | 6 use super::allocator::{KVmalloc, Kmalloc, Vmalloc, VmallocPageIter}; 118 pub type KBox<T> = Box<T, super::allocator::Kmalloc>; 130 pub type VBox<T> = Box<T, super::allocator::Vmalloc>; 142 pub type KVBox<T> = Box<T, super::allocator::KVmalloc>;
|
| /linux/Documentation/filesystems/ext4/ |
| H A D | allocators.rst | 18 allocator. When a file is first created, the block allocator 46 directory is created in the root directory, the inode allocator scans
|