From: Michal Hocko <mhocko@kernel.org> To: Johannes Weiner <hannes@cmpxchg.org> Cc: Andrew Morton <akpm@linux-foundation.org>, Jia He <hejianet@gmail.com>, Mel Gorman <mgorman@suse.de>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: Re: [PATCH 8/9] Revert "mm, vmscan: account for skipped pages as a partial scan" Date: Wed, 1 Mar 2017 16:51:38 +0100 [thread overview] Message-ID: <20170301155138.GH11730@dhcp22.suse.cz> (raw) In-Reply-To: <20170228214007.5621-9-hannes@cmpxchg.org> On Tue 28-02-17 16:40:06, Johannes Weiner wrote: > 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> Acked-by: Michal Hocko <mhocko@suse.com> > --- > 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 -- Michal Hocko SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org> To: Johannes Weiner <hannes@cmpxchg.org> Cc: Andrew Morton <akpm@linux-foundation.org>, Jia He <hejianet@gmail.com>, Mel Gorman <mgorman@suse.de>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@fb.com Subject: Re: [PATCH 8/9] Revert "mm, vmscan: account for skipped pages as a partial scan" Date: Wed, 1 Mar 2017 16:51:38 +0100 [thread overview] Message-ID: <20170301155138.GH11730@dhcp22.suse.cz> (raw) In-Reply-To: <20170228214007.5621-9-hannes@cmpxchg.org> On Tue 28-02-17 16:40:06, Johannes Weiner wrote: > 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> Acked-by: Michal Hocko <mhocko@suse.com> > --- > 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 -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2017-03-01 15:52 UTC|newest] Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-02-28 21:39 [PATCH 0/9] mm: kswapd spinning on unreclaimable nodes - fixes and cleanups Johannes Weiner 2017-02-28 21:39 ` Johannes Weiner 2017-02-28 21:39 ` [PATCH 1/9] mm: fix 100% CPU kswapd busyloop on unreclaimable nodes Johannes Weiner 2017-02-28 21:39 ` Johannes Weiner 2017-03-02 3:23 ` Hillf Danton 2017-03-02 3:23 ` Hillf Danton 2017-03-02 23:30 ` Shakeel Butt 2017-03-02 23:30 ` Shakeel Butt 2017-03-03 1:26 ` Minchan Kim 2017-03-03 1:26 ` Minchan Kim 2017-03-03 7:59 ` Michal Hocko 2017-03-03 7:59 ` Michal Hocko 2017-03-06 1:37 ` Minchan Kim 2017-03-06 1:37 ` Minchan Kim 2017-03-06 16:24 ` Johannes Weiner 2017-03-06 16:24 ` Johannes Weiner 2017-03-07 0:59 ` Hillf Danton 2017-03-07 0:59 ` Hillf Danton 2017-03-07 7:28 ` Minchan Kim 2017-03-07 7:28 ` Minchan Kim 2017-03-07 10:17 ` Michal Hocko 2017-03-07 10:17 ` Michal Hocko 2017-03-07 16:56 ` Johannes Weiner 2017-03-07 16:56 ` Johannes Weiner 2017-03-09 14:20 ` Mel Gorman 2017-03-09 14:20 ` Mel Gorman 2017-02-28 21:40 ` [PATCH 2/9] mm: fix check for reclaimable pages in PF_MEMALLOC reclaim throttling Johannes Weiner 2017-02-28 21:40 ` Johannes Weiner 2017-03-01 15:02 ` Michal Hocko 2017-03-01 15:02 ` Michal Hocko 2017-03-02 3:25 ` Hillf Danton 2017-03-02 3:25 ` Hillf Danton 2017-02-28 21:40 ` [PATCH 3/9] mm: remove seemingly spurious reclaimability check from laptop_mode gating Johannes Weiner 2017-02-28 21:40 ` Johannes Weiner 2017-03-01 15:06 ` Michal Hocko 2017-03-01 15:06 ` Michal Hocko 2017-03-01 15:17 ` Mel Gorman 2017-03-01 15:17 ` Mel Gorman 2017-03-02 3:27 ` Hillf Danton 2017-03-02 3:27 ` Hillf Danton 2017-02-28 21:40 ` [PATCH 4/9] mm: remove unnecessary reclaimability check from NUMA balancing target Johannes Weiner 2017-02-28 21:40 ` Johannes Weiner 2017-03-01 15:14 ` Michal Hocko 2017-03-01 15:14 ` Michal Hocko 2017-03-02 3:28 ` Hillf Danton 2017-03-02 3:28 ` Hillf Danton 2017-02-28 21:40 ` [PATCH 5/9] mm: don't avoid high-priority reclaim on unreclaimable nodes Johannes Weiner 2017-02-28 21:40 ` Johannes Weiner 2017-03-01 15:21 ` Michal Hocko 2017-03-01 15:21 ` Michal Hocko 2017-03-02 3:31 ` Hillf Danton 2017-03-02 3:31 ` Hillf Danton 2017-02-28 21:40 ` [PATCH 6/9] mm: don't avoid high-priority reclaim on memcg limit reclaim Johannes Weiner 2017-02-28 21:40 ` Johannes Weiner 2017-03-01 15:40 ` Michal Hocko 2017-03-01 15:40 ` Michal Hocko 2017-03-01 17:36 ` Johannes Weiner 2017-03-01 17:36 ` Johannes Weiner 2017-03-01 19:13 ` Michal Hocko 2017-03-01 19:13 ` Michal Hocko 2017-03-02 3:32 ` Hillf Danton 2017-03-02 3:32 ` Hillf Danton 2017-02-28 21:40 ` [PATCH 7/9] mm: delete NR_PAGES_SCANNED and pgdat_reclaimable() Johannes Weiner 2017-02-28 21:40 ` Johannes Weiner 2017-03-01 15:41 ` Michal Hocko 2017-03-01 15:41 ` Michal Hocko 2017-03-02 3:34 ` Hillf Danton 2017-03-02 3:34 ` Hillf Danton 2017-02-28 21:40 ` [PATCH 8/9] Revert "mm, vmscan: account for skipped pages as a partial scan" Johannes Weiner 2017-02-28 21:40 ` Johannes Weiner 2017-03-01 15:51 ` Michal Hocko [this message] 2017-03-01 15:51 ` Michal Hocko 2017-03-02 3:36 ` Hillf Danton 2017-03-02 3:36 ` Hillf Danton 2017-02-28 21:40 ` [PATCH 9/9] mm: remove unnecessary back-off function when retrying page reclaim Johannes Weiner 2017-02-28 21:40 ` Johannes Weiner 2017-03-01 14:56 ` Michal Hocko 2017-03-01 14:56 ` Michal Hocko 2017-03-02 3:37 ` Hillf Danton 2017-03-02 3:37 ` Hillf Danton
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170301155138.GH11730@dhcp22.suse.cz \ --to=mhocko@kernel.org \ --cc=akpm@linux-foundation.org \ --cc=hannes@cmpxchg.org \ --cc=hejianet@gmail.com \ --cc=kernel-team@fb.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mgorman@suse.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.