lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241023134121.68d4af59e2d9cc3e78a34cc8@linux-foundation.org>
Date: Wed, 23 Oct 2024 13:41:21 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Michal Hocko <mhocko@...e.com>
Cc: Dongjoo Seo <dongjoo.linux.dev@...il.com>, linux-mm@...ck.org,
 linux-kernel@...r.kernel.org, dave@...olabs.net, dan.j.williams@...el.com,
 nifan@...look.com, a.manzanares@...sung.com
Subject: Re: [PATCH] mm/page_alloc: fix NUMA stats update for cpu-less nodes

On Wed, 23 Oct 2024 20:03:24 +0200 Michal Hocko <mhocko@...e.com> wrote:

> On Wed 23-10-24 10:50:37, Dongjoo Seo wrote:
> > This patch corrects this issue by:
> 
> What is this issue? Please describe the problem first,

Actually, relocating the author's second-last paragraph to
top-of-changelog produced a decent result ;)

> ideally describe
> the NUMA topology, workload and what kind of misaccounting happens
> (expected values vs. really reported values).

I think the changelog covered this adequately?

So with these changelog alterations I've queued this for 6.12-rcX with
a cc:stable.  As far as I can tell this has been there since 2018.

: In the case of memoryless node, when a process prefers a node with no
: memory(e.g., because it is running on a CPU local to that node), the
: kernel treats a nearby node with memory as the preferred node.  As a
: result, such allocations do not increment the numa_foreign counter on the
: memoryless node, leading to skewed NUMA_HIT, NUMA_MISS, and NUMA_FOREIGN
: stats for the nearest node.
: 
: This patch corrects this issue by:
: 1. Checking if the zone or preferred zone is CPU-less before updating
:    the NUMA stats.
: 2. Ensuring NUMA_HIT is only updated if the zone is not CPU-less.
: 3. Ensuring NUMA_FOREIGN is only updated if the preferred zone is not
:    CPU-less.
: 
: Example Before and After Patch:
: - Before Patch:
:  node0                   node1           node2
:  numa_hit                86333181       114338269            5108
:  numa_miss                5199455               0        56844591
:  numa_foreign            32281033        29763013               0
:  interleave_hit                91              91               0
:  local_node              86326417       114288458               0
:  other_node               5206219           49768        56849702
: 
: - After Patch:
:                             node0           node1           node2
:  numa_hit                 2523058         9225528               0
:  numa_miss                 150213           10226        21495942
:  numa_foreign            17144215         4501270               0
:  interleave_hit                91              94               0
:  local_node               2493918         9208226               0
:  other_node                179351           27528        21495942
: 
: Similarly, in the context of cpuless nodes, this patch ensures that NUMA
: statistics are accurately updated by adding checks to prevent the
: miscounting of memory allocations when the involved nodes have no CPUs. 
: This ensures more precise tracking of memory access patterns accross all
: nodes, regardless of whether they have CPUs or not, improving the overall
: reliability of NUMA stat.  The reason is that page allocation from
: dev_dax, cpuset, memcg ..  comes with preferred allocating zone in cpuless
: node and its hard to track the zone info for miss information.
: 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ