Lines Matching refs:page_pool
3 * page_pool/helpers.h
9 * DOC: page_pool allocator
11 * The page_pool allocator is optimized for recycling page or page fragment used
35 * it is safe to free a page_pool object, the API users must call
36 * page_pool_put_page() or page_pool_free_va() to free the page_pool object, or
37 * attach the page_pool object to a page_pool-aware object like skbs marked with
46 * page_pool is created with PP_FLAG_DMA_SYNC_DEV flag, so it depends on the
57 #include <net/page_pool/types.h>
67 bool page_pool_get_stats(const struct page_pool *pool,
90 * Get a page from the page allocator or page_pool caches.
92 static inline struct page *page_pool_dev_alloc_pages(struct page_pool *pool)
105 * Get a page fragment from the page allocator or page_pool caches.
109 static inline struct page *page_pool_dev_alloc_frag(struct page_pool *pool,
118 static inline netmem_ref page_pool_alloc_netmem(struct page_pool *pool,
147 static inline netmem_ref page_pool_dev_alloc_netmem(struct page_pool *pool,
156 static inline netmem_ref page_pool_dev_alloc_netmems(struct page_pool *pool)
163 static inline struct page *page_pool_alloc(struct page_pool *pool,
176 * Get a page or a page fragment from the page allocator or page_pool caches
182 static inline struct page *page_pool_dev_alloc(struct page_pool *pool,
191 static inline void *page_pool_alloc_va(struct page_pool *pool,
216 static inline void *page_pool_dev_alloc_va(struct page_pool *pool,
229 * and avoid the extra cache line from page_pool to determine the direction.
232 page_pool_get_dma_dir(const struct page_pool *pool)
248 * which will be freed using page_pool APIs (rather than page allocator APIs
249 * like put_page()). Such references are usually held by page_pool-aware
331 static inline void page_pool_put_netmem(struct page_pool *pool,
336 /* When page_pool isn't compiled-in, net/core/xdp.c doesn't
360 static inline void page_pool_put_page(struct page_pool *pool,
369 static inline void page_pool_put_full_netmem(struct page_pool *pool,
385 static inline void page_pool_put_full_page(struct page_pool *pool,
399 static inline void page_pool_recycle_direct(struct page_pool *pool,
405 static inline void page_pool_recycle_direct_netmem(struct page_pool *pool,
415 * page_pool_free_va() - free a va into the page_pool
422 static inline void page_pool_free_va(struct page_pool *pool, void *va,
450 static inline void __page_pool_dma_sync_for_cpu(const struct page_pool *pool,
461 * @pool: &page_pool the @page belongs to
471 static inline void page_pool_dma_sync_for_cpu(const struct page_pool *pool,
480 page_pool_dma_sync_netmem_for_cpu(const struct page_pool *pool,
492 static inline bool page_pool_put(struct page_pool *pool)
497 static inline void page_pool_nid_changed(struct page_pool *pool, int new_nid)
503 static inline bool page_pool_is_unreadable(struct page_pool *pool)