| /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 | 125 * folio orders 131 * @orders: output folio order array 135 * all folios within the range and record their orders. All order-0 pages will 138 * NOTE: the function is used to check folio orders after a split is performed, 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[], in in check_after_split_folio_orders() argument [all...] |
| 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) 326 if (size < (PAGE_SIZE << orders[i])) in alloc_largest_available() 328 if (max_order < orders[i]) in alloc_largest_available() 333 page = alloc_pages(flags, orders[i]); in alloc_largest_available() 349 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 | 100 struct xarray orders; member 117 .orders = XARRAY_INIT(kho_out.track.orders, 0), 153 physxa = xa_load(&track->orders, order); in __kho_unpreserve_order() 186 physxa = xa_load(&track->orders, order); in __kho_preserve_order() 195 physxa = xa_cmpxchg(&track->orders, order, NULL, new_physxa, in __kho_preserve_order() 419 xa_for_each(&kho_out->track.orders, order, physxa) { in kho_mem_serialize()
|
| /linux/drivers/gpu/drm/ttm/ |
| H A D | ttm_pool.c | 352 return &pool->caching[caching].orders[order]; in ttm_pool_select_type() 358 return &pool->caching[caching].orders[order]; in ttm_pool_select_type() 366 return &pool->caching[caching].orders[order]; in ttm_pool_select_type() 1093 if (pt != &pool->caching[i].orders[j]) in ttm_pool_init() 1131 if (pt != &pool->caching[i].orders[j]) in ttm_pool_fini() 1277 ttm_pool_debugfs_orders(pool->caching[i].orders, m); in ttm_pool_debugfs()
|
| /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 | 4580 unsigned long orders) in thp_swap_suitable_orders() argument 4584 order = highest_order(orders); in thp_swap_suitable_orders() 4591 while (orders) { in thp_swap_suitable_orders() 4595 order = next_order(&orders, order); in thp_swap_suitable_orders() 4598 return orders; in thp_swap_suitable_orders() 4604 unsigned long orders; in alloc_swap_folio() local 4633 orders = thp_vma_allowable_orders(vma, vma->vm_flags, TVA_PAGEFAULT, in alloc_swap_folio() 4635 orders = thp_vma_suitable_orders(vma, vmf->address, orders); in alloc_swap_folio() 4636 orders = thp_swap_suitable_orders(swp_offset(entry), in alloc_swap_folio() 4637 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 | 1879 unsigned long orders) in shmem_suitable_orders() argument 1887 orders = thp_vma_suitable_orders(vma, vmf->address, orders); in shmem_suitable_orders() 1888 if (!orders) in shmem_suitable_orders() 1893 order = highest_order(orders); in shmem_suitable_orders() 1894 while (orders) { in shmem_suitable_orders() 1908 order = next_order(&orders, order); in shmem_suitable_orders() 1911 return orders; in shmem_suitable_orders() 1916 unsigned long orders) in shmem_suitable_orders() argument 1938 struct mm_struct *fault_mm, unsigned long orders) in shmem_alloc_and_add_folio() argument 1949 orders = 0; in shmem_alloc_and_add_folio() [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/drivers/media/v4l2-core/ |
| H A D | v4l2-fwnode.c | 271 static const char * const orders[] = { in v4l2_fwnode_endpoint_parse_csi2_bus() local 275 if (array[i] >= ARRAY_SIZE(orders)) { in v4l2_fwnode_endpoint_parse_csi2_bus() 285 orders[array[i]]); in v4l2_fwnode_endpoint_parse_csi2_bus()
|
| /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
|
| /linux/tools/memory-model/ |
| H A D | lock.cat | 8 * Generate coherence orders and handle lock operations
|