Home
last modified time | relevance | path

Searched full:allocation (Results 1 – 25 of 2256) sorted by relevance

12345678910>>...91

/linux/Documentation/core-api/
H A Dmemory-allocation.rst4 Memory Allocation Guide
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
[all …]
H A Dgenalloc.rst4 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/rust/kernel/
H A Dalloc.rs3 //! Implementation of the kernel's memory allocation infrastructure.
21 /// Indicates an allocation error.
73 /// Allocation flags.
84 /// Allow the allocation to be in high memory.
92 /// Users can not sleep and need the allocation to succeed.
103 /// The same as [`GFP_KERNEL`], except the allocation is accounted to kmemcg.
111 /// Suppresses allocation failure reports.
156 /// - A memory allocation returned from an allocator must remain valid until it is explicitly freed.
158 /// - Any pointer to a valid memory allocation must be valid to be passed to any other [`Allocator`]
190 // new memory allocation
[all...]
/linux/tools/perf/pmu-events/arch/x86/sapphirerapids/
H A Duncore-cxl.json12 "BriefDescription": "Number of Allocation to Mem Rxx AGF 0",
22 "BriefDescription": "Number of Allocation to Cache Req AGF0",
32 "BriefDescription": "Number of Allocation to Cache Rsp AGF",
42 "BriefDescription": "Number of Allocation to Cache Data AGF",
52 "BriefDescription": "Number of Allocation to Cache Rsp AGF",
62 "BriefDescription": "Number of Allocation to Cache Req AGF 1",
72 "BriefDescription": "Number of Allocation to Mem Data AGF",
252 "BriefDescription": "Number of Allocation to Cache Data Packing buffer",
262 "BriefDescription": "Number of Allocation to Cache Req Packing buffer",
272 "BriefDescription": "Number of Allocation to Cache Rsp Packing buffer",
[all …]
/linux/tools/perf/pmu-events/arch/x86/emeraldrapids/
H A Duncore-cxl.json12 "BriefDescription": "Number of Allocation to Mem Rxx AGF 0",
22 "BriefDescription": "Number of Allocation to Cache Req AGF0",
32 "BriefDescription": "Number of Allocation to Cache Rsp AGF",
42 "BriefDescription": "Number of Allocation to Cache Data AGF",
52 "BriefDescription": "Number of Allocation to Cache Rsp AGF",
62 "BriefDescription": "Number of Allocation to Cache Req AGF 1",
72 "BriefDescription": "Number of Allocation to Mem Data AGF",
252 "BriefDescription": "Number of Allocation to Cache Data Packing buffer",
262 "BriefDescription": "Number of Allocation to Cache Req Packing buffer",
272 "BriefDescription": "Number of Allocation to Cache Rsp Packing buffer",
[all …]
/linux/Documentation/mm/
H A Dallocation-profiling.rst4 MEMORY ALLOCATION PROFILING
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
52 This reflects a static boot-time configuration of how page allocation tags are
63 by module name, function, file, line number, accuracy, or allocation size limits.
83 Memory allocation profiling builds off of code tagging, which is a library for
88 To add accounting for an allocation call, we replace it with a macro
92 - calls the real allocation function
97 do not properly belong to the outer allocation context and should be counted
101 Thus, proper usage requires determining which function in an allocation call
[all …]
H A Dpage_frags.rst11 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.
/linux/Documentation/trace/
H A Devents-kmem.rst5 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/tools/include/linux/
H A Dgfp_types.h10 * typedef gfp_t - Memory allocation flags.
14 * the underlying memory allocation function. Not every GFP flag is
130 * pages being in one zone (fair zone allocation policy).
132 * %__GFP_HARDWALL enforces the cpuset memory allocation policy.
134 * %__GFP_THISNODE forces the allocation to be satisfied from the requested
137 * %__GFP_ACCOUNT causes the allocation to be accounted to kmemcg.
157 * the caller guarantees the allocation will allow more memory to be freed
195 * canonical example is THP allocation where a fallback is cheap but
231 * If the allocation does fail, and the caller is in a position to
236 * cannot handle allocation failure
[all...]
/linux/sound/core/
H A Dpcm_memory.c31 MODULE_PARM_DESC(max_alloc_per_card, "Max total allocation bytes per card.");
71 /* the actual allocation size might be bigger than requested, in do_alloc_pages()
77 /* take back on allocation failure */ in do_alloc_pages()
313 * snd_pcm_lib_preallocate_pages - pre-allocation for the given DMA type
317 * @size: the requested pre-allocation size in bytes
318 * @max: the max. allowed pre-allocation size
320 * Do pre-allocation for the given DMA buffer type.
331 …* snd_pcm_lib_preallocate_pages_for_all - pre-allocation for continuous memory type (all substream…
335 * @size: the requested pre-allocation size in bytes
336 * @max: the max. allowed pre-allocation size
[all …]
/linux/fs/jfs/
H A Djfs_imap.h21 #define MAXAG 128 /* maximum number of allocation groups */
23 #define AMAPSIZE 512 /* bytes in the IAG allocation maps */
39 * inode allocation map:
41 * inode allocation map consists of
43 * . inode allocation group pages (per 4096 inodes)
47 * inode allocation group page (per 4096 inodes of an AG)
51 __le32 iagnum; /* 4: inode allocation group number */
73 /* allocation bit map: 1 bit per inode (0 - free, 1 - allocated) */
74 __le32 wmap[EXTSPERIAG]; /* 512: working allocation map */
75 __le32 pmap[EXTSPERIAG]; /* 512: persistent allocation map */
[all …]
/linux/fs/xfs/libxfs/
H A Dxfs_alloc.h40 xfs_agnumber_t agno; /* allocation group number */
41 xfs_agblock_t agbno; /* allocation group-relative block # */
54 char wasdel; /* set if allocation was prev delayed */
55 char wasfromfl; /* set if allocation is from freelist */
64 #define XFS_ALLOC_USERDATA (1 << 0)/* allocation is for user data*/
103 * space matching the requirements in that AG, then the allocation will fail.
109 * viable candidates in the AG, then fail the allocation.
116 * then the allocation fails.
122 * Best effort full filesystem allocation scan.
124 * Locality aware allocation will be attempted in the initial AG, but on failure
[all …]
H A Dxfs_alloc.c89 * fdblocks to ensure user allocation does not overcommit the space the
108 * aside a few blocks which will not be reserved in delayed allocation.
122 * allocation maximum size to the size the AG. However, we cannot use all the
319 xfs_alloc_arg_t *args, /* allocation argument structure */ in xfs_alloc_compute_aligned()
391 * for contiguous allocation from the remaining free space if the file in xfs_alloc_compute_diff()
439 xfs_alloc_arg_t *args) /* allocation argument structure */ in xfs_alloc_fix_len()
530 * that is passed to us. This should be done at the end of any allocation or
765 * allocation after the AGF has been read in.
873 * Read in the allocation group free block array.
920 * Block allocation algorithm and data structures.
[all …]
/linux/include/linux/
H A Dslab.h161 * the locks at page-allocation time, as is done in __i915_request_ctor(),
366 * sheaf is allocated and filled from slab(s) using bulk allocation.
367 * Otherwise the allocation falls back to the normal operation
378 * Bulk allocation and free operations also try to use the cpu sheaves
562 * Documentation/core-api/memory-allocation.rst for more details.
565 * initial memory allocation, every subsequent call to this API for the same
566 * memory allocation is flagged with __GFP_ZERO. Otherwise, it is possible that
570 * size of an allocation (but not the exact size it was allocated with) and
579 * Otherwise, the original allocation size 'orig_size' could be used to
786 * Figure out which kmalloc slab an allocation of a certain size
[all …]
/linux/Documentation/filesystems/ext4/
H A Dbigalloc.rst15 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/tools/perf/pmu-events/arch/x86/broadwellx/
H A Dfrontend.json15 "PublicDescription": "This event counts Decode Stream Buffer (DSB)-to-MITE switch true penalty cycles. These cycles do not include uops routed through because of the switch itself, for example, when Instruction Decode Queue (IDQ) pre-allocation is unavailable, or Instruction Decode Queue (IDQ) is full. SBD-to-MITE switch true penalty cycles happen after the merge mux (MM) receives Decode Stream Buffer (DSB) Sync-indication until receiving the first MITE uop. MM is placed before Instruction Decode Queue (IDQ) to merge uops being fed from the MITE and Decode Stream Buffer (DSB) paths. Decode Stream Buffer (DSB) inserts the Sync-indication whenever a Decode Stream Buffer (DSB)-to-MITE switch occurs. Penalty: A Decode Stream Buffer (DSB) hit followed by a Decode Stream Buffer (DSB) miss can cost up to six cycles in which no uops are delivered to the IDQ. Most often, such switches from the Decode Stream Buffer (DSB) to the legacy pipeline cost 02 cycles.",
211 "BriefDescription": "Uops not delivered to Resource Allocation Table (RAT) per thread when backend of the machine is not stalled",
215 "PublicDescription": "This event counts the number of uops not delivered to Resource Allocation Table (RAT) per thread adding 4 x when Resource Allocation Table (RAT) is not stalled and Instruction Decode Queue (IDQ) delivers x uops to Resource Allocation Table (RAT) (where x belongs to {0,1,2,3}). Counting does not cover cases when: a. IDQ-Resource Allocation Table (RAT) pipe serves the other thread; b. Resource Allocation Table (RAT) is stalled for the thread (including uop drops and clear BE conditions); c. Instruction Decode Queue (IDQ) delivers four uops.",
220 "BriefDescription": "Cycles per thread when 4 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled",
225 "PublicDescription": "This event counts, on the per-thread basis, cycles when no uops are delivered to Resource Allocation Table (RAT). IDQ_Uops_Not_Delivered.core =4.",
230 "BriefDescription": "Counts cycles FE delivered 4 uops or Resource Allocation Tabl
[all...]
/linux/tools/perf/pmu-events/arch/x86/broadwellde/
H A Dfrontend.json15 "PublicDescription": "This event counts Decode Stream Buffer (DSB)-to-MITE switch true penalty cycles. These cycles do not include uops routed through because of the switch itself, for example, when Instruction Decode Queue (IDQ) pre-allocation is unavailable, or Instruction Decode Queue (IDQ) is full. SBD-to-MITE switch true penalty cycles happen after the merge mux (MM) receives Decode Stream Buffer (DSB) Sync-indication until receiving the first MITE uop. MM is placed before Instruction Decode Queue (IDQ) to merge uops being fed from the MITE and Decode Stream Buffer (DSB) paths. Decode Stream Buffer (DSB) inserts the Sync-indication whenever a Decode Stream Buffer (DSB)-to-MITE switch occurs. Penalty: A Decode Stream Buffer (DSB) hit followed by a Decode Stream Buffer (DSB) miss can cost up to six cycles in which no uops are delivered to the IDQ. Most often, such switches from the Decode Stream Buffer (DSB) to the legacy pipeline cost 02 cycles.",
211 "BriefDescription": "Uops not delivered to Resource Allocation Table (RAT) per thread when backend of the machine is not stalled",
215 "PublicDescription": "This event counts the number of uops not delivered to Resource Allocation Table (RAT) per thread adding 4 x when Resource Allocation Table (RAT) is not stalled and Instruction Decode Queue (IDQ) delivers x uops to Resource Allocation Table (RAT) (where x belongs to {0,1,2,3}). Counting does not cover cases when: a. IDQ-Resource Allocation Table (RAT) pipe serves the other thread; b. Resource Allocation Table (RAT) is stalled for the thread (including uop drops and clear BE conditions); c. Instruction Decode Queue (IDQ) delivers four uops.",
220 "BriefDescription": "Cycles per thread when 4 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled",
225 "PublicDescription": "This event counts, on the per-thread basis, cycles when no uops are delivered to Resource Allocation Table (RAT). IDQ_Uops_Not_Delivered.core =4.",
230 "BriefDescription": "Counts cycles FE delivered 4 uops or Resource Allocation Tabl
[all...]
/linux/tools/perf/pmu-events/arch/x86/broadwell/
H A Dfrontend.json15 "PublicDescription": "This event counts Decode Stream Buffer (DSB)-to-MITE switch true penalty cycles. These cycles do not include uops routed through because of the switch itself, for example, when Instruction Decode Queue (IDQ) pre-allocation is unavailable, or Instruction Decode Queue (IDQ) is full. SBD-to-MITE switch true penalty cycles happen after the merge mux (MM) receives Decode Stream Buffer (DSB) Sync-indication until receiving the first MITE uop. MM is placed before Instruction Decode Queue (IDQ) to merge uops being fed from the MITE and Decode Stream Buffer (DSB) paths. Decode Stream Buffer (DSB) inserts the Sync-indication whenever a Decode Stream Buffer (DSB)-to-MITE switch occurs. Penalty: A Decode Stream Buffer (DSB) hit followed by a Decode Stream Buffer (DSB) miss can cost up to six cycles in which no uops are delivered to the IDQ. Most often, such switches from the Decode Stream Buffer (DSB) to the legacy pipeline cost 02 cycles.",
211 "BriefDescription": "Uops not delivered to Resource Allocation Table (RAT) per thread when backend of the machine is not stalled",
215 "PublicDescription": "This event counts the number of uops not delivered to Resource Allocation Table (RAT) per thread adding 4 x when Resource Allocation Table (RAT) is not stalled and Instruction Decode Queue (IDQ) delivers x uops to Resource Allocation Table (RAT) (where x belongs to {0,1,2,3}). Counting does not cover cases when: a. IDQ-Resource Allocation Table (RAT) pipe serves the other thread; b. Resource Allocation Table (RAT) is stalled for the thread (including uop drops and clear BE conditions); c. Instruction Decode Queue (IDQ) delivers four uops.",
220 "BriefDescription": "Cycles per thread when 4 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled",
225 "PublicDescription": "This event counts, on the per-thread basis, cycles when no uops are delivered to Resource Allocation Table (RAT). IDQ_Uops_Not_Delivered.core =4.",
230 "BriefDescription": "Counts cycles FE delivered 4 uops or Resource Allocation Tabl
[all...]
/linux/rust/kernel/alloc/
H A Dallocator.rs5 //! Documentation for the kernel's memory allocators can found in the "Memory Allocation Guide"
9 //! Reference: <https://docs.kernel.org/core-api/memory-allocation.html>
56 /// failure. This allocator is typically used when the size for the requested allocation is not
92 /// - it accepts any pointer to a valid memory allocation allocated by this function. in call()
151 // - passing a pointer to a valid memory allocation is OK, in realloc()
172 /// Convert a pointer to a [`Vmalloc`] allocation to a [`page::BorrowedPage`].
191 /// // `ptr` is a valid pointer to a `Vmalloc` allocation. in to_page()
203 /// - `ptr` must be a valid pointer to a [`Vmalloc`] allocation. in to_page()
215 // this function `ptr` is a valid pointer to a `Vmalloc` allocation.
224 // - passing a pointer to a valid memory allocation i in realloc()
[all...]
/linux/Documentation/userspace-api/
H A Ddma-buf-alloc-exchange.rst180 described as having a height of 1080, with the memory allocation for each buffer
228 Allocation chapter
233 buffer-allocation interface available at either kernel or userspace level, the
234 client makes an arbitrary choice of allocation interface such as Vulkan, GBM, or
237 Each allocation request must take, at a minimum: the pixel format, a list of
239 this set of properties in different ways, such as allowing allocation in more
244 allocation, any padding required, and further properties of the underlying
250 After allocation, the client must query the allocator to determine the actual
272 memory. For this reason, each import and allocation API must provide a separate
314 In the latter case, the allocation is as discussed above, being provided with a
[all …]
/linux/drivers/android/binder/range_alloc/
H A Dmod.rs15 Allocated(Allocation<T>),
50 fn allocate<T>(self, data: Option<T>) -> Allocation<T> { in allocate()
51 Allocation { in allocate()
58 struct Allocation<T> { struct
63 impl<T> Allocation<T> { argument
152 /// Try to reserve a new buffer, using the provided allocation if necessary.
241 /// Called when an allocation is no longer in use by the kernel.
253 /// Called when the kernel starts using an allocation.
299 // If the user supplied an allocation that we did not end up using, then we return it here.
306 /// Returned by `reserve_new` to request the caller to make an allocation before calling the method
/linux/rust/kernel/pci/
H A Dirq.rs16 /// IRQ type flags for PCI interrupt allocation.
48 /// Set of IRQ types that can be used for PCI interrupt allocation.
78 /// A resolved IRQ vector from a PCI interrupt vector allocation.
104 /// Returns the interrupt type the PCI core selected for this vector's allocation.
118 /// An allocation of PCI interrupt vectors for a device.
120 /// This type owns the vector allocation; dropping it frees the vectors. IRQ handlers borrow from
125 /// `dev` has an allocation of `len` interrupt vectors.
141 /// Returns the interrupt type the PCI core selected for this allocation.
180 /// The allocation will use MSI-X, MSI, or INTx interrupts based on the `irq_types`
/linux/drivers/gpu/drm/amd/display/dc/link/protocols/
H A Dlink_dp_dpia_bw.c27 // USB4 DPIA BANDWIDTH ALLOCATION LOGIC
47 * - Is BW Allocation Support Mode enabled on DP-Tx?
148 * granuality, Driver_ID, CM_Group, & populate the BW allocation structs
236 DC_LOG_DEBUG("%s: link[%d] DPTX BW allocation mode enabled", __func__, link->link_index); in link_dpia_enable_usb4_dp_bw_alloc_mode()
254 * The CM releases the preallocation only when the allocation is complete. in link_dpia_enable_usb4_dp_bw_alloc_mode()
255 * Perform a zero allocation to make the CM release the preallocation in link_dpia_enable_usb4_dp_bw_alloc_mode()
261 …DC_LOG_DEBUG("%s: link[%d] failed to enable DPTX BW allocation mode", __func__, link->link_index); in link_dpia_enable_usb4_dp_bw_alloc_mode()
267 * Handle DP BW allocation status register
277 DC_LOG_DEBUG("%s: BW Allocation request succeeded on link(%d)", in link_dp_dpia_handle_bw_alloc_status()
282 DC_LOG_DEBUG("%s: BW Allocation request failed on link(%d) allocated/estimated BW=%d", in link_dp_dpia_handle_bw_alloc_status()
[all …]
/linux/tools/perf/pmu-events/arch/arm64/fujitsu/a64fx/
H A Dother.json153 …"PublicDescription": "This event counts allocation type prefetch injection requests to L1D cache g…
156 …"BriefDescription": "This event counts allocation type prefetch injection requests to L1D cache ge…
159 …"PublicDescription": "This event counts non-allocation type prefetch injection requests to L1D cac…
162 …"BriefDescription": "This event counts non-allocation type prefetch injection requests to L1D cach…
171 …"PublicDescription": "This event counts allocation type prefetch injection requests to L2 cache ge…
174 …"BriefDescription": "This event counts allocation type prefetch injection requests to L2 cache gen…
177 …"PublicDescription": "This event counts non-allocation type prefetch injection requests to L2 cach…
180 …"BriefDescription": "This event counts non-allocation type prefetch injection requests to L2 cache…
/linux/Documentation/admin-guide/mm/
H A Dtranshuge.rst76 allocation failures to be noticeable from userland. It allows paging
151 given allocation.
159 guaranteed, but it may be more likely in case the allocation is for a
172 allocation failure and directly reclaim pages and compact
208 allocation library) may want to know the size (in bytes) of a
293 allocation failure to throttle the next allocation attempt::
390 allocation policy for the internal shmem mount by using the kernel parameter
396 hugepage allocation policy for the tmpfs mount by using the kernel parameter
439 The THP allocation policy for tmpfs mounts can be adjusted using the mount
445 huge pages if the PMD-sized huge page allocation fails;
[all …]

12345678910>>...91