From 121b7cbd22a8a01e572892da93d8d26bfc7d9e2c Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 1 Dec 2018 13:40:50 +0100 Subject: backports: Add page_frag_alloc() and __page_frag_cache_drain() This was introduced in kernel commit 8c2dd3e4a4b ("mm: rename __alloc_page_frag to page_frag_alloc and __free_page_frag to page_frag_free") and commit 44fdffd7050 ("mm: add support for releasing multiple instances of a page") and is used by the mt76 driver. Backporting it to kernel older than 4.2 is harder so just do it till that version. Signed-off-by: Hauke Mehrtens --- backport/backport-include/linux/gfp.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'backport/backport-include/linux/gfp.h') diff --git a/backport/backport-include/linux/gfp.h b/backport/backport-include/linux/gfp.h index 42f818f1..d41d4277 100644 --- a/backport/backport-include/linux/gfp.h +++ b/backport/backport-include/linux/gfp.h @@ -10,4 +10,16 @@ #define __GFP_KSWAPD_RECLAIM ((__force gfp_t)___GFP_KSWAPD_RECLAIM) /* kswapd can wake */ #endif +#if LINUX_VERSION_IS_LESS(4,10,0) && LINUX_VERSION_IS_GEQ(4,2,0) +#define page_frag_alloc LINUX_BACKPORT(page_frag_alloc) +static inline void *page_frag_alloc(struct page_frag_cache *nc, + unsigned int fragsz, gfp_t gfp_mask) +{ + return __alloc_page_frag(nc, fragsz, gfp_mask); +} + +#define __page_frag_cache_drain LINUX_BACKPORT(__page_frag_cache_drain) +void __page_frag_cache_drain(struct page *page, unsigned int count); +#endif /* < 4.10 && >= 4.2 */ + #endif /* __BACKPORT_LINUX_GFP_H */ -- cgit v1.2.3