Home
last modified time | relevance | path

Searched full:alignment (Results 1 – 25 of 3980) sorted by relevance

12345678910>>...160

/kernel/linux/linux-6.6/fs/btrfs/tests/
Dfree-space-tree-tests.c154 u32 alignment) in test_empty_block_group() argument
168 u32 alignment) in test_remove_all() argument
189 u32 alignment) in test_remove_beginning() argument
192 {cache->start + alignment, cache->length - alignment}, in test_remove_beginning()
197 cache->start, alignment); in test_remove_beginning()
212 u32 alignment) in test_remove_end() argument
215 {cache->start, cache->length - alignment}, in test_remove_end()
220 cache->start + cache->length - alignment, in test_remove_end()
221 alignment); in test_remove_end()
235 u32 alignment) in test_remove_middle() argument
[all …]
/kernel/linux/linux-5.10/fs/btrfs/tests/
Dfree-space-tree-tests.c153 u32 alignment) in test_empty_block_group() argument
167 u32 alignment) in test_remove_all() argument
188 u32 alignment) in test_remove_beginning() argument
191 {cache->start + alignment, cache->length - alignment}, in test_remove_beginning()
196 cache->start, alignment); in test_remove_beginning()
211 u32 alignment) in test_remove_end() argument
214 {cache->start, cache->length - alignment}, in test_remove_end()
219 cache->start + cache->length - alignment, in test_remove_end()
220 alignment); in test_remove_end()
234 u32 alignment) in test_remove_middle() argument
[all …]
/kernel/linux/linux-6.6/tools/testing/selftests/exec/
Dload_address.c13 unsigned long long alignment; member
28 stats->alignment = 0; in ExtractStatistics()
43 if (align > stats->alignment) in ExtractStatistics()
44 stats->alignment = align; in ExtractStatistics()
77 ksft_print_msg("load_address=%#llx alignment=%#llx\n", in main()
78 extracted.load_address, extracted.alignment); in main()
89 /* Did we find an alignment? */ in main()
90 ksft_test_result(extracted.alignment != 0, in main()
91 "Alignment%s found\n", extracted.alignment ? "" : " NOT"); in main()
93 /* Is the alignment sane? */ in main()
[all …]
/kernel/linux/linux-5.10/tools/testing/selftests/exec/
Dload_address.c11 unsigned long long alignment; member
25 stats->alignment = 0; in ExtractStatistics()
31 if (info->dlpi_phdr[i].p_align > stats->alignment) in ExtractStatistics()
32 stats->alignment = info->dlpi_phdr[i].p_align; in ExtractStatistics()
50 if (extracted.alignment == 0) { in main()
51 fprintf(stderr, "No alignment found\n"); in main()
53 } else if (extracted.alignment & (extracted.alignment - 1)) { in main()
54 fprintf(stderr, "Alignment is not a power of 2\n"); in main()
58 misalign = extracted.load_address & (extracted.alignment - 1); in main()
60 printf("alignment = %llu, load_address = %llu\n", in main()
[all …]
/kernel/linux/linux-6.6/drivers/misc/
Dpci_endpoint_test.c121 size_t alignment; member
127 size_t alignment; member
335 struct pci_endpoint_test_xfer_param *param, size_t alignment) in pci_endpoint_test_validate_xfer_params() argument
342 if (param->size > SIZE_MAX - alignment) { in pci_endpoint_test_validate_xfer_params()
369 size_t alignment = test->alignment; in pci_endpoint_test_copy() local
381 err = pci_endpoint_test_validate_xfer_params(dev, &param, alignment); in pci_endpoint_test_copy()
396 orig_src_addr = kzalloc(size + alignment, GFP_KERNEL); in pci_endpoint_test_copy()
403 get_random_bytes(orig_src_addr, size + alignment); in pci_endpoint_test_copy()
405 size + alignment, DMA_TO_DEVICE); in pci_endpoint_test_copy()
412 if (alignment && !IS_ALIGNED(orig_src_phys_addr, alignment)) { in pci_endpoint_test_copy()
[all …]
/kernel/linux/linux-5.10/drivers/misc/
Dpci_endpoint_test.c121 size_t alignment; member
127 size_t alignment; member
339 struct pci_endpoint_test_xfer_param *param, size_t alignment) in pci_endpoint_test_validate_xfer_params() argument
346 if (param->size > SIZE_MAX - alignment) { in pci_endpoint_test_validate_xfer_params()
373 size_t alignment = test->alignment; in pci_endpoint_test_copy() local
385 err = pci_endpoint_test_validate_xfer_params(dev, &param, alignment); in pci_endpoint_test_copy()
400 orig_src_addr = kzalloc(size + alignment, GFP_KERNEL); in pci_endpoint_test_copy()
407 get_random_bytes(orig_src_addr, size + alignment); in pci_endpoint_test_copy()
409 size + alignment, DMA_TO_DEVICE); in pci_endpoint_test_copy()
416 if (alignment && !IS_ALIGNED(orig_src_phys_addr, alignment)) { in pci_endpoint_test_copy()
[all …]
/kernel/linux/linux-5.10/arch/mips/include/asm/octeon/
Dcvmx-bootmem.h41 /* minimum alignment of bootmem alloced blocks */
158 * @alignment: Alignment required - must be power of 2
162 uint64_t alignment);
181 * @alignment: Alignment required - must be power of 2
186 extern void *cvmx_bootmem_alloc_named(uint64_t size, uint64_t alignment,
200 * @align: Alignment of memory to be allocated. (must be a power of 2)
221 * @param align Alignment of memory to be allocated. (must be a power of 2)
251 * (optional) requested address and alignment.
261 * @alignment: Requested alignment of the block. If this alignment
263 * power of 2. (Note: Alignment of
[all …]
/kernel/linux/linux-6.6/arch/mips/include/asm/octeon/
Dcvmx-bootmem.h41 /* minimum alignment of bootmem alloced blocks */
158 * @alignment: Alignment required - must be power of 2
162 uint64_t alignment);
181 * @alignment: Alignment required - must be power of 2
186 extern void *cvmx_bootmem_alloc_named(uint64_t size, uint64_t alignment,
200 * @align: Alignment of memory to be allocated. (must be a power of 2)
221 * @param align Alignment of memory to be allocated. (must be a power of 2)
251 * (optional) requested address and alignment.
261 * @alignment: Requested alignment of the block. If this alignment
263 * power of 2. (Note: Alignment of
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/
Di915_gem_gtt.c164 * @alignment: required alignment of starting offset, may be 0 but
175 * is can insert the node. The hole address is aligned to @alignment and
194 u64 size, u64 alignment, unsigned long color, in i915_gem_gtt_insert() argument
205 GEM_BUG_ON(alignment && !is_power_of_2(alignment)); in i915_gem_gtt_insert()
206 GEM_BUG_ON(alignment && !IS_ALIGNED(alignment, I915_GTT_MIN_ALIGNMENT)); in i915_gem_gtt_insert()
216 if (unlikely(round_up(start, alignment) > round_down(end - size, alignment))) in i915_gem_gtt_insert()
226 * so we know that we always have a minimum alignment of 4096. in i915_gem_gtt_insert()
228 * with zero alignment, so where possible use the optimal in i915_gem_gtt_insert()
232 if (alignment <= I915_GTT_MIN_ALIGNMENT) in i915_gem_gtt_insert()
233 alignment = 0; in i915_gem_gtt_insert()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/
Di915_gem_gtt.c162 * @alignment: required alignment of starting offset, may be 0 but
173 * is can insert the node. The hole address is aligned to @alignment and
193 u64 size, u64 alignment, unsigned long color, in i915_gem_gtt_insert() argument
204 GEM_BUG_ON(alignment && !is_power_of_2(alignment)); in i915_gem_gtt_insert()
205 GEM_BUG_ON(alignment && !IS_ALIGNED(alignment, I915_GTT_MIN_ALIGNMENT)); in i915_gem_gtt_insert()
215 if (unlikely(round_up(start, alignment) > round_down(end - size, alignment))) in i915_gem_gtt_insert()
225 * so we know that we always have a minimum alignment of 4096. in i915_gem_gtt_insert()
227 * with zero alignment, so where possible use the optimal in i915_gem_gtt_insert()
231 if (alignment <= I915_GTT_MIN_ALIGNMENT) in i915_gem_gtt_insert()
232 alignment = 0; in i915_gem_gtt_insert()
[all …]
/kernel/linux/linux-6.6/Documentation/ABI/testing/
Dsysfs-bus-iio-dma-buffer5 DMA buffers tend to have a alignment requirement for the
6 buffers. If this alignment requirement is not met samples might
9 This property reports the alignment requirements in bytes.
13 The alignment requirements in number of sample sets will depend
15 that the alignment requirement in samples sets might change
17 the alignment requirement reported in bytes by this property
/kernel/linux/linux-5.10/Documentation/ABI/testing/
Dsysfs-bus-iio-dma-buffer5 DMA buffers tend to have a alignment requirement for the
6 buffers. If this alignment requirement is not met samples might
9 This property reports the alignment requirements in bytes.
13 The alignment requirements in number of sample sets will depend
15 that the alignment requirement in samples sets might change
17 the alignment requirement reported in bytes by this property
/kernel/linux/linux-5.10/mm/
Dcma.c173 phys_addr_t alignment; in cma_init_reserved_mem() local
184 /* ensure minimal alignment required by mm core */ in cma_init_reserved_mem()
185 alignment = PAGE_SIZE << in cma_init_reserved_mem()
188 /* alignment should be aligned with order_per_bit */ in cma_init_reserved_mem()
189 if (!IS_ALIGNED(alignment >> PAGE_SHIFT, 1 << order_per_bit)) in cma_init_reserved_mem()
192 if (ALIGN(base, alignment) != base || ALIGN(size, alignment) != size) in cma_init_reserved_mem()
221 * @alignment: Alignment for the CMA area, should be power of 2 or zero
238 phys_addr_t alignment, unsigned int order_per_bit, in cma_declare_contiguous_nid() argument
253 pr_debug("%s(size %pa, base %pa, limit %pa alignment %pa)\n", in cma_declare_contiguous_nid()
254 __func__, &size, &base, &limit, &alignment); in cma_declare_contiguous_nid()
[all …]
/kernel/linux/linux-5.10/arch/mips/cavium-octeon/executive/
Dcvmx-bootmem.c128 * @alignment: Alignment required - must be power of 2
131 static void *cvmx_bootmem_alloc_range(uint64_t size, uint64_t alignment, in cvmx_bootmem_alloc_range() argument
136 cvmx_bootmem_phy_alloc(size, min_addr, max_addr, alignment, 0); in cvmx_bootmem_alloc_range()
145 uint64_t alignment) in cvmx_bootmem_alloc_address() argument
147 return cvmx_bootmem_alloc_range(size, alignment, address, in cvmx_bootmem_alloc_address()
165 void *cvmx_bootmem_alloc_named(uint64_t size, uint64_t alignment, char *name) in cvmx_bootmem_alloc_named() argument
167 return cvmx_bootmem_alloc_named_range(size, 0, 0, alignment, name); in cvmx_bootmem_alloc_named()
218 uint64_t address_max, uint64_t alignment, in cvmx_bootmem_phy_alloc() argument
235 (unsigned long long)alignment); in cvmx_bootmem_phy_alloc()
259 /* Round req_size up to mult of minimum alignment bytes */ in cvmx_bootmem_phy_alloc()
[all …]
/kernel/linux/linux-6.6/arch/mips/cavium-octeon/executive/
Dcvmx-bootmem.c128 * @alignment: Alignment required - must be power of 2
131 static void *cvmx_bootmem_alloc_range(uint64_t size, uint64_t alignment, in cvmx_bootmem_alloc_range() argument
136 cvmx_bootmem_phy_alloc(size, min_addr, max_addr, alignment, 0); in cvmx_bootmem_alloc_range()
145 uint64_t alignment) in cvmx_bootmem_alloc_address() argument
147 return cvmx_bootmem_alloc_range(size, alignment, address, in cvmx_bootmem_alloc_address()
165 void *cvmx_bootmem_alloc_named(uint64_t size, uint64_t alignment, char *name) in cvmx_bootmem_alloc_named() argument
167 return cvmx_bootmem_alloc_named_range(size, 0, 0, alignment, name); in cvmx_bootmem_alloc_named()
218 uint64_t address_max, uint64_t alignment, in cvmx_bootmem_phy_alloc() argument
235 (unsigned long long)alignment); in cvmx_bootmem_phy_alloc()
259 /* Round req_size up to mult of minimum alignment bytes */ in cvmx_bootmem_phy_alloc()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/display/
Dintel_fb_pin.c31 u32 alignment; in intel_pin_fb_obj_dpt() local
43 alignment = 4096 * 512; in intel_pin_fb_obj_dpt()
79 if (i915_vma_misplaced(vma, 0, alignment, 0)) { in intel_pin_fb_obj_dpt()
85 ret = i915_vma_pin_ww(vma, &ww, 0, alignment, PIN_GLOBAL); in intel_pin_fb_obj_dpt()
94 vma->display_alignment = max(vma->display_alignment, alignment); in intel_pin_fb_obj_dpt()
119 u32 alignment; in intel_pin_and_fence_fb_obj() local
126 alignment = intel_cursor_alignment(dev_priv); in intel_pin_and_fence_fb_obj()
128 alignment = intel_surf_alignment(fb, 0); in intel_pin_and_fence_fb_obj()
129 if (drm_WARN_ON(dev, alignment && !is_power_of_2(alignment))) in intel_pin_and_fence_fb_obj()
137 if (intel_scanout_needs_vtd_wa(dev_priv) && alignment < 256 * 1024) in intel_pin_and_fence_fb_obj()
[all …]
/kernel/linux/linux-5.10/Documentation/arm/
Dmem_alignment.rst2 Memory alignment
6 kernel code lately. Therefore the alignment fixup is now unconditionally
13 Of course this is a bad idea to rely on the alignment trap to perform
16 alignment trap can fixup misaligned access for the exception cases, but at
19 Now for user space applications, it is possible to configure the alignment
30 To change the alignment trap behavior, simply echo a number into
31 /proc/cpu/alignment. The number is made up from various bits:
56 echo 1 > /proc/cpu/alignment
/kernel/linux/linux-6.6/Documentation/arch/arm/
Dmem_alignment.rst2 Memory alignment
6 kernel code lately. Therefore the alignment fixup is now unconditionally
13 Of course this is a bad idea to rely on the alignment trap to perform
16 alignment trap can fixup misaligned access for the exception cases, but at
19 Now for user space applications, it is possible to configure the alignment
30 To change the alignment trap behavior, simply echo a number into
31 /proc/cpu/alignment. The number is made up from various bits:
56 echo 1 > /proc/cpu/alignment
/kernel/linux/linux-5.10/arch/powerpc/lib/
Drheap.c253 rh_info_t *rh_create(unsigned int alignment) in rh_create() argument
257 /* Alignment must be a power of two */ in rh_create()
258 if ((alignment & (alignment - 1)) != 0) in rh_create()
265 info->alignment = alignment; in rh_create()
300 void rh_init(rh_info_t * info, unsigned int alignment, int max_blocks, in rh_init() argument
306 /* Alignment must be a power of two */ in rh_init()
307 if ((alignment & (alignment - 1)) != 0) in rh_init()
310 info->alignment = alignment; in rh_init()
338 m = info->alignment - 1; in rh_attach_region()
383 m = info->alignment - 1; in rh_detach_region()
[all …]
/kernel/linux/linux-6.6/arch/powerpc/lib/
Drheap.c253 rh_info_t *rh_create(unsigned int alignment) in rh_create() argument
257 /* Alignment must be a power of two */ in rh_create()
258 if ((alignment & (alignment - 1)) != 0) in rh_create()
265 info->alignment = alignment; in rh_create()
300 void rh_init(rh_info_t * info, unsigned int alignment, int max_blocks, in rh_init() argument
306 /* Alignment must be a power of two */ in rh_init()
307 if ((alignment & (alignment - 1)) != 0) in rh_init()
310 info->alignment = alignment; in rh_init()
338 m = info->alignment - 1; in rh_attach_region()
383 m = info->alignment - 1; in rh_detach_region()
[all …]
/kernel/linux/linux-6.6/arch/parisc/include/asm/
Dldcw.h5 /* Because kmalloc only guarantees 8-byte alignment for kmalloc'd data,
6 and GCC only guarantees 8-byte alignment for stack locals, we can't
7 be assured of 16-byte alignment for atomic lock data even if we
16 16-byte alignment requirement for ldcw and ldcd is relaxed, and instead
17 they only require "natural" alignment (4-byte for ldcw, 8-byte for
22 require 16-byte alignment. If the address is unaligned, the operation
25 This hid the problem for years. So, restore the 16-byte alignment dropped
/kernel/linux/linux-5.10/arch/parisc/include/asm/
Dldcw.h5 /* Because kmalloc only guarantees 8-byte alignment for kmalloc'd data,
6 and GCC only guarantees 8-byte alignment for stack locals, we can't
7 be assured of 16-byte alignment for atomic lock data even if we
16 16-byte alignment requirement for ldcw and ldcd is relaxed, and instead
17 they only require "natural" alignment (4-byte for ldcw, 8-byte for
22 require 16-byte alignment. If the address is unaligned, the operation
25 This hid the problem for years. So, restore the 16-byte alignment dropped
/kernel/linux/linux-6.6/drivers/firmware/efi/libstub/
Drelocate.c11 * @align: minimum alignment of the allocated memory area. It should
36 * Enforce minimum alignment that EFI or Linux requires when in efi_low_alloc_above()
39 * alignment constraints. in efi_low_alloc_above()
99 * @alignment: minimum alignment of the allocated memory area. It
104 * to @alignment but at least EFI_ALLOC_ALIGN. If the preferred address
117 unsigned long alignment, in efi_relocate_kernel() argument
139 * as possible while respecting the required alignment. in efi_relocate_kernel()
150 status = efi_low_alloc_above(alloc_size, alignment, &new_addr, in efi_relocate_kernel()
/kernel/linux/linux-5.10/drivers/firmware/efi/libstub/
Drelocate.c11 * @align: minimum alignment of the allocated memory area. It should
36 * Enforce minimum alignment that EFI or Linux requires when in efi_low_alloc_above()
39 * alignment constraints. in efi_low_alloc_above()
96 * @alignment: minimum alignment of the allocated memory area. It
101 * to @alignment but at least EFI_ALLOC_ALIGN. If the preferred address
114 unsigned long alignment, in efi_relocate_kernel() argument
136 * as possible while respecting the required alignment. in efi_relocate_kernel()
147 status = efi_low_alloc_above(alloc_size, alignment, &new_addr, in efi_relocate_kernel()
/kernel/linux/linux-5.10/Documentation/core-api/
Dunaligned-memory-access.rst36 Natural alignment
39 The rule mentioned above forms what we refer to as natural alignment:
43 When writing code, assume the target architecture has natural alignment
46 In reality, only a few architectures require natural alignment on all sizes
48 writing code that satisfies natural alignment requirements is the easiest way
100 Fortunately, the compiler understands the alignment constraints, so in the
126 For a natural alignment scheme, the compiler would only have to add a single
128 to satisfy alignment constraints for arrays of these structures.
137 architectural alignment requirements. However, again, the compiler is aware
138 of the alignment constraints and will generate extra instructions to perform
[all …]

12345678910>>...160