From: Vlastimil Babka <vbabka@suse.cz> To: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Minchan Kim <minchan@kernel.org>, Mel Gorman <mgorman@suse.de>, Michal Nazarewicz <mina86@mina86.com>, Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>, Christoph Lameter <cl@linux.com>, Rik van Riel <riel@redhat.com>, David Rientjes <rientjes@google.com> Subject: Re: [PATCH 3/6] mm, compaction: encapsulate resetting cached scanner positions Date: Tue, 16 Jun 2015 14:13:28 +0200 [thread overview] Message-ID: <558012E8.8090605@suse.cz> (raw) In-Reply-To: <20150616054115.GC12641@js1304-P5Q-DELUXE> On 06/16/2015 07:41 AM, Joonsoo Kim wrote: > On Wed, Jun 10, 2015 at 11:32:31AM +0200, Vlastimil Babka wrote: >> Resetting the cached compaction scanner positions is now done implicitly in >> __reset_isolation_suitable() and compact_finished(). Encapsulate the >> functionality in a new function reset_cached_positions() and call it explicitly >> where needed. >> >> Signed-off-by: Vlastimil Babka <vbabka@suse.cz> >> Cc: Minchan Kim <minchan@kernel.org> >> Cc: Mel Gorman <mgorman@suse.de> >> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> >> Cc: Michal Nazarewicz <mina86@mina86.com> >> Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> >> Cc: Christoph Lameter <cl@linux.com> >> Cc: Rik van Riel <riel@redhat.com> >> Cc: David Rientjes <rientjes@google.com> >> --- >> mm/compaction.c | 22 ++++++++++++++-------- >> 1 file changed, 14 insertions(+), 8 deletions(-) >> >> diff --git a/mm/compaction.c b/mm/compaction.c >> index 7e0a814..d334bb3 100644 >> --- a/mm/compaction.c >> +++ b/mm/compaction.c >> @@ -207,6 +207,13 @@ static inline bool isolation_suitable(struct compact_control *cc, >> return !get_pageblock_skip(page); >> } >> >> +static void reset_cached_positions(struct zone *zone) >> +{ >> + zone->compact_cached_migrate_pfn[0] = zone->zone_start_pfn; >> + zone->compact_cached_migrate_pfn[1] = zone->zone_start_pfn; >> + zone->compact_cached_free_pfn = zone_end_pfn(zone); >> +} >> + >> /* >> * This function is called to clear all cached information on pageblocks that >> * should be skipped for page isolation when the migrate and free page scanner >> @@ -218,9 +225,6 @@ static void __reset_isolation_suitable(struct zone *zone) >> unsigned long end_pfn = zone_end_pfn(zone); >> unsigned long pfn; >> >> - zone->compact_cached_migrate_pfn[0] = start_pfn; >> - zone->compact_cached_migrate_pfn[1] = start_pfn; >> - zone->compact_cached_free_pfn = end_pfn; >> zone->compact_blockskip_flush = false; > > Is there a valid reason not to call reset_cached_positions() in > __reset_isolation_suitable? Hm maybe not, except being somewhat implicit again. It might had a stronger reason in the previous patchset. > You missed one callsite in > __compact_pgdat(). > > if (cc->order == -1) > __reset_isolation_suitable(zone); > > This also needs reset_cached_positions(). Ah, good catch. Thanks. > > Thanks. >
WARNING: multiple messages have this Message-ID (diff)
From: Vlastimil Babka <vbabka@suse.cz> To: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Minchan Kim <minchan@kernel.org>, Mel Gorman <mgorman@suse.de>, Michal Nazarewicz <mina86@mina86.com>, Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>, Christoph Lameter <cl@linux.com>, Rik van Riel <riel@redhat.com>, David Rientjes <rientjes@google.com> Subject: Re: [PATCH 3/6] mm, compaction: encapsulate resetting cached scanner positions Date: Tue, 16 Jun 2015 14:13:28 +0200 [thread overview] Message-ID: <558012E8.8090605@suse.cz> (raw) In-Reply-To: <20150616054115.GC12641@js1304-P5Q-DELUXE> On 06/16/2015 07:41 AM, Joonsoo Kim wrote: > On Wed, Jun 10, 2015 at 11:32:31AM +0200, Vlastimil Babka wrote: >> Resetting the cached compaction scanner positions is now done implicitly in >> __reset_isolation_suitable() and compact_finished(). Encapsulate the >> functionality in a new function reset_cached_positions() and call it explicitly >> where needed. >> >> Signed-off-by: Vlastimil Babka <vbabka@suse.cz> >> Cc: Minchan Kim <minchan@kernel.org> >> Cc: Mel Gorman <mgorman@suse.de> >> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> >> Cc: Michal Nazarewicz <mina86@mina86.com> >> Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> >> Cc: Christoph Lameter <cl@linux.com> >> Cc: Rik van Riel <riel@redhat.com> >> Cc: David Rientjes <rientjes@google.com> >> --- >> mm/compaction.c | 22 ++++++++++++++-------- >> 1 file changed, 14 insertions(+), 8 deletions(-) >> >> diff --git a/mm/compaction.c b/mm/compaction.c >> index 7e0a814..d334bb3 100644 >> --- a/mm/compaction.c >> +++ b/mm/compaction.c >> @@ -207,6 +207,13 @@ static inline bool isolation_suitable(struct compact_control *cc, >> return !get_pageblock_skip(page); >> } >> >> +static void reset_cached_positions(struct zone *zone) >> +{ >> + zone->compact_cached_migrate_pfn[0] = zone->zone_start_pfn; >> + zone->compact_cached_migrate_pfn[1] = zone->zone_start_pfn; >> + zone->compact_cached_free_pfn = zone_end_pfn(zone); >> +} >> + >> /* >> * This function is called to clear all cached information on pageblocks that >> * should be skipped for page isolation when the migrate and free page scanner >> @@ -218,9 +225,6 @@ static void __reset_isolation_suitable(struct zone *zone) >> unsigned long end_pfn = zone_end_pfn(zone); >> unsigned long pfn; >> >> - zone->compact_cached_migrate_pfn[0] = start_pfn; >> - zone->compact_cached_migrate_pfn[1] = start_pfn; >> - zone->compact_cached_free_pfn = end_pfn; >> zone->compact_blockskip_flush = false; > > Is there a valid reason not to call reset_cached_positions() in > __reset_isolation_suitable? Hm maybe not, except being somewhat implicit again. It might had a stronger reason in the previous patchset. > You missed one callsite in > __compact_pgdat(). > > if (cc->order == -1) > __reset_isolation_suitable(zone); > > This also needs reset_cached_positions(). Ah, good catch. Thanks. > > Thanks. > -- 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:[~2015-06-16 12:13 UTC|newest] Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-06-10 9:32 [PATCH 0/6] Assorted compaction cleanups and optimizations Vlastimil Babka 2015-06-10 9:32 ` Vlastimil Babka 2015-06-10 9:32 ` [PATCH 1/6] mm, compaction: more robust check for scanners meeting Vlastimil Babka 2015-06-10 9:32 ` Vlastimil Babka 2015-06-10 18:02 ` Rik van Riel 2015-06-10 18:02 ` Rik van Riel 2015-06-12 9:55 ` Michal Nazarewicz 2015-06-12 9:55 ` Michal Nazarewicz 2015-06-16 5:37 ` Joonsoo Kim 2015-06-16 5:37 ` Joonsoo Kim 2015-06-19 13:41 ` Mel Gorman 2015-06-19 13:41 ` Mel Gorman 2015-06-10 9:32 ` [PATCH 2/6] mm, compaction: simplify handling restart position in free pages scanner Vlastimil Babka 2015-06-10 9:32 ` Vlastimil Babka 2015-06-16 5:38 ` Joonsoo Kim 2015-06-16 5:38 ` Joonsoo Kim 2015-06-19 13:48 ` Mel Gorman 2015-06-19 13:48 ` Mel Gorman 2015-06-10 9:32 ` [PATCH 3/6] mm, compaction: encapsulate resetting cached scanner positions Vlastimil Babka 2015-06-10 9:32 ` Vlastimil Babka 2015-06-12 10:07 ` Michal Nazarewicz 2015-06-12 10:07 ` Michal Nazarewicz 2015-06-16 5:41 ` Joonsoo Kim 2015-06-16 5:41 ` Joonsoo Kim 2015-06-16 12:13 ` Vlastimil Babka [this message] 2015-06-16 12:13 ` Vlastimil Babka 2015-06-10 9:32 ` [PATCH 4/6] mm, compaction: always skip compound pages by order in migrate scanner Vlastimil Babka 2015-06-10 9:32 ` Vlastimil Babka 2015-06-12 10:11 ` Michal Nazarewicz 2015-06-12 10:11 ` Michal Nazarewicz 2015-06-16 5:44 ` Joonsoo Kim 2015-06-16 5:44 ` Joonsoo Kim 2015-06-16 12:16 ` Vlastimil Babka 2015-06-16 12:16 ` Vlastimil Babka 2015-06-19 13:58 ` Mel Gorman 2015-06-19 13:58 ` Mel Gorman 2015-06-10 9:32 ` [PATCH 5/6] mm, compaction: skip compound pages by order in free scanner Vlastimil Babka 2015-06-10 9:32 ` Vlastimil Babka 2015-06-12 10:18 ` Michal Nazarewicz 2015-06-12 10:18 ` Michal Nazarewicz 2015-06-16 5:45 ` Joonsoo Kim 2015-06-16 5:45 ` Joonsoo Kim 2015-06-10 9:32 ` [PATCH 6/6] mm, compaction: decouple updating pageblock_skip and cached pfn Vlastimil Babka 2015-06-10 9:32 ` Vlastimil Babka 2015-06-16 6:10 ` Joonsoo Kim 2015-06-16 6:10 ` Joonsoo Kim 2015-06-16 12:33 ` Vlastimil Babka 2015-06-16 12:33 ` Vlastimil Babka 2015-06-16 13:03 ` Joonsoo Kim 2015-06-16 13:03 ` Joonsoo Kim
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=558012E8.8090605@suse.cz \ --to=vbabka@suse.cz \ --cc=akpm@linux-foundation.org \ --cc=cl@linux.com \ --cc=iamjoonsoo.kim@lge.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mgorman@suse.de \ --cc=mina86@mina86.com \ --cc=minchan@kernel.org \ --cc=n-horiguchi@ah.jp.nec.com \ --cc=riel@redhat.com \ --cc=rientjes@google.com \ /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.