From: Anton Blanchard <anton@samba.org>
To: David Rientjes <rientjes@google.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
x86@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 6/6] x86: cpumask_of_node() should handle -1 as a node
Date: Thu, 7 Jan 2010 11:01:06 +1100 [thread overview]
Message-ID: <20100107000106.GD12742@kryten> (raw)
In-Reply-To: <alpine.DEB.2.00.1001061545210.19882@chino.kir.corp.google.com>
Hi David,
> This seems to be the same semantics that NUMA_NO_NODE was defined for,
> it's not necessarily a special case.
>
> Regardless, the result of cpumask_of_node(NUMA_NO_NODE) should be
> undefined as it currently is unless you want to obsolete NUMA_NO_NODE
> entirely which is much more work. In other words, special-casing a nid of
> -1 to mean no affinity is inappropriate if NUMA_NO_NODE represents an
> invalid nid.
>
> If x86 pci buses want to use -1 to imply that meaning, that's fine, but it
> shouldn't be coded in a generic interface such as cpumask_of_node(). Does
> that make sense?
I wasn't using the example to strengthen the case of the -1 behaviour, but to
highlight that a complete fix would be more work and risk not making it back
to -stable.
I'm all for removing the special case as a followon patch.
> > Speaking of invalid node ids, I also noticed the scheduler isn't using
> > node iterators:
> >
> > for (i = 0; i < nr_node_ids; i++) {
> >
> > which should be fixed at some stage too since it doesn't allow us to
> > allocate the node structures sparsely.
>
> That loop has nothing to do with the allocation of a node structure, it's
> quite plausible that it checks for various states such as node_online(i)
> while looping and doing something else interesting for those that are
> offline. Keep in mind that this isn't equivalent to using for_each_node()
> since that only iterates over N_POSSIBLE which is architecture specific.
Yeah I understand it isn't the same thing, but the scheduler oopses in
a number of places with CPUMASK_OFFSTACK and sparse node ids, so things
that can be switched to node iterators should and node_online() checks
should be added elsewhere.
Anton
next prev parent reply other threads:[~2010-01-07 0:02 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-06 4:55 [patch 0/6] cpumask_of_node() should handle -1 as a node Anton Blanchard
2010-01-06 4:55 ` [patch 1/6] powerpc: " Anton Blanchard
2010-01-06 4:55 ` Anton Blanchard
2010-01-06 4:55 ` [patch 2/6] alpha: " Anton Blanchard
2010-01-14 18:24 ` Matt Turner
2010-01-14 18:24 ` Matt Turner
2010-01-06 4:55 ` [patch 3/6] ia64: " Anton Blanchard
2010-01-06 4:55 ` Anton Blanchard
2010-01-06 4:55 ` [patch 4/6] mips: " Anton Blanchard
2010-01-06 4:55 ` Anton Blanchard
2010-01-11 10:42 ` Ralf Baechle
2010-01-06 4:55 ` [patch 5/6] sparc: " Anton Blanchard
2010-01-06 4:55 ` Anton Blanchard
2010-01-07 4:22 ` David Miller
2010-01-07 4:22 ` David Miller
2010-01-06 4:55 ` [patch 6/6] x86: " Anton Blanchard
2010-01-06 6:36 ` Rusty Russell
2010-01-06 23:00 ` David Rientjes
2010-01-06 23:31 ` Anton Blanchard
2010-01-06 23:51 ` David Rientjes
2010-01-07 0:01 ` Anton Blanchard [this message]
2010-01-07 0:25 ` David Rientjes
2010-01-07 0:39 ` Rusty Russell
2010-01-07 8:04 ` David Rientjes
2010-01-06 23:20 ` Anton Blanchard
2010-01-11 22:11 ` [patch 0/6] " Andrew Morton
2010-01-12 1:07 ` Anton Blanchard
2010-01-12 2:04 ` Anton Blanchard
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=20100107000106.GD12742@kryten \
--to=anton@samba.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=rientjes@google.com \
--cc=rusty@rustcorp.com.au \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/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.