linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Joonsoo Kim <iamjoonsoo.kim@lge.com>
To: zhong jiang <zhongjiang@huawei.com>
Cc: Vlastimil Babka <vbabka@suse.cz>,
	akpm@linux-foundation.org, linux-mm@kvack.org
Subject: Re: [PATCH] mm: walk the zone in pageblock_nr_pages steps
Date: Thu, 28 Jul 2016 15:57:25 +0900	[thread overview]
Message-ID: <20160728065724.GB28136@js1304-P5Q-DELUXE> (raw)
In-Reply-To: <57972DD3.3050909@huawei.com>

On Tue, Jul 26, 2016 at 05:30:59PM +0800, zhong jiang wrote:
> On 2016/7/26 16:53, Vlastimil Babka wrote:
> > On 07/26/2016 10:31 AM, zhong jiang wrote:
> >> On 2016/7/26 14:24, Vlastimil Babka wrote:
> >>> On 07/26/2016 05:08 AM, zhongjiang wrote:
> >>>> From: zhong jiang <zhongjiang@huawei.com>
> >>>>
> >>>> when walking the zone, we can happens to the holes. we should
> >>>> not align MAX_ORDER_NR_PAGES, so it can skip the normal memory.

Do you have any system to trigger this problem?

I'm not familiar with CONFIG_HOLES_IN_ZONE system, but, as Vlastimil saids,
skip by pageblock size also has similar problem that skip the normal memory
because hole's granularity would not be pageblock size.

Anyway, if you want not to skip the normal memory, following code would work.
I think that it is a better way since it doesn't depend on hole's granularity.

Thanks.

--------->8-----------
diff --git a/mm/vmstat.c b/mm/vmstat.c
index e1a4690..4184db2 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1276,6 +1276,11 @@ static void pagetypeinfo_showmixedcount_print(struct seq_file *m,
         * not matter as the mixed block count will still be correct
         */
        for (; pfn < end_pfn; ) {
+               if (!pfn_valid_within(pfn)) {
+                       pfn++;
+                       continue;
+               }
+
                if (!pfn_valid(pfn)) {
                        pfn = ALIGN(pfn + 1, MAX_ORDER_NR_PAGES);
                        continue;

--
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>

  reply	other threads:[~2016-07-28  6:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-26  3:08 zhongjiang
2016-07-26  3:08 ` zhongjiang
2016-07-26  6:24 ` Vlastimil Babka
2016-07-26  8:31   ` zhong jiang
2016-07-26  8:53     ` Vlastimil Babka
2016-07-26  9:30       ` zhong jiang
2016-07-28  6:57         ` Joonsoo Kim [this message]
2016-07-28  7:23           ` zhong jiang
  -- strict thread matches above, loose matches on Subject: below --
2016-07-23 12:26 zhongjiang

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=20160728065724.GB28136@js1304-P5Q-DELUXE \
    --to=iamjoonsoo.kim@lge.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-mm@kvack.org \
    --cc=vbabka@suse.cz \
    --cc=zhongjiang@huawei.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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox