From: Jack Steiner <steiner@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [RFC] pcibus_to_node implementation for ia64
Date: Wed, 11 May 2005 16:19:16 +0000 [thread overview]
Message-ID: <20050511161916.GB25431@sgi.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0505051707220.6114@schroedinger.engr.sgi.com>
On Wed, May 11, 2005 at 08:58:26AM -0700, Jesse Barnes wrote:
> On Wednesday, May 11, 2005 8:49 am, you wrote:
> > On Wed, 11 May 2005, colin ngam wrote:
> > > >That's certainly another way to go--just make the function do a
> > > > search to find the closest node with memory (and/or CPUs) all by
> > > > itself. The obvious disadvantage is that you'll incur that cost
> > > > on every function call unless you build a lookup table at boot
> > > > time or somesuch.
> >
> > This search is performed by alloc_pages using the zonelists.
>
> Not right now it isn't. In the snippet you posted you might get back a
> special node id, one that corresponds to an I/O node, which doesn't
> have a pgdat associated with it, and therefore won't work when passed
> to alloc_pages_node (I think it'll panic).
>
> > How do I get a node that I can pass to alloc_pages_node?
>
> Fix the sn2 implementation of I/O nodes to make them more like regular
> nodes. Basically,
>
> o put them in the SLIT and SRAT tables
> o make sure empty pgdats are created for memoryless nodes (in
> discontig.c), ideally on the closest node containing memory.
You are correct.
Most of the confusion here results from overloading the
term "node". Our (SGI) usage of the term "node" for TIO nodes is
inompatible with "node" as used in the rest of the kernel.
TIO "nodes" are unusual in the sense that they have no cpus or memory, but DO
have the properties of distance & "nearness" to ordinary nodes. For most
purposes, you can think of TIO nodes as ordinary nodes with cpus & memory
removed - only IO remains. (Physically, this is not correct but it's close
enough....).
TIO nodes _should_ be described in the SRAT & SLIT tables.
Currently, there are several problems with treating TIO nodes as ordinary
nodes & describing them in the SRTA/SLIT. AFAICT, ACPI2.0 does not support
an SRAT description for this type of node. Only PROCESSOR & MEMORY SRAT
entries exist.
The second limitation is that ACPI 2.0 limits the size of the SLIT to
256x256. Our largest system currently supports 256 nodes with memory/cpus +
an additional 256 TIO nodes. We would need at least a 512x512 SLIT to describe
our largest system. In ACPI3.0, these limitations are removed (I think).
I think it is time to take a step back & figure out how to correctly
describe TIO nodes & make them fit within the ACPI & kernel structures.
(BTW, does anyone know when ACPI3.0 will be implemented for IA64 ???)
>
> The first step isn't strictly necessary since you could fake it (you'd
> probably have to pull some code from io_init.c out and make it usable
> at early boot), but is probably preferable to putting together an ugly
> hack.
>
> Jesse
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Thanks
Jack Steiner (steiner@sgi.com) 651-683-5302
Principal Engineer SGI - Silicon Graphics, Inc.
prev parent reply other threads:[~2005-05-11 16:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-06 0:12 [RFC] pcibus_to_node implementation for ia64 Christoph Lameter
2005-05-10 23:56 ` colin ngam
2005-05-11 1:34 ` Christoph Lameter
2005-05-11 2:42 ` colin ngam
2005-05-11 6:51 ` Christoph Lameter
2005-05-11 15:29 ` Jesse Barnes
2005-05-11 15:44 ` colin ngam
2005-05-11 15:49 ` Christoph Lameter
2005-05-11 15:52 ` colin ngam
2005-05-11 15:54 ` Jesse Barnes
2005-05-11 15:58 ` Jesse Barnes
2005-05-11 16:05 ` colin ngam
2005-05-11 16:19 ` Jack Steiner [this message]
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=20050511161916.GB25431@sgi.com \
--to=steiner@sgi.com \
--cc=linux-ia64@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox