| /linux/include/linux/ |
| H A D | huge_mm.h | 198 static inline int highest_order(unsigned long orders) in highest_order() argument 200 return fls_long(orders) - 1; in highest_order() 203 static inline int next_order(unsigned long *orders, int prev) in next_order() argument 205 *orders &= ~BIT(prev); in next_order() 206 return highest_order(*orders); in next_order() 246 unsigned long addr, unsigned long orders) in thp_vma_suitable_orders() argument 257 order = highest_order(orders); in thp_vma_suitable_orders() 259 while (orders) { in thp_vma_suitable_orders() 262 order = next_order(&orders, order); in thp_vma_suitable_orders() 265 return orders; in thp_vma_suitable_orders() [all …]
|
| /linux/tools/testing/selftests/mm/ |
| H A D | thp_settings.c | 203 unsigned long orders = thp_supported_orders(); in thp_read_settings() local 230 if (!((1 << i) & orders)) { in thp_read_settings() 255 unsigned long orders = thp_supported_orders(); in thp_write_settings() local 281 if (!((1 << i) & orders)) in thp_write_settings() 352 unsigned long orders = 0; in __thp_supported_orders() local 369 orders |= 1UL << i; in __thp_supported_orders() 372 return orders; in __thp_supported_orders()
|
| H A D | uffd-wp-mremap.c | 25 unsigned long orders; in detect_thp_sizes() local 33 orders = thp_supported_orders(); in detect_thp_sizes() 35 for (i = 0; orders && count < max; i++) { in detect_thp_sizes() 36 if (!(orders & (1UL << i))) in detect_thp_sizes() 38 orders &= ~(1UL << i); in detect_thp_sizes()
|
| H A D | split_huge_page_test.c | 145 int pagemap_fd, int kpageflags_fd, int orders[], int nr_orders) in gather_after_split_folio_orders() argument 153 if (!orders) in gather_after_split_folio_orders() 175 orders[0]++; in gather_after_split_folio_orders() 210 orders[cur_order]++; in gather_after_split_folio_orders() 225 orders[cur_order]++; in gather_after_split_folio_orders() 230 int pagemap_fd, int kpageflags_fd, int orders[], int nr_orders) in check_after_split_folio_orders() argument 248 if (vaddr_orders[i] != orders[i]) { in check_after_split_folio_orders() 250 orders[i], vaddr_orders[i]); in check_after_split_folio_orders()
|
| H A D | cow.c | 47 unsigned long orders; in detect_thp_sizes() local 55 orders = 1UL << sz2ord(pmdsize, pagesize); in detect_thp_sizes() 56 orders |= thp_supported_orders(); in detect_thp_sizes() 58 for (i = 0; orders && count < max; i++) { in detect_thp_sizes() 59 if (!(orders & (1UL << i))) in detect_thp_sizes() 61 orders &= ~(1UL << i); in detect_thp_sizes()
|
| /linux/drivers/dma-buf/heaps/ |
| H A D | system_heap.c | 52 static const unsigned int orders[] = {8, 4, 0}; variable 53 #define NUM_ORDERS ARRAY_SIZE(orders) 325 if (size < (PAGE_SIZE << orders[i])) in alloc_largest_available() 327 if (max_order < orders[i]) in alloc_largest_available() 330 page = alloc_pages(order_flags[i], orders[i]); in alloc_largest_available() 346 unsigned int max_order = orders[0]; in system_heap_allocate()
|
| /linux/arch/arm64/boot/dts/renesas/ |
| H A D | white-hawk-csi-dsi.dtsi | 24 line-orders = <MEDIA_BUS_CSI2_CPHY_LINE_ORDER_ABC 47 line-orders = <MEDIA_BUS_CSI2_CPHY_LINE_ORDER_ABC
|
| /linux/kernel/liveupdate/ |
| H A D | kexec_handover.c | 103 struct xarray orders; member 120 .orders = XARRAY_INIT(kho_out.track.orders, 0), 156 physxa = xa_load(&track->orders, order); in __kho_unpreserve_order() 189 physxa = xa_load(&track->orders, order); in __kho_preserve_order() 198 physxa = xa_cmpxchg(&track->orders, order, NULL, new_physxa, in __kho_preserve_order() 401 xa_for_each(&kho_out->track.orders, order, physxa) { in kho_mem_serialize()
|
| /linux/tools/memory-model/Documentation/ |
| H A D | glossary.txt | 29 a special operation that includes a load and which orders that 117 Fully Ordered: An operation such as smp_mb() that orders all of 120 that orders all of its CPU's prior accesses, itself, and 167 a special operation that includes a store and which orders that
|
| H A D | recipes.txt | 236 The smp_store_release() macro orders any prior accesses against the 237 store, while the smp_load_acquire macro orders the load against any 277 smp_store_release(), but the rcu_dereference() macro orders the load only 314 The smp_wmb() macro orders prior stores against later stores, and the 315 smp_rmb() macro orders prior loads against later loads. Therefore, if
|
| H A D | ordering.txt | 11 1. Barriers (also known as "fences"). A barrier orders some or 67 First, the smp_mb() full memory barrier orders all of the CPU's prior 115 synchronize_srcu() and so on. However, these primitives have orders
|
| /linux/Documentation/userspace-api/media/v4l/ |
| H A D | pixfmt-bayer.rst | 16 orders. See also `the Wikipedia article on Bayer filter
|
| H A D | field-order.rst | 81 If multiple field orders are possible the 82 driver must choose one of the possible field orders during
|
| /linux/mm/ |
| H A D | memory.c | 4504 unsigned long orders) in thp_swap_suitable_orders() argument 4508 order = highest_order(orders); in thp_swap_suitable_orders() 4515 while (orders) { in thp_swap_suitable_orders() 4519 order = next_order(&orders, order); in thp_swap_suitable_orders() 4522 return orders; in thp_swap_suitable_orders() 4528 unsigned long orders; in alloc_swap_folio() local 4557 orders = thp_vma_allowable_orders(vma, vma->vm_flags, TVA_PAGEFAULT, in alloc_swap_folio() 4559 orders = thp_vma_suitable_orders(vma, vmf->address, orders); in alloc_swap_folio() 4560 orders = thp_swap_suitable_orders(swp_offset(entry), in alloc_swap_folio() 4561 vmf->address, orders); in alloc_swap_folio() [all …]
|
| H A D | huge_memory.c | 103 unsigned long orders) in __thp_vma_allowable_orders() argument 118 orders &= supported_orders; in __thp_vma_allowable_orders() 119 if (!orders) in __thp_vma_allowable_orders() 130 return in_pf ? orders : 0; in __thp_vma_allowable_orders() 148 int order = highest_order(orders); in __thp_vma_allowable_orders() 151 while (orders) { in __thp_vma_allowable_orders() 155 order = next_order(&orders, order); in __thp_vma_allowable_orders() 158 if (!orders) in __thp_vma_allowable_orders() 168 return orders & shmem_allowable_huge_orders(file_inode(vma->vm_file), in __thp_vma_allowable_orders() 187 return orders; in __thp_vma_allowable_orders() [all …]
|
| H A D | shmem.c | 1819 * Only allow inherit orders if the top-level value is 'force', which in shmem_allowable_huge_orders() 1839 unsigned long orders) in shmem_suitable_orders() argument 1847 orders = thp_vma_suitable_orders(vma, vmf->address, orders); in shmem_suitable_orders() 1848 if (!orders) in shmem_suitable_orders() 1853 order = highest_order(orders); in shmem_suitable_orders() 1854 while (orders) { in shmem_suitable_orders() 1868 order = next_order(&orders, order); in shmem_suitable_orders() 1871 return orders; in shmem_suitable_orders() 1876 unsigned long orders) in shmem_suitable_orders() argument 1898 shmem_alloc_and_add_folio(struct vm_fault * vmf,gfp_t gfp,struct inode * inode,pgoff_t index,struct mm_struct * fault_mm,unsigned long orders) shmem_alloc_and_add_folio() argument 2465 unsigned long orders = 0; shmem_get_folio_gfp() local [all...] |
| /linux/Documentation/ |
| H A D | atomic_t.txt | 194 smp_mb__before_atomic() orders all earlier accesses against the RMW op 195 itself and all accesses following it, and smp_mb__after_atomic() orders all 226 a RELEASE because it orders preceding instructions against both the read
|
| /linux/fs/netfs/ |
| H A D | rolling_buffer.c | 139 fq->orders[ix] = order; in rolling_buffer_load_from_ra()
|
| /linux/arch/arm/boot/dts/marvell/ |
| H A D | armada-385-synology-ds116.dts | 53 * and takes single-character orders :
|
| /linux/tools/virtio/virtio-trace/ |
| H A D | README | 9 - controlled by start/stop orders from a Host
|
| /linux/Documentation/admin-guide/mm/ |
| H A D | transhuge.rst | 635 lower orders or small pages. 639 instead falls back to using huge pages with lower orders or 652 and instead falls back to using huge pages with lower orders or 657 falls back to using huge pages with lower orders or small pages 684 smaller orders. This can happen for a variety of reasons but a
|
| /linux/Documentation/core-api/ |
| H A D | genalloc.rst | 49 that state, so one of the first orders of business is usually to add memory
|
| H A D | memory-allocation.rst | 130 This might be really dangerous especially for larger orders.
|
| /linux/tools/memory-model/ |
| H A D | lock.cat | 8 * Generate coherence orders and handle lock operations
|
| H A D | linux-kernel.cat | 168 (* rb orders instructions just as pb does *)
|