Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1435439
| From | Mel Gorman <mgorman@techsingularity.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 05/31] mm, vmscan: have kswapd only scan based on the highest requested zone |
| Date | 2016-07-01 17:40 +0200 |
| Message-ID | <rQ8HU-8mD-33@gated-at.bofh.it> (permalink) |
| References | <rQ8HU-8mD-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
kswapd checks all eligible zones to see if they need balancing even if it
was woken for a lower zone. This made sense when we reclaimed on a
per-zone basis because we wanted to shrink zones fairly so avoid
age-inversion problems. Ideally this is completely unnecessary when
reclaiming on a per-node basis. In theory, there may still be anomalies
when all requests are for lower zones and very old pages are preserved in
higher zones but this should be the exceptional case.
Link: http://lkml.kernel.org/r/1466518566-30034-6-git-send-email-mgorman@techsingularity.net
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Rik van Riel <riel@surriel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
mm/vmscan.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 766b36bec829..c6e61dae382b 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -3209,11 +3209,8 @@ static int balance_pgdat(pg_data_t *pgdat, int order, int classzone_idx)
sc.nr_reclaimed = 0;
- /*
- * Scan in the highmem->dma direction for the highest
- * zone which needs scanning
- */
- for (i = pgdat->nr_zones - 1; i >= 0; i--) {
+ /* Scan from the highest requested zone to dma */
+ for (i = classzone_idx; i >= 0; i--) {
struct zone *zone = pgdat->node_zones + i;
if (!populated_zone(zone))
--
2.6.4
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 00/31] Move LRU page reclaim from zones to nodes v8 Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:40 +0200
[PATCH 06/31] mm, vmscan: make kswapd reclaim in terms of nodes Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:40 +0200
[PATCH 09/31] mm, vmscan: by default have direct reclaim only shrink once per node Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:40 +0200
[PATCH 10/31] mm, vmscan: remove duplicate logic clearing node congestion and dirty state Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:40 +0200
[PATCH 07/31] mm, vmscan: remove balance gap Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:40 +0200
[PATCH 02/31] mm, vmscan: move lru_lock to the node Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:40 +0200
[PATCH 05/31] mm, vmscan: have kswapd only scan based on the highest requested zone Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:40 +0200
[PATCH 19/31] mm: move vmscan writes and file write accounting to the node Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 17/31] mm: rename NR_ANON_PAGES to NR_ANON_MAPPED Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 30/31] mm, vmstat: print node-based stats in zoneinfo file Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 31/31] mm, vmstat: Remove zone and node double accounting by approximating retries Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 22/31] mm: convert zone_reclaim to node_reclaim Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 26/31] mm, page_alloc: remove fair zone allocation policy Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 28/31] mm: vmstat: replace __count_zone_vm_events with a zone id equivalent Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 21/31] mm, page_alloc: Wake kswapd based on the highest eligible zone Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 20/31] mm, vmscan: only wakeup kswapd once per node for the requested classzone Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 14/31] mm, workingset: make working set detection node-aware Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 18/31] mm: move most file-based accounting to the node Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 23/31] mm, vmscan: Avoid passing in classzone_idx unnecessarily to shrink_node Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 27/31] mm: page_alloc: cache the last node whose dirty limit is reached Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 11/31] mm: vmscan: do not reclaim from kswapd if there is any eligible zone Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 12/31] mm, vmscan: make shrink_node decisions more node-centric Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 15/31] mm, page_alloc: consider dirtyable memory in terms of nodes Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 24/31] mm, vmscan: Avoid passing in classzone_idx unnecessarily to compaction_ready Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 13/31] mm, memcg: move memcg limit enforcement from zones to nodes Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 25/31] mm, vmscan: add classzone information to tracepoints Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 29/31] mm: vmstat: account per-zone stalls and pages skipped during reclaim Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
[PATCH 16/31] mm: move page mapped accounting to the node Mel Gorman <mgorman@techsingularity.net> - 2016-07-01 17:50 +0200
Re: [PATCH 00/31] Move LRU page reclaim from zones to nodes v8 Dave Chinner <david@fromorbit.com> - 2016-07-08 01:30 +0200
Re: [PATCH 00/31] Move LRU page reclaim from zones to nodes v8 Mel Gorman <mgorman@techsingularity.net> - 2016-07-08 12:00 +0200
csiph-web