From: Peter Zijlstra <peterz@infradead•org>
To: Michal Hocko <mhocko@kernel•org>
Cc: dalias@libc•org, linux-sh@vger•kernel.org,
catalin.marinas@arm•com, dave.hansen@linux•intel.com,
heiko.carstens@de•ibm.com, jiaxun.yang@flygoat•com,
linux-mips@vger•kernel.org, mwb@linux•vnet.ibm.com,
paulus@samba•org, hpa@zytor•com, sparclinux@vger•kernel.org,
chenhc@lemote•com, will@kernel•org, cai@lca•pw,
linux-s390@vger•kernel.org, ysato@users•sourceforge.jp,
x86@kernel•org, Yunsheng Lin <linyunsheng@huawei•com>,
rppt@linux•ibm.com, borntraeger@de•ibm.com, dledford@redhat•com,
mingo@redhat•com, jeffrey.t.kirsher@intel•com, jhogan@kernel•org,
mattst88@gmail•com, len.brown@intel•com, gor@linux•ibm.com,
anshuman.khandual@arm•com, gregkh@linuxfoundation•org,
bp@alien8•de, luto@kernel•org, tglx@linutronix•de,
naveen.n.rao@linux•vnet.ibm.com,
linux-arm-kernel@lists•infradead.org, rth@twiddle•net,
axboe@kernel•dk, linuxppc-dev@lists•ozlabs.org,
linux-kernel@vger•kernel.org, ralf@linux-mips•org,
tbogendoerfer@suse•de, paul.burton@mips•com,
linux-alpha@vger•kernel.org, rafael@kernel•org,
ink@jurassic•park.msu.ru, akpm@linux-foundation•org,
robin.murphy@arm•com, davem@davemloft•net
Subject: Re: [PATCH v6] numa: make node_to_cpumask_map() NUMA_NO_NODE aware
Date: Tue, 24 Sep 2019 14:09:43 +0200 [thread overview]
Message-ID: <20190924120943.GP2349@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <20190924115401.GM23050@dhcp22.suse.cz>
On Tue, Sep 24, 2019 at 01:54:01PM +0200, Michal Hocko wrote:
> On Tue 24-09-19 13:23:49, Peter Zijlstra wrote:
> > On Tue, Sep 24, 2019 at 12:56:22PM +0200, Michal Hocko wrote:
> [...]
> > > To be honest I really fail to see why to object to a simple semantic
> > > that NUMA_NO_NODE imply all usable cpus. Could you explain that please?
> >
> > Because it feels wrong. The device needs to be _somewhere_. It simply
> > cannot be node-less.
>
> What if it doesn't have any numa preference for what ever reason? There
> is no other way to express that than NUMA_NO_NODE.
Like I said; how does that physically work? The device needs to be
somewhere. It _must_ have a preference.
> Anyway, I am not going to argue more about this because it seems more of
> a discussion about "HW shouldn't be doing that although the specification
> allows that" which cannot really have any outcome except of "feels
> correct/wrong".
We can push back and say we don't respect the specification because it
is batshit insane ;-)
> If you really feel strongly about this then we should think of a proper
> way to prevent this to happen because an out-of-bound access is
> certainly not something we really want, right?
I just genuinely don't understand it. And I refuse to duct tape it.
And as shown in that email here:
https://lkml.kernel.org/r/5a188e2b-6c07-a9db-fbaa-561e9362d3ba@huawei.com
there is a ton of broken...
15.061682] node node0: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
...
15.285602] node node3: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
15.360241] cpu cpu0: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
...
24.768305] cpu cpu127: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
39.623339] clockevents clockevent0: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
...
48.769530] clockevents clockevent127: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
That's all broken for no reason.. those things actually _have_ a trivial
node affinity.
By silently accepting we let this stuff fester.
Now granted; there's a number of virtual devices that really don't have
a node affinity, but then, those are not hurt by forcing them onto a
random node, they really don't do anything. Like:
48.913502] event_source armv8_pmuv3_0: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
48.985462] event_source breakpoint: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
49.057120] event_source uprobe: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
49.128431] event_source kprobe: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
49.199742] event_source tracepoint: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
49.271399] event_source software: has invalid NUMA node(-1), default node of 0 now selected. Readjust it by writing to sysfs numa_node or contact your vendor for updates.
That's just fake devices to get a sysfs entry.
next prev parent reply other threads:[~2019-09-24 12:16 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-17 12:48 [PATCH v6] numa: make node_to_cpumask_map() NUMA_NO_NODE aware Yunsheng Lin
2019-09-21 22:38 ` Paul Burton
2019-09-23 2:31 ` Yunsheng Lin
2019-09-23 15:15 ` Peter Zijlstra
2019-09-23 15:28 ` Michal Hocko
2019-09-23 15:48 ` Peter Zijlstra
2019-09-23 16:52 ` Michal Hocko
2019-09-23 20:34 ` Peter Zijlstra
2019-09-24 1:29 ` Yunsheng Lin
2019-09-24 9:25 ` Peter Zijlstra
2019-09-24 11:07 ` Yunsheng Lin
2019-09-24 11:28 ` Peter Zijlstra
2019-09-24 11:44 ` Yunsheng Lin
2019-09-24 11:58 ` Peter Zijlstra
2019-09-24 12:09 ` Yunsheng Lin
2019-09-24 7:47 ` Michal Hocko
2019-09-24 9:17 ` Peter Zijlstra
2019-09-24 10:56 ` Michal Hocko
2019-09-24 11:23 ` Peter Zijlstra
2019-09-24 11:54 ` Michal Hocko
2019-09-24 12:09 ` Peter Zijlstra [this message]
2019-09-24 12:25 ` Michal Hocko
2019-09-24 12:43 ` Peter Zijlstra
2019-09-24 12:59 ` Peter Zijlstra
2019-09-24 13:19 ` Michal Hocko
2019-09-25 9:14 ` Yunsheng Lin
2019-09-25 10:41 ` Peter Zijlstra
2019-10-08 8:38 ` Yunsheng Lin
2019-10-09 12:25 ` Robin Murphy
2019-10-10 6:07 ` Yunsheng Lin
2019-10-10 7:32 ` Michal Hocko
2019-10-11 3:27 ` Yunsheng Lin
2019-10-11 11:15 ` Peter Zijlstra
2019-10-12 6:17 ` Yunsheng Lin
2019-10-12 7:40 ` Greg KH
2019-10-12 9:47 ` Yunsheng Lin
2019-10-12 10:40 ` Greg KH
2019-10-12 10:47 ` Greg KH
2019-10-14 8:00 ` Yunsheng Lin
2019-10-14 9:25 ` Greg KH
2019-10-14 9:49 ` Peter Zijlstra
2019-10-14 10:04 ` Greg KH
2019-10-15 10:40 ` Yunsheng Lin
2019-10-15 16:58 ` Greg KH
2019-10-16 12:07 ` Yunsheng Lin
2019-10-28 9:20 ` Yunsheng Lin
2019-10-29 8:53 ` Michal Hocko
2019-10-30 1:58 ` Yunsheng Lin
2019-10-10 8:56 ` Peter Zijlstra
2019-09-25 10:40 ` Peter Zijlstra
2019-09-25 13:25 ` Michal Hocko
2019-09-25 16:31 ` Peter Zijlstra
2019-09-25 21:45 ` Peter Zijlstra
2019-09-26 9:05 ` Peter Zijlstra
2019-09-26 12:10 ` Peter Zijlstra
2019-09-26 11:45 ` Geert Uytterhoeven
2019-09-26 12:24 ` Peter Zijlstra
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=20190924120943.GP2349@hirez.programming.kicks-ass.net \
--to=peterz@infradead$(echo .)org \
--cc=akpm@linux-foundation$(echo .)org \
--cc=anshuman.khandual@arm$(echo .)com \
--cc=axboe@kernel$(echo .)dk \
--cc=borntraeger@de$(echo .)ibm.com \
--cc=bp@alien8$(echo .)de \
--cc=cai@lca$(echo .)pw \
--cc=catalin.marinas@arm$(echo .)com \
--cc=chenhc@lemote$(echo .)com \
--cc=dalias@libc$(echo .)org \
--cc=dave.hansen@linux$(echo .)intel.com \
--cc=davem@davemloft$(echo .)net \
--cc=dledford@redhat$(echo .)com \
--cc=gor@linux$(echo .)ibm.com \
--cc=gregkh@linuxfoundation$(echo .)org \
--cc=heiko.carstens@de$(echo .)ibm.com \
--cc=hpa@zytor$(echo .)com \
--cc=ink@jurassic$(echo .)park.msu.ru \
--cc=jeffrey.t.kirsher@intel$(echo .)com \
--cc=jhogan@kernel$(echo .)org \
--cc=jiaxun.yang@flygoat$(echo .)com \
--cc=len.brown@intel$(echo .)com \
--cc=linux-alpha@vger$(echo .)kernel.org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-mips@vger$(echo .)kernel.org \
--cc=linux-s390@vger$(echo .)kernel.org \
--cc=linux-sh@vger$(echo .)kernel.org \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=linyunsheng@huawei$(echo .)com \
--cc=luto@kernel$(echo .)org \
--cc=mattst88@gmail$(echo .)com \
--cc=mhocko@kernel$(echo .)org \
--cc=mingo@redhat$(echo .)com \
--cc=mwb@linux$(echo .)vnet.ibm.com \
--cc=naveen.n.rao@linux$(echo .)vnet.ibm.com \
--cc=paul.burton@mips$(echo .)com \
--cc=paulus@samba$(echo .)org \
--cc=rafael@kernel$(echo .)org \
--cc=ralf@linux-mips$(echo .)org \
--cc=robin.murphy@arm$(echo .)com \
--cc=rppt@linux$(echo .)ibm.com \
--cc=rth@twiddle$(echo .)net \
--cc=sparclinux@vger$(echo .)kernel.org \
--cc=tbogendoerfer@suse$(echo .)de \
--cc=tglx@linutronix$(echo .)de \
--cc=will@kernel$(echo .)org \
--cc=x86@kernel$(echo .)org \
--cc=ysato@users$(echo .)sourceforge.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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