Lines Matching refs:nc
5880 static struct page *__page_frag_cache_refill(struct page_frag_cache *nc, in __page_frag_cache_refill() argument
5891 nc->size = page ? PAGE_FRAG_CACHE_MAX_SIZE : PAGE_SIZE; in __page_frag_cache_refill()
5896 nc->va = page ? page_address(page) : NULL; in __page_frag_cache_refill()
5910 void *page_frag_alloc_align(struct page_frag_cache *nc, in page_frag_alloc_align() argument
5918 if (unlikely(!nc->va)) { in page_frag_alloc_align()
5920 page = __page_frag_cache_refill(nc, gfp_mask); in page_frag_alloc_align()
5926 size = nc->size; in page_frag_alloc_align()
5934 nc->pfmemalloc = page_is_pfmemalloc(page); in page_frag_alloc_align()
5935 nc->pagecnt_bias = PAGE_FRAG_CACHE_MAX_SIZE + 1; in page_frag_alloc_align()
5936 nc->offset = size; in page_frag_alloc_align()
5939 offset = nc->offset - fragsz; in page_frag_alloc_align()
5941 page = virt_to_page(nc->va); in page_frag_alloc_align()
5943 if (!page_ref_sub_and_test(page, nc->pagecnt_bias)) in page_frag_alloc_align()
5946 if (unlikely(nc->pfmemalloc)) { in page_frag_alloc_align()
5953 size = nc->size; in page_frag_alloc_align()
5959 nc->pagecnt_bias = PAGE_FRAG_CACHE_MAX_SIZE + 1; in page_frag_alloc_align()
5975 nc->pagecnt_bias--; in page_frag_alloc_align()
5977 nc->offset = offset; in page_frag_alloc_align()
5979 return nc->va + offset; in page_frag_alloc_align()