summaryrefslogtreecommitdiff
path: root/backport/backport-include/linux/gfp.h
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2018-12-01 13:40:50 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2018-12-06 22:54:26 +0100
commit121b7cbd22a8a01e572892da93d8d26bfc7d9e2c (patch)
treeffeba0c139bf9d1b17c1289b0bc7c9a4b38f32c5 /backport/backport-include/linux/gfp.h
parentdd498a8f8616c7d458a0cbb81e845d393754e7f6 (diff)
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 <hauke@hauke-m.de>
Diffstat (limited to 'backport/backport-include/linux/gfp.h')
-rw-r--r--backport/backport-include/linux/gfp.h12
1 files changed, 12 insertions, 0 deletions
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 */