Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1589888

[PATCH 8/9] Revert "mm, vmscan: account for skipped pages as a partial scan"

From Johannes Weiner <hannes@cmpxchg.org>
Newsgroups linux.kernel
Subject [PATCH 8/9] Revert "mm, vmscan: account for skipped pages as a partial scan"
Date 2017-03-01 01:10 +0100
Message-ID <tg00a-3dN-13@gated-at.bofh.it> (permalink)
References <tfZQt-2Vc-9@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


This reverts commit d7f05528eedb047efe2288cff777676b028747b6.

Now that reclaimability of a node is no longer based on the ratio
between pages scanned and theoretically reclaimable pages, we can
remove accounting tricks for pages skipped due to zone constraints.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
---
 mm/vmscan.c | 22 ++++------------------
 1 file changed, 4 insertions(+), 18 deletions(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 35b791a8922b..ddcff8a11c1e 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1471,12 +1471,12 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan,
 	unsigned long nr_taken = 0;
 	unsigned long nr_zone_taken[MAX_NR_ZONES] = { 0 };
 	unsigned long nr_skipped[MAX_NR_ZONES] = { 0, };
-	unsigned long skipped = 0, total_skipped = 0;
+	unsigned long skipped = 0;
 	unsigned long scan, nr_pages;
 	LIST_HEAD(pages_skipped);
 
 	for (scan = 0; scan < nr_to_scan && nr_taken < nr_to_scan &&
-					!list_empty(src);) {
+					!list_empty(src); scan++) {
 		struct page *page;
 
 		page = lru_to_page(src);
@@ -1490,12 +1490,6 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan,
 			continue;
 		}
 
-		/*
-		 * Account for scanned and skipped separetly to avoid the pgdat
-		 * being prematurely marked unreclaimable by pgdat_reclaimable.
-		 */
-		scan++;
-
 		switch (__isolate_lru_page(page, mode)) {
 		case 0:
 			nr_pages = hpage_nr_pages(page);
@@ -1524,6 +1518,7 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan,
 	if (!list_empty(&pages_skipped)) {
 		int zid;
 
+		list_splice(&pages_skipped, src);
 		for (zid = 0; zid < MAX_NR_ZONES; zid++) {
 			if (!nr_skipped[zid])
 				continue;
@@ -1531,17 +1526,8 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan,
 			__count_zid_vm_events(PGSCAN_SKIP, zid, nr_skipped[zid]);
 			skipped += nr_skipped[zid];
 		}
-
-		/*
-		 * Account skipped pages as a partial scan as the pgdat may be
-		 * close to unreclaimable. If the LRU list is empty, account
-		 * skipped pages as a full scan.
-		 */
-		total_skipped = list_empty(src) ? skipped : skipped >> 2;
-
-		list_splice(&pages_skipped, src);
 	}
-	*nr_scanned = scan + total_skipped;
+	*nr_scanned = scan;
 	trace_mm_vmscan_lru_isolate(sc->reclaim_idx, sc->order, nr_to_scan,
 				    scan, skipped, nr_taken, mode, lru);
 	update_lru_sizes(lruvec, lru, nr_zone_taken);
-- 
2.11.1

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/9] mm: kswapd spinning on unreclaimable nodes - fixes and cleanups Johannes Weiner <hannes@cmpxchg.org> - 2017-03-01 01:00 +0100
  [PATCH 4/9] mm: remove unnecessary reclaimability check from NUMA balancing target Johannes Weiner <hannes@cmpxchg.org> - 2017-03-01 01:10 +0100
    Re: [PATCH 4/9] mm: remove unnecessary reclaimability check from  NUMA balancing target Michal Hocko <mhocko@kernel.org> - 2017-03-01 20:30 +0100
    Re: [PATCH 4/9] mm: remove unnecessary reclaimability check from NUMA balancing target "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2017-03-02 04:40 +0100
  [PATCH 8/9] Revert "mm, vmscan: account for skipped pages as a partial scan" Johannes Weiner <hannes@cmpxchg.org> - 2017-03-01 01:10 +0100
    Re: [PATCH 8/9] Revert "mm, vmscan: account for skipped pages as a  partial scan" Michal Hocko <mhocko@kernel.org> - 2017-03-01 17:00 +0100
  [PATCH 3/9] mm: remove seemingly spurious reclaimability check from laptop_mode gating Johannes Weiner <hannes@cmpxchg.org> - 2017-03-01 09:00 +0100
    Re: [PATCH 3/9] mm: remove seemingly spurious reclaimability check  from laptop_mode gating Mel Gorman <mgorman@suse.de> - 2017-03-01 16:20 +0100
    Re: [PATCH 3/9] mm: remove seemingly spurious reclaimability check  from laptop_mode gating Michal Hocko <mhocko@kernel.org> - 2017-03-01 16:50 +0100
    Re: [PATCH 3/9] mm: remove seemingly spurious reclaimability check from laptop_mode gating "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2017-03-02 04:30 +0100
  [PATCH 6/9] mm: don't avoid high-priority reclaim on memcg limit reclaim Johannes Weiner <hannes@cmpxchg.org> - 2017-03-01 09:00 +0100
    Re: [PATCH 6/9] mm: don't avoid high-priority reclaim on memcg limit  reclaim Michal Hocko <mhocko@kernel.org> - 2017-03-01 17:00 +0100
      Re: [PATCH 6/9] mm: don't avoid high-priority reclaim on memcg limit  reclaim Johannes Weiner <hannes@cmpxchg.org> - 2017-03-01 19:30 +0100
        Re: [PATCH 6/9] mm: don't avoid high-priority reclaim on memcg limit  reclaim Michal Hocko <mhocko@kernel.org> - 2017-03-01 20:20 +0100
    Re: [PATCH 6/9] mm: don't avoid high-priority reclaim on memcg limit reclaim "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2017-03-02 04:40 +0100
  [PATCH 2/9] mm: fix check for reclaimable pages in PF_MEMALLOC reclaim throttling Johannes Weiner <hannes@cmpxchg.org> - 2017-03-01 09:00 +0100
    Re: [PATCH 2/9] mm: fix check for reclaimable pages in PF_MEMALLOC  reclaim throttling Michal Hocko <mhocko@kernel.org> - 2017-03-01 16:10 +0100
    Re: [PATCH 2/9] mm: fix check for reclaimable pages in PF_MEMALLOC reclaim throttling "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2017-03-02 04:30 +0100
  [PATCH 7/9] mm: delete NR_PAGES_SCANNED and pgdat_reclaimable() Johannes Weiner <hannes@cmpxchg.org> - 2017-03-01 09:00 +0100
    Re: [PATCH 7/9] mm: delete NR_PAGES_SCANNED and pgdat_reclaimable() Michal Hocko <mhocko@kernel.org> - 2017-03-01 16:50 +0100
  [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable nodes Johannes Weiner <hannes@cmpxchg.org> - 2017-03-01 09:00 +0100
    Re: [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable nodes "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2017-03-02 04:30 +0100
    Re: [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable nodes Shakeel Butt <shakeelb@google.com> - 2017-03-03 02:40 +0100
    Re: [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable  nodes Minchan Kim <minchan@kernel.org> - 2017-03-03 02:50 +0100
      Re: [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable  nodes Michal Hocko <mhocko@kernel.org> - 2017-03-03 09:10 +0100
        Re: [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable  nodes Minchan Kim <minchan@kernel.org> - 2017-03-06 02:40 +0100
          Re: [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable  nodes Johannes Weiner <hannes@cmpxchg.org> - 2017-03-06 17:40 +0100
            Re: [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable nodes "Hillf Danton" <hillf.zj@alibaba-inc.com> - 2017-03-07 02:10 +0100
            Re: [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable  nodes Minchan Kim <minchan@kernel.org> - 2017-03-07 08:50 +0100
            Re: [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable  nodes Michal Hocko <mhocko@kernel.org> - 2017-03-07 11:30 +0100
              Re: [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable  nodes Johannes Weiner <hannes@cmpxchg.org> - 2017-03-07 20:00 +0100
                Re: [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable  nodes Mel Gorman <mgorman@suse.de> - 2017-03-09 15:40 +0100
  [PATCH 9/9] mm: remove unnecessary back-off function when retrying page reclaim Johannes Weiner <hannes@cmpxchg.org> - 2017-03-01 15:00 +0100
    Re: [PATCH 9/9] mm: remove unnecessary back-off function when  retrying page reclaim Michal Hocko <mhocko@kernel.org> - 2017-03-01 16:50 +0100
  [PATCH 5/9] mm: don't avoid high-priority reclaim on unreclaimable nodes Johannes Weiner <hannes@cmpxchg.org> - 2017-03-01 15:00 +0100
    Re: [PATCH 5/9] mm: don't avoid high-priority reclaim on  unreclaimable nodes Michal Hocko <mhocko@kernel.org> - 2017-03-01 17:00 +0100

csiph-web