summaryrefslogtreecommitdiff
path: root/backport-include/linux/gfp.h
diff options
context:
space:
mode:
Diffstat (limited to 'backport-include/linux/gfp.h')
-rw-r--r--backport-include/linux/gfp.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/backport-include/linux/gfp.h b/backport-include/linux/gfp.h
new file mode 100644
index 0000000..d41d427
--- /dev/null
+++ b/backport-include/linux/gfp.h
@@ -0,0 +1,25 @@
+#ifndef __BACKPORT_LINUX_GFP_H
+#define __BACKPORT_LINUX_GFP_H
+#include_next <linux/gfp.h>
+
+#ifndef ___GFP_KSWAPD_RECLAIM
+#define ___GFP_KSWAPD_RECLAIM 0x0u
+#endif
+
+#ifndef __GFP_KSWAPD_RECLAIM
+#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 */