]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mm-vmscan-do-not-throttle-based-on-pfmemalloc-reserves-if-node-has-no-zone_normal-fix
authorMel Gorman <mgorman@suse.de>
Wed, 14 May 2014 00:01:52 +0000 (10:01 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 14 May 2014 00:01:52 +0000 (10:01 +1000)
enhance comment

Cc: Mel Gorman <mgorman@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/vmscan.c

index 7e977c65d3d55c63df420a1afaf4bbda2bf0d5fb..f42a84c985271b695493d441f6953e949474cc0b 100644 (file)
@@ -2598,7 +2598,17 @@ static bool throttle_direct_reclaim(gfp_t gfp_mask, struct zonelist *zonelist,
 
        /*
         * Check if the pfmemalloc reserves are ok by finding the first node
-        * with a usable ZONE_NORMAL or lower zone
+        * with a usable ZONE_NORMAL or lower zone. The expectation is that
+        * GFP_KERNEL will be required for allocating network buffers when
+        * swapping over the network so ZONE_HIGHMEM is unusable.
+        *
+        * Throttling is based on the first usable node and throttled processes
+        * wait on a queue until kswapd makes progress and wakes them. There
+        * is an affinity then between processes waking up and where reclaim
+        * progress has been made assuming the process wakes on the same node.
+        * More importantly, processes running on remote nodes will not compete
+        * for remote pfmemalloc reserves and processes on different nodes
+        * should make reasonable progress.
         */
        for_each_zone_zonelist_nodemask(zone, z, zonelist,
                                        gfp_mask, nodemask) {