linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.com>
To: Dongjoo Seo <dongjoo.linux.dev@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	dave@stgolabs.net, dan.j.williams@intel.com, nifan@outlook.com,
	a.manzanares@samsung.com
Subject: Re: [PATCH] mm/page_alloc: fix NUMA stats update for cpu-less nodes
Date: Thu, 24 Oct 2024 10:24:56 +0200	[thread overview]
Message-ID: <ZxoEWBakAv64wfhD@tiehlicka> (raw)
In-Reply-To: <ZxnTDYiQWU45eX-Y@eqbm-smc020.dtc.local>

On Wed 23-10-24 21:54:37, Dongjoo Seo wrote:
> On Thu, Oct 24, 2024 at 12:23:56AM +0200, Michal Hocko wrote:
> > On Wed 23-10-24 15:15:20, Dongjoo Seo wrote:
> > > Hi Andrew, Michal,
> > > 
> > > Thanks for the feedback.
> > > 
> > > The issue is that CPU-less nodes can lead to incorrect NUMA stats.
> > > For example, NUMA_HIT may incorrectly increase for CPU-less nodes
> > > because the current logic doesn't account for whether a node has CPUs.
> > 
> > Define incorrect
> > 
> > Current semantic doesn't really care about cpu less NUMA nodes because
> > current means whatever is required AFIU. This is certainly a long term
> 
> I agree that, in the long term, special logging for preferred_zone 
> and a separate counter might be necessary for CPU-less nodes.
> 
> > semantic. Why does this need to change and why it makes sense to 
> > pre-existing users?
> 
> This patch doesn't change existing logic; the additional logic only 
> applies when a CPU-less node is present, so there shouldn't be 
> concerns for pre-existing users. Currently, the NUMA stats for 
> configurations with CPU-less nodes are incorrect, as allocations
> are not properly accounted for.
> 
> I believe this approach improves logging accuracy with minimal impact
> on the memory allocation path, but I'm open to alternative solutions.
> This isn't the only way to address the issue—any suggestions?

I still do not understand the actual problem. CPU-less nodes are nothing
really special. They just never have local allocations for obvious
reasons. NUMA_HIT which your patch is special casing has a very well
defined meaning and that is that the memory allocated matches the
preferred node. That doesn't have any notion of CPU at all. Say somebody
explicitly requests to allocate from a CPU less node. Why should you
consider thiat as NUMA_OTHER just because that node has no CPUs? That
just seems completely wrong.
-- 
Michal Hocko
SUSE Labs


  reply	other threads:[~2024-10-24  8:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-23 17:50 Dongjoo Seo
2024-10-23 18:03 ` Michal Hocko
2024-10-23 20:41   ` Andrew Morton
2024-10-23 21:38     ` Michal Hocko
2024-10-23 22:15       ` Dongjoo Seo
2024-10-23 22:23         ` Michal Hocko
2024-10-24  4:54           ` Dongjoo Seo
2024-10-24  8:24             ` Michal Hocko [this message]
2024-10-24 18:13               ` Dongjoo Seo

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=ZxoEWBakAv64wfhD@tiehlicka \
    --to=mhocko@suse.com \
    --cc=a.manzanares@samsung.com \
    --cc=akpm@linux-foundation.org \
    --cc=dan.j.williams@intel.com \
    --cc=dave@stgolabs.net \
    --cc=dongjoo.linux.dev@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=nifan@outlook.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