From: Jack Steiner <steiner@sgi.com>
To: mbligh@aracnet.com, jes@trained-monkey.org, linux-kernel@vger.kernel.org
Subject: Re: [patch] increse MAX_NR_MEMBLKS to same as MAX_NUMNODES on NUMA
Date: Mon, 19 Jan 2004 21:12:22 -0600 [thread overview]
Message-ID: <20040120031222.GA15435@sgi.com> (raw)
In-Reply-To: <20040120022452.GA27294@sgi.com>
On Mon, Jan 19, 2004 at 06:24:52PM -0800, Jesse Barnes wrote:
> On Mon, Jan 19, 2004 at 04:45:35PM -0600, Jack Steiner wrote:
> > On Mon, Jan 19, 2004 at 12:08:04PM -0800, Martin J. Bligh wrote:
> > > > Since we now support # of CPUs > BITS_PER_LONG with cpumask_t it would
> > > > be nice to be able to support more than BITS_PER_LONG memory blocks.
> > >
> > > Nothing uses them. We're probably better off just removing them altogether.
> >
> > I dont understand.
> > node_memblk[] is used on IA64 in arch/ia64/mm/discontig.c (& other places too).
>
> I think Martin is referring to the memblk_*line() functions and the fact
> that memblks are exported via sysfs to userspace. That API hasn't
> proven very useful so far since it's really waiting for memory hot
> add/remove. Of course, we'll still need structures to support that for
> the low level arch specific discontig code, so any patch that killed
> memblks in sysfs and elsewhere would have to take that into account...
> (In particular, node_memblk[] is filled out by the ACPI SRAT parsing
> code and use for discontig init and physical->node id conversion.)
>
> Jesse
OK, that makes sense.
BTW, I think SN2 has a brain-dead definition of node_memblk[]. It currently works
but I think it is incorrect & should probably be fixed before we get into
trouble.
On SN2, memory blocks that ACTUAL EXIST are described via the EFI tables.
This EFI table describes memory that is put into the VM tables.
The SRAT tables that are used to build the node_memblks array dont describe
actual memory. The SRAT (on SN2) describes the way hardware could potentially map
physical memory to nodes. A memblk entry will cover non-existant memory.
For example. For one node with max memory (assume 512MB dimms)
- each node has 4 discontiguous blocks of memory.
- actual memory on node exists at these node offsets:
0-2GB
16-18GB
32-24GB
48-50GB
- These ranges are described by the EFI tables
- the SRAT (& node_memblk) has a SINGLE entry to describe the entire node:
memblk = 0-64GB
Note that this entry covers non-existent memory
I believe SN2 should use 4 SRAT entries - one entry for each block of memory
that actually exists.
--
Thanks
Jack Steiner (steiner@sgi.com) 651-683-5302
Principal Engineer SGI - Silicon Graphics, Inc.
next prev parent reply other threads:[~2004-01-20 3:18 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-19 13:05 [patch] increse MAX_NR_MEMBLKS to same as MAX_NUMNODES on NUMA Jes Sorensen
2004-01-19 20:08 ` Martin J. Bligh
2004-01-19 22:45 ` Jack Steiner
2004-01-20 2:24 ` Jesse Barnes
2004-01-20 3:12 ` Jack Steiner [this message]
2004-01-20 6:25 ` Martin J. Bligh
2004-01-20 10:59 ` Jes Sorensen
2004-01-20 16:11 ` Martin J. Bligh
2004-01-22 15:24 ` Jes Sorensen
2004-01-23 6:09 ` Martin J. Bligh
2004-01-20 5:21 ` Martin J. Bligh
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=20040120031222.GA15435@sgi.com \
--to=steiner@sgi.com \
--cc=jes@trained-monkey.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@aracnet.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