Lines Matching refs:order

185     int order, int tail);
378 vm_freelist_add(struct vm_freelist *fl, vm_page_t m, int order, int tail) in vm_freelist_add() argument
381 m->order = order; in vm_freelist_add()
383 TAILQ_INSERT_TAIL(&fl[order].pl, m, listq); in vm_freelist_add()
385 TAILQ_INSERT_HEAD(&fl[order].pl, m, listq); in vm_freelist_add()
386 fl[order].lcnt++; in vm_freelist_add()
390 vm_freelist_rem(struct vm_freelist *fl, vm_page_t m, int order) in vm_freelist_rem() argument
393 TAILQ_REMOVE(&fl[order].pl, m, listq); in vm_freelist_rem()
394 fl[order].lcnt--; in vm_freelist_rem()
395 m->order = VM_NFREEORDER; in vm_freelist_rem()
671 vm_phys_split_pages(vm_page_t m, int oind, struct vm_freelist *fl, int order, in vm_phys_split_pages() argument
676 while (oind > order) { in vm_phys_split_pages()
679 KASSERT(m_buddy->order == VM_NFREEORDER, in vm_phys_split_pages()
681 m_buddy, m_buddy->order)); in vm_phys_split_pages()
701 int order; in vm_phys_enq_beg() local
709 KASSERT(m->order == VM_NFREEORDER, in vm_phys_enq_beg()
711 __func__, m, m->order)); in vm_phys_enq_beg()
712 order = fls(npages) - 1; in vm_phys_enq_beg()
713 KASSERT(order < VM_NFREEORDER, in vm_phys_enq_beg()
714 ("%s: order %d is out of range", __func__, order)); in vm_phys_enq_beg()
715 vm_freelist_add(fl, m, order, tail); in vm_phys_enq_beg()
716 m += 1 << order; in vm_phys_enq_beg()
717 npages -= 1 << order; in vm_phys_enq_beg()
737 int order; in vm_phys_enq_range() local
745 KASSERT(m->order == VM_NFREEORDER, in vm_phys_enq_range()
747 m, m->order)); in vm_phys_enq_range()
748 order = ffs(npages) - 1; in vm_phys_enq_range()
749 KASSERT(order < VM_NFREEORDER, in vm_phys_enq_range()
750 ("vm_phys_enq_range: order %d is out of range", order)); in vm_phys_enq_range()
751 vm_freelist_add(fl, m, order, tail); in vm_phys_enq_range()
752 m += 1 << order; in vm_phys_enq_range()
753 npages -= 1 << order; in vm_phys_enq_range()
762 vm_phys_set_pool(int pool, vm_page_t m, int order) in vm_phys_set_pool() argument
766 for (m_tmp = m; m_tmp < &m[1 << order]; m_tmp++) in vm_phys_set_pool()
854 vm_phys_alloc_pages(int domain, int pool, int order) in vm_phys_alloc_pages() argument
860 m = vm_phys_alloc_freelist_pages(domain, freelist, pool, order); in vm_phys_alloc_pages()
875 vm_phys_alloc_freelist_pages(int domain, int freelist, int pool, int order) in vm_phys_alloc_freelist_pages() argument
889 KASSERT(order < VM_NFREEORDER, in vm_phys_alloc_freelist_pages()
890 ("vm_phys_alloc_freelist_pages: order %d is out of range", order)); in vm_phys_alloc_freelist_pages()
899 for (oind = order; oind < VM_NFREEORDER; oind++) { in vm_phys_alloc_freelist_pages()
904 vm_phys_split_pages(m, oind, fl, order, 1); in vm_phys_alloc_freelist_pages()
915 for (oind = VM_NFREEORDER - 1; oind >= order; oind--) { in vm_phys_alloc_freelist_pages()
923 vm_phys_split_pages(m, oind, fl, order, 1); in vm_phys_alloc_freelist_pages()
1133 vm_phys_free_pages(vm_page_t m, int order) in vm_phys_free_pages() argument
1140 KASSERT(m->order == VM_NFREEORDER, in vm_phys_free_pages()
1142 m, m->order)); in vm_phys_free_pages()
1146 KASSERT(order < VM_NFREEORDER, in vm_phys_free_pages()
1147 ("vm_phys_free_pages: order %d is out of range", order)); in vm_phys_free_pages()
1150 if (order < VM_NFREEORDER - 1) { in vm_phys_free_pages()
1153 pa ^= ((vm_paddr_t)1 << (PAGE_SHIFT + order)); in vm_phys_free_pages()
1157 if (m_buddy->order != order) in vm_phys_free_pages()
1160 vm_freelist_rem(fl, m_buddy, order); in vm_phys_free_pages()
1162 vm_phys_set_pool(m->pool, m_buddy, order); in vm_phys_free_pages()
1163 order++; in vm_phys_free_pages()
1164 pa &= ~(((vm_paddr_t)1 << (PAGE_SHIFT + order)) - 1); in vm_phys_free_pages()
1166 } while (order < VM_NFREEORDER - 1); in vm_phys_free_pages()
1169 vm_freelist_add(fl, m, order, 1); in vm_phys_free_pages()
1203 int order; in vm_phys_enqueue_contig() local
1217 order = min(flsll(diff) - 1, VM_NFREEORDER - 1); in vm_phys_enqueue_contig()
1218 m = vm_phys_enq_range(m, roundup2(lo, 1 << order) - lo, fl, 1); in vm_phys_enqueue_contig()
1222 order = VM_NFREEORDER - 1; in vm_phys_enqueue_contig()
1223 while (m + (1 << order) <= m_end) { in vm_phys_enqueue_contig()
1227 vm_freelist_add(fl, m, order, 1); in vm_phys_enqueue_contig()
1228 m += 1 << order; in vm_phys_enqueue_contig()
1312 int order; in vm_phys_unfree_page() local
1321 for (m_set = m, order = 0; m_set->order == VM_NFREEORDER && in vm_phys_unfree_page()
1322 order < VM_NFREEORDER - 1; ) { in vm_phys_unfree_page()
1323 order++; in vm_phys_unfree_page()
1324 pa = m->phys_addr & (~(vm_paddr_t)0 << (PAGE_SHIFT + order)); in vm_phys_unfree_page()
1330 if (m_set->order < order) in vm_phys_unfree_page()
1332 if (m_set->order == VM_NFREEORDER) in vm_phys_unfree_page()
1334 KASSERT(m_set->order < VM_NFREEORDER, in vm_phys_unfree_page()
1336 m_set, m_set->order)); in vm_phys_unfree_page()
1345 order = m_set->order; in vm_phys_unfree_page()
1346 vm_freelist_rem(fl, m_set, order); in vm_phys_unfree_page()
1347 while (order > 0) { in vm_phys_unfree_page()
1348 order--; in vm_phys_unfree_page()
1349 pa_half = m_set->phys_addr ^ (1 << (PAGE_SHIFT + order)); in vm_phys_unfree_page()
1356 vm_freelist_add(fl, m_tmp, order, 0); in vm_phys_unfree_page()
1398 max_order == m[-1 << max_order].order) in vm_phys_find_freelist_contig()
1410 max_order == m_ret[1 << max_order].order) in vm_phys_find_freelist_contig()
1426 m_iter < m_ret + npages && max_order == m_iter->order; in vm_phys_find_freelist_contig()
1449 int oind, order, pind; in vm_phys_find_queues_contig() local
1455 order = flsl(npages - 1); in vm_phys_find_queues_contig()
1458 for (oind = order; oind < VM_NFREEORDER; oind++) { in vm_phys_find_queues_contig()
1476 if (order < VM_NFREEORDER) in vm_phys_find_queues_contig()
1554 oind = m->order; in vm_phys_alloc_contig()