From: Punit Agrawal <punit.agrawal@bytedance.com>
To: William Lam <william.lam@bytedance.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm: compaction: include compound page count for scanning in pageblock isolation
Date: Fri, 15 Jul 2022 10:23:07 +0100 [thread overview]
Message-ID: <874jzin30k.fsf@stealth> (raw)
In-Reply-To: <20220711202806.22296-1-william.lam@bytedance.com> (William Lam's message of "Mon, 11 Jul 2022 21:28:06 +0100")
Hi William,
William Lam <william.lam@bytedance.com> writes:
> The number of scanned pages can be lower than the number of isolated
> pages when isolating mirgratable or free pageblock. The metric is being
> reported in trace event and also used in vmstat.
>
> This behaviour is confusing since currently the count for isolated pages
> takes account of compound page but not for the case of scanned pages.
> And given that the number of isolated pages(nr_taken) reported in
> mm_compaction_isolate_template trace event is on a single-page basis,
> the ambiguity when reporting the number of scanned pages can be removed
> by also including compound page count.
A minor suggestion - It maybe useful to include an example trace output
to highlight the issue.
>
> Signed-off-by: William Lam <william.lam@bytedance.com>
> ---
> mm/compaction.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/mm/compaction.c b/mm/compaction.c
> index 1f89b969c12b..1b51cf2d32b6 100644
> --- a/mm/compaction.c
> +++ b/mm/compaction.c
> @@ -616,6 +616,7 @@ static unsigned long isolate_freepages_block(struct compact_control *cc,
> break;
> set_page_private(page, order);
>
> + nr_scanned += isolated - 1;
> total_isolated += isolated;
> cc->nr_freepages += isolated;
> list_add_tail(&page->lru, freelist);
> @@ -1101,6 +1102,7 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn,
> isolate_success_no_list:
> cc->nr_migratepages += compound_nr(page);
> nr_isolated += compound_nr(page);
> + nr_scanned += compound_nr(page) - 1;
>
> /*
> * Avoid isolating too much unless this block is being
> @@ -1504,6 +1506,7 @@ fast_isolate_freepages(struct compact_control *cc)
> if (__isolate_free_page(page, order)) {
> set_page_private(page, order);
> nr_isolated = 1 << order;
> + nr_scanned += nr_isolated - 1;
> cc->nr_freepages += nr_isolated;
> list_add_tail(&page->lru, &cc->freepages);
> count_compact_events(COMPACTISOLATED, nr_isolated);
Regardless of the comment above -
Reviewed-by: Punit Agrawal <punit.agrawal@bytedance.com>
next prev parent reply other threads:[~2022-07-15 9:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-11 20:28 [PATCH] mm: compaction: include compound page count for scanning in pageblock isolation William Lam
2022-07-11 20:28 ` William Lam
2022-07-15 9:23 ` Punit Agrawal [this message]
2022-07-15 14:13 ` William Lam
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=874jzin30k.fsf@stealth \
--to=punit.agrawal@bytedance.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=william.lam@bytedance.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 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.