All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Huang\, Ying" <ying.huang@intel.com>
To: Yang Shi <shy828301@gmail.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>,
	 Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	 Linux MM <linux-mm@kvack.org>,
	 Yang Shi <yang.shi@linux.alibaba.com>,
	 David Rientjes <rientjes@google.com>,
	 Dan Williams <dan.j.williams@intel.com>,
	 David Hildenbrand <david@redhat.com>
Subject: Re: [RFC][PATCH 6/9] mm/vmscan: add page demotion counter
Date: Wed, 28 Oct 2020 09:25:35 +0800	[thread overview]
Message-ID: <87ft5zywds.fsf@yhuang-dev.intel.com> (raw)
In-Reply-To: <CAHbLzkpFTVhBhrj715ixu_bYrbpOZwLn3Y3=+miKs9hCCiOW7g@mail.gmail.com> (Yang Shi's message of "Tue, 27 Oct 2020 09:41:27 -0700")

Yang Shi <shy828301@gmail.com> writes:

> On Mon, Oct 19, 2020 at 12:38 AM Huang, Ying <ying.huang@intel.com> wrote:
>>
>> Dave Hansen <dave.hansen@linux.intel.com> writes:
>>
>> > From: Yang Shi <yang.shi@linux.alibaba.com>
>> >
>> > Account the number of demoted pages into reclaim_state->nr_demoted.
>>
>> It appears that you don't add "nr_demoted" into struct reclaim_state.
>>
>> > Add pgdemote_kswapd and pgdemote_direct VM counters showed in
>> > /proc/vmstat.
>> >
>> > [ daveh:
>> >    - __count_vm_events() a bit, and made them look at the THP
>> >      size directly rather than getting data from migrate_pages()
>>
>> It appears that we get the data from migrate_pages() now.
>>
>> > ]
>> >
>> > Signed-off-by: Yang Shi <yang.shi@linux.alibaba.com>
>> > Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
>> > Cc: David Rientjes <rientjes@google.com>
>> > Cc: Huang Ying <ying.huang@intel.com>
>> > Cc: Dan Williams <dan.j.williams@intel.com>
>> > Cc: David Hildenbrand <david@redhat.com>
>> > ---
>> >
>> >  b/include/linux/vm_event_item.h |    2 ++
>> >  b/mm/vmscan.c                   |    6 ++++++
>> >  b/mm/vmstat.c                   |    2 ++
>> >  3 files changed, 10 insertions(+)
>> >
>> > diff -puN include/linux/vm_event_item.h~mm-vmscan-add-page-demotion-counter include/linux/vm_event_item.h
>> > --- a/include/linux/vm_event_item.h~mm-vmscan-add-page-demotion-counter       2020-10-07 09:15:32.171642439 -0700
>> > +++ b/include/linux/vm_event_item.h   2020-10-07 09:15:32.179642439 -0700
>> > @@ -33,6 +33,8 @@ enum vm_event_item { PGPGIN, PGPGOUT, PS
>> >               PGREUSE,
>> >               PGSTEAL_KSWAPD,
>> >               PGSTEAL_DIRECT,
>> > +             PGDEMOTE_KSWAPD,
>> > +             PGDEMOTE_DIRECT,
>> >               PGSCAN_KSWAPD,
>> >               PGSCAN_DIRECT,
>> >               PGSCAN_DIRECT_THROTTLE,
>> > diff -puN mm/vmscan.c~mm-vmscan-add-page-demotion-counter mm/vmscan.c
>> > --- a/mm/vmscan.c~mm-vmscan-add-page-demotion-counter 2020-10-07 09:15:32.173642439 -0700
>> > +++ b/mm/vmscan.c     2020-10-07 09:15:32.180642439 -0700
>> > @@ -147,6 +147,7 @@ struct scan_control {
>> >               unsigned int immediate;
>> >               unsigned int file_taken;
>> >               unsigned int taken;
>> > +             unsigned int demoted;
>>
>> It appears that this newly added field isn't used in the patch.
>
> My original patch tracked nr_demoted in reclaim_stat as well, but it
> seems Dave dropped that part. If Dave thinks it is not necessary to
> keep tracking nr_demoted in reclaim_stat, then that field should be
> dropped.

Personally, I prefer to collect nr_demoted in struct reclaim_stat and
call counting functions in shrink_inactive_list() as other reclaiming
statistics.

Best Regards,
Huang, Ying

>>
>> >       } nr;
>> >
>> >       /* for recording the reclaimed slab by now */
>> > @@ -1134,6 +1135,11 @@ static unsigned int demote_page_list(str
>> >                           target_nid, MIGRATE_ASYNC, MR_DEMOTION,
>> >                           &nr_succeeded);
>> >
>> > +     if (current_is_kswapd())
>> > +             __count_vm_events(PGDEMOTE_KSWAPD, nr_succeeded);
>> > +     else
>> > +             __count_vm_events(PGDEMOTE_DIRECT, nr_succeeded);
>> > +
>> >       return nr_succeeded;
>> >  }
>> >
>> > diff -puN mm/vmstat.c~mm-vmscan-add-page-demotion-counter mm/vmstat.c
>> > --- a/mm/vmstat.c~mm-vmscan-add-page-demotion-counter 2020-10-07 09:15:32.175642439 -0700
>> > +++ b/mm/vmstat.c     2020-10-07 09:15:32.181642439 -0700
>> > @@ -1244,6 +1244,8 @@ const char * const vmstat_text[] = {
>> >       "pgreuse",
>> >       "pgsteal_kswapd",
>> >       "pgsteal_direct",
>> > +     "pgdemote_kswapd",
>> > +     "pgdemote_direct",
>> >       "pgscan_kswapd",
>> >       "pgscan_direct",
>> >       "pgscan_direct_throttle",
>> > _
>>
>> Best Regards,
>> Huang, Ying
>>


  reply	other threads:[~2020-10-28  1:25 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-07 16:17 [RFC][PATCH 0/9] [v4][RESEND] Migrate Pages in lieu of discard Dave Hansen
2020-10-07 16:17 ` Dave Hansen
2020-10-07 16:17 ` [RFC][PATCH 1/9] mm/numa: node demotion data structure and lookup Dave Hansen
2020-10-07 16:17   ` Dave Hansen
2020-10-07 16:17 ` [RFC][PATCH 2/9] mm/numa: automatically generate node migration order Dave Hansen
2020-10-07 16:17   ` Dave Hansen
2020-10-07 16:17 ` [RFC][PATCH 3/9] mm/migrate: update migration order during on hotplug events Dave Hansen
2020-10-07 16:17   ` Dave Hansen
2020-10-07 18:08   ` osalvador
2020-10-07 16:17 ` [RFC][PATCH 4/9] mm/migrate: make migrate_pages() return nr_succeeded Dave Hansen
2020-10-07 16:17   ` Dave Hansen
2020-10-07 16:17 ` [RFC][PATCH 5/9] mm/migrate: demote pages during reclaim Dave Hansen
2020-10-07 16:17   ` Dave Hansen
2020-10-27 15:29   ` Oscar Salvador
2020-10-27 16:53     ` Yang Shi
2020-10-27 16:53       ` Yang Shi
2020-10-07 16:17 ` [RFC][PATCH 6/9] mm/vmscan: add page demotion counter Dave Hansen
2020-10-07 16:17   ` Dave Hansen
2020-10-19  7:37   ` Huang, Ying
2020-10-19  7:37     ` Huang, Ying
2020-10-27 16:41     ` Yang Shi
2020-10-27 16:41       ` Yang Shi
2020-10-28  1:25       ` Huang, Ying [this message]
2020-10-07 16:17 ` [RFC][PATCH 7/9] mm/vmscan: Consider anonymous pages without swap Dave Hansen
2020-10-07 16:17   ` Dave Hansen
2020-10-29  8:14   ` Oscar Salvador
2020-10-29 14:33     ` Dave Hansen
2020-10-29 15:57       ` Yang Shi
2020-10-29 15:57         ` Yang Shi
2020-10-29 19:08         ` osalvador
2020-10-29 19:30           ` Yang Shi
2020-10-29 19:30             ` Yang Shi
2020-10-07 16:17 ` [RFC][PATCH 8/9] mm/vmscan: never demote for memcg reclaim Dave Hansen
2020-10-07 16:17   ` Dave Hansen
2020-10-07 16:17 ` [RFC][PATCH 9/9] mm/migrate: new zone_reclaim_mode to enable reclaim migration Dave Hansen
2020-10-07 16:17   ` Dave Hansen
2020-10-12 21:30 ` [RFC][PATCH 0/9] [v4][RESEND] Migrate Pages in lieu of discard Yang Shi
2020-10-12 21:30   ` Yang Shi
  -- strict thread matches above, loose matches on Subject: below --
2020-08-18 18:41 [RFC][PATCH 0/9] [v3] " Dave Hansen
2020-08-18 18:41 ` [RFC][PATCH 6/9] mm/vmscan: add page demotion counter Dave Hansen
2020-08-20 22:26   ` Yang Shi
2020-08-20 23:58     ` Yang Shi
2020-08-20 22:56   ` Yang Shi

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=87ft5zywds.fsf@yhuang-dev.intel.com \
    --to=ying.huang@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=rientjes@google.com \
    --cc=shy828301@gmail.com \
    --cc=yang.shi@linux.alibaba.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.