Lines Matching refs:npages
74 unsigned npages; member
247 static void ttm_pages_put(struct page *pages[], unsigned npages, in ttm_pages_put() argument
253 if (ttm_set_pages_array_wb(pages, npages)) in ttm_pages_put()
254 pr_err("Failed to set %d pages to wb!\n", npages); in ttm_pages_put()
257 for (i = 0; i < npages; ++i) { in ttm_pages_put()
269 pool->npages -= freed_pages; in ttm_pool_update_free_locked()
423 count += (pool->npages << pool->order); in ttm_pool_shrink_count()
495 unsigned npages = 1 << order; in ttm_alloc_new_pages() local
537 for (j = 0; j < npages; ++j) { in ttm_alloc_new_pages()
591 && count > pool->npages) { in ttm_page_pool_fill_locked()
609 pool->npages += alloc_size; in ttm_page_pool_fill_locked()
617 pool->npages += cpages; in ttm_page_pool_fill_locked()
645 if (count >= pool->npages) { in ttm_page_pool_get_pages()
648 count -= pool->npages; in ttm_page_pool_get_pages()
649 pool->npages = 0; in ttm_page_pool_get_pages()
654 if (count <= pool->npages/2) { in ttm_page_pool_get_pages()
661 i = pool->npages + 1; in ttm_page_pool_get_pages()
669 pool->npages -= count; in ttm_page_pool_get_pages()
708 static void ttm_put_pages(struct page **pages, unsigned npages, int flags, in ttm_put_pages() argument
721 while (i < npages) { in ttm_put_pages()
734 (npages - i) >= HPAGE_PMD_NR) { in ttm_put_pages()
763 while ((npages - i) >= HPAGE_PMD_NR) { in ttm_put_pages()
781 huge->npages++; in ttm_put_pages()
787 if (huge->npages > max_size) in ttm_put_pages()
788 n2free = huge->npages - max_size; in ttm_put_pages()
798 while (i < npages) { in ttm_put_pages()
804 pool->npages++; in ttm_put_pages()
809 npages = 0; in ttm_put_pages()
810 if (pool->npages > _manager->options.max_size) { in ttm_put_pages()
811 npages = pool->npages - _manager->options.max_size; in ttm_put_pages()
814 if (npages < NUM_PAGES_TO_ALLOC) in ttm_put_pages()
815 npages = NUM_PAGES_TO_ALLOC; in ttm_put_pages()
818 if (npages) in ttm_put_pages()
819 ttm_page_pool_free(pool, npages, false); in ttm_put_pages()
826 static int ttm_get_pages(struct page **pages, unsigned npages, int flags, in ttm_get_pages() argument
861 while (npages >= HPAGE_PMD_NR) { in ttm_get_pages()
875 npages -= HPAGE_PMD_NR; in ttm_get_pages()
881 while (npages) { in ttm_get_pages()
893 --npages; in ttm_get_pages()
901 if (huge && npages >= HPAGE_PMD_NR) { in ttm_get_pages()
904 npages / HPAGE_PMD_NR, in ttm_get_pages()
918 npages - count, 0); in ttm_get_pages()
948 pool->npages = pool->nfrees = 0; in ttm_page_pool_init_locked()
1185 p->nfrees, p->npages); in ttm_page_alloc_debugfs()