Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp1640544pxa; Thu, 20 Aug 2020 17:04:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw8mEj23H65mF7BAhBsLHy4Sbn6Y4l2t2ZnC0y2udaaG85ub3ozm6TI6crMg8pBAd0FvQNc X-Received: by 2002:a17:906:5a93:: with SMTP id l19mr378726ejq.418.1597968278980; Thu, 20 Aug 2020 17:04:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597968278; cv=none; d=google.com; s=arc-20160816; b=ZRHTZQ4QS7IdTo4FduxOf+LrI/KtZJwJ1W39cdoUqHETbMb4llgJQf7WlvwZ8n8C3h HROoaCP0S2R8BuYwsVai+o5hFRw2LWRzCQ3CECuaZHqSfn/HBPVjKJ3foa2scB8V8R9s gjQHtPhEP4vg7JT2GD51tqrxiBAneuLbPihWebJZFTJx2c1mXcsc4LQdF1169kgjhFrZ 3QbpuK7y1V6IirVbWf4kYL9gqAQlXdXlFA3QO/IkhRP0U26ZZlOiUBAYY1xzO7/p0E68 Rs4jJLeIlzjTxkV9OLb2/n4n+8my/HZ5QPBcQBGIDH86wz2xP1Wm/QHmxQWZr/y7r9Xy GpVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=9ltcYHArLoQsXGDP1rWIfO3JC1jU/kmH+fninhb3r4g=; b=H6BFOB02PwK38yyE5a5Jf6e/8afQTsRTkRKOQAHcZqfLp+f0vJFAoxPrMtbiHC2jxr 9WhLXOIrypZReaW3hQNOofEmAJsO+BfH29MZN40aW4VLnmTs7r6EaXtNsjCnNcpqPZnj 7QXyrob8AMXWdTx4zDKcJWoqWVAxlog+osl45EH+0XkpzYtqBuQs5FvUF2M670TWBaEr Pvz+TYDygpbZjo0cmcRUL0qaCC1vQ8ht+B09LoOviNL6XiKJOmvrby1TTEARWf1dOMkH psSmexIjwude/J7VICFTmiME6pr9KT6IVZkvnYmHwhQ/qV81VoEtJeA6KXOGh+T97mMK Yipg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=SJPIJwYZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ca18si63677edb.414.2020.08.20.17.04.15; Thu, 20 Aug 2020 17:04:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=SJPIJwYZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726975AbgHTX6g (ORCPT + 99 others); Thu, 20 Aug 2020 19:58:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50382 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726435AbgHTX6f (ORCPT ); Thu, 20 Aug 2020 19:58:35 -0400 Received: from mail-ej1-x643.google.com (mail-ej1-x643.google.com [IPv6:2a00:1450:4864:20::643]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7ACE8C061387 for ; Thu, 20 Aug 2020 16:58:35 -0700 (PDT) Received: by mail-ej1-x643.google.com with SMTP id g19so251923ejc.9 for ; Thu, 20 Aug 2020 16:58:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9ltcYHArLoQsXGDP1rWIfO3JC1jU/kmH+fninhb3r4g=; b=SJPIJwYZjsRJxH4Pn77CD1kcgeTKqIBrjfgQVHsEaGWg83JrJ/HTxJ0gS716H9ovsf /deLlRPB51HyyaPivrGC3anTMg9qz3/tbTtxF8rjrpRjBiYlt4yFDYpW+WlfvOIJHyOO rG+lOQ95fkHxVLr2dVbh9HD76wBiGfZKXa0xfRrGXRc6itTcMFGXsvHhTj2chFwfjTyL Lay4jQW0LmR0ISZsJgjWgWuU94A6cov9c7/E76MEUoVy/UZth0T0hbPx//waWSaTm1mp ZWwBzGwViIIT3OChKsRLirQn5MyczBcGTeNp66+lBCbqcM63lcfID2KeqyB6AK71IM4o jWcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9ltcYHArLoQsXGDP1rWIfO3JC1jU/kmH+fninhb3r4g=; b=VdUO63yzqFyXlkn7FYCG+QTriO44S7IkCXVzLBXz7+kvB+dotGF8oDosEmcxSfVy2g 4fmliWlZeC3dqCHiKpw5OeXYQu5Gef1kqseYDA4IVbyBaBID1kMD9mhDs+EBmrl7BWw4 CMhMyQ8XW9ZwcLp/z50yklnKpKfvw+Sr+6DVqWcCq4LNQB6gh2JosAEQstdYERNgJ8D/ NbscDflcbhykLKWP6sLCSf3JHWr24KWFPROOnQWJm4+NoqEyOOVA2Mb4mCoPrwrU+s1C Y3GV6leM7VEnKwDH+6N0M2XHqiR6pFTYoG7KWnm8GKvgXXIURrxepCL12M4lbeJs8GYl Zzjg== X-Gm-Message-State: AOAM530AagDYcI5DPLE/ZD+9a510q2Y7+YzF+ZsLFYD0yShW6LsKnTk1 nx3U2uAK3612h+aTG38WYo4fSu3+3SFYegB8els= X-Received: by 2002:a17:906:c2c8:: with SMTP id ch8mr331592ejb.161.1597967914213; Thu, 20 Aug 2020 16:58:34 -0700 (PDT) MIME-Version: 1.0 References: <20200818184122.29C415DF@viggo.jf.intel.com> <20200818184133.DCF58B5F@viggo.jf.intel.com> In-Reply-To: From: Yang Shi Date: Thu, 20 Aug 2020 16:58:22 -0700 Message-ID: Subject: Re: [RFC][PATCH 6/9] mm/vmscan: add page demotion counter To: Dave Hansen Cc: Linux Kernel Mailing List , Yang Shi , David Rientjes , Huang Ying , Dan Williams Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Aug 20, 2020 at 3:26 PM Yang Shi wrote: > > On Tue, Aug 18, 2020 at 11:53 AM Dave Hansen > wrote: > > > > > > From: Yang Shi > > > > Account the number of demoted pages into reclaim_state->nr_demoted. > > > > 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() > > ] > > This reminds me that we'd better to make migrate_pages() return the > number of base pages. Now both nr_failed and nr_succeeded is inc'ed > regardless of whether it is THP. > > A quick look finds the callers of migrate_pages() seem not care about > the exact returned number, they just care if it is positive or not. > > And reclaim code depends on correct nr_succeeded to avoid over reclaim. > > I will come up with a patch to post to the mailing list. I looks this problem has been fixed by commit 1a5bae25e3cf95c4e83a97f87a6b5280d9acbb22 ("mm/vmstat: add events for THP migration without split") in v5.9-rc1. With that commit, nr_succeeded will be bumped by 512 if a THP is migrated successfully (without split). So, we don't need worry about this anymore. > > > > > Signed-off-by: Yang Shi > > Signed-off-by: Dave Hansen > > Cc: David Rientjes > > Cc: Huang Ying > > Cc: Dan Williams > > --- > > > > 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-08-18 11:36:54.062583176 -0700 > > +++ b/include/linux/vm_event_item.h 2020-08-18 11:36:54.070583176 -0700 > > @@ -32,6 +32,8 @@ enum vm_event_item { PGPGIN, PGPGOUT, PS > > PGREFILL, > > 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-08-18 11:36:54.064583176 -0700 > > +++ b/mm/vmscan.c 2020-08-18 11:36:54.072583176 -0700 > > @@ -147,6 +147,7 @@ struct scan_control { > > unsigned int immediate; > > unsigned int file_taken; > > unsigned int taken; > > + unsigned int demoted; > > } nr; > > > > /* for recording the reclaimed slab by now */ > > @@ -1146,6 +1147,11 @@ static unsigned int demote_page_list(str > > list_splice(ret_list, demote_pages); > > } > > > > + 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-08-18 11:36:54.067583176 -0700 > > +++ b/mm/vmstat.c 2020-08-18 11:36:54.072583176 -0700 > > @@ -1200,6 +1200,8 @@ const char * const vmstat_text[] = { > > "pgrefill", > > "pgsteal_kswapd", > > "pgsteal_direct", > > + "pgdemote_kswapd", > > + "pgdemote_direct", > > "pgscan_kswapd", > > "pgscan_direct", > > "pgscan_direct_throttle", > > _