--- /dev/null
+From 2ef230531ee171a475fc3ddad5516dd7e09a8a77 Mon Sep 17 00:00:00 2001
+From: Chen Feng <puck.chen@hisilicon.com>
+Date: Fri, 15 Jan 2016 10:38:19 +0800
+Subject: staging: ion : Donnot wakeup kswapd in ion system alloc
+
+From: Chen Feng <puck.chen@hisilicon.com>
+
+commit 2ef230531ee171a475fc3ddad5516dd7e09a8a77 upstream.
+
+Since ion alloc can be called by userspace,eg gralloc.
+When it is called frequently, the efficiency of kswapd is
+to low. And the reclaimed memory is too lower. In this way,
+the kswapd can use to much cpu resources.
+
+With 3.5GB DMA Zone and 0.5 Normal Zone.
+
+pgsteal_kswapd_dma 9364140
+pgsteal_kswapd_normal 7071043
+pgscan_kswapd_dma 10428250
+pgscan_kswapd_normal 37840094
+
+With this change the reclaim ratio has greatly improved
+18.9% -> 72.5%
+
+Signed-off-by: Chen Feng <puck.chen@hisilicon.com>
+Signed-off-by: Lu bing <albert.lubing@hisilicon.com>
+Reviewed-by: Laura Abbott <labbott@redhat.com>
+Cc: Greg Hackmann <ghackmann@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/android/ion/ion_system_heap.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/staging/android/ion/ion_system_heap.c
++++ b/drivers/staging/android/ion/ion_system_heap.c
+@@ -27,7 +27,7 @@
+ #include "ion_priv.h"
+
+ static gfp_t high_order_gfp_flags = (GFP_HIGHUSER | __GFP_ZERO | __GFP_NOWARN |
+- __GFP_NORETRY) & ~__GFP_DIRECT_RECLAIM;
++ __GFP_NORETRY) & ~__GFP_RECLAIM;
+ static gfp_t low_order_gfp_flags = (GFP_HIGHUSER | __GFP_ZERO | __GFP_NOWARN);
+ static const unsigned int orders[] = {8, 4, 0};
+ static const int num_orders = ARRAY_SIZE(orders);