From: Jack Steiner <steiner@sgi.com>
To: Takayoshi Kochi <t-kochi@bq.jp.nec.com>
Cc: linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Externalize SLIT table
Date: Thu, 04 Nov 2004 14:13:37 +0000 [thread overview]
Message-ID: <20041104141337.GA18445@sgi.com> (raw)
In-Reply-To: <20041104.105908.18574694.t-kochi@bq.jp.nec.com>
On Thu, Nov 04, 2004 at 10:59:08AM +0900, Takayoshi Kochi wrote:
> Hi,
>
> For wider audience, added LKML.
>
> From: Jack Steiner <steiner@sgi.com>
> Subject: Externalize SLIT table
> Date: Wed, 3 Nov 2004 14:56:56 -0600
>
> > The SLIT table provides useful information on internode
> > distances. Has anyone considered externalizing this
> > table via /proc or some equivalent mechanism.
> >
> > For example, something like the following would be useful:
> >
> > # cat /proc/acpi/slit
> > 010 066 046 066
> > 066 010 066 046
> > 046 066 010 020
> > 066 046 020 010
> >
> > If this looks ok (or something equivalent), I'll generate a patch....
>
> For user space to manipulate scheduling domains, pinning processes
> to some cpu groups etc, that kind of information is very useful!
> Without this, users have no notion about how far between two nodes.
>
> But ACPI SLIT table is too arch specific (ia64 and x86 only) and
> user-visible logical number and ACPI proximity domain number is
> not always identical.
>
> Why not export node_distance() under sysfs?
> I like (1).
>
> (1) obey one-value-per-file sysfs principle
>
> % cat /sys/devices/system/node/node0/distance0
> 10
> % cat /sys/devices/system/node/node0/distance1
> 66
I'm not familar with the internals of sysfs. For example, on a 256 node
system, there will be 65536 instances of
/sys/devices/system/node/node<M>/distance<N>
Does this require any significant amount of kernel resources to
maintain this amount of information.
>
> (2) one distance for each line
>
> % cat /sys/devices/system/node/node0/distance
> 0:10
> 1:66
> 2:46
> 3:66
>
> (3) all distances in one line like /proc/<PID>/stat
>
> % cat /sys/devices/system/node/node0/distance
> 10 66 46 66
>
I like (3) the best.
I think it would also be useful to have a similar cpu-to-cpu distance
metric:
% cat /sys/devices/system/cpu/cpu0/distance
10 20 40 60
This gives the same information but is cpu-centric rather than
node centric.
--
Thanks
Jack Steiner (steiner@sgi.com) 651-683-5302
Principal Engineer SGI - Silicon Graphics, Inc.
WARNING: multiple messages have this Message-ID (diff)
From: Jack Steiner <steiner@sgi.com>
To: Takayoshi Kochi <t-kochi@bq.jp.nec.com>
Cc: linux-ia64@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Externalize SLIT table
Date: Thu, 4 Nov 2004 08:13:37 -0600 [thread overview]
Message-ID: <20041104141337.GA18445@sgi.com> (raw)
In-Reply-To: <20041104.105908.18574694.t-kochi@bq.jp.nec.com>
On Thu, Nov 04, 2004 at 10:59:08AM +0900, Takayoshi Kochi wrote:
> Hi,
>
> For wider audience, added LKML.
>
> From: Jack Steiner <steiner@sgi.com>
> Subject: Externalize SLIT table
> Date: Wed, 3 Nov 2004 14:56:56 -0600
>
> > The SLIT table provides useful information on internode
> > distances. Has anyone considered externalizing this
> > table via /proc or some equivalent mechanism.
> >
> > For example, something like the following would be useful:
> >
> > # cat /proc/acpi/slit
> > 010 066 046 066
> > 066 010 066 046
> > 046 066 010 020
> > 066 046 020 010
> >
> > If this looks ok (or something equivalent), I'll generate a patch....
>
> For user space to manipulate scheduling domains, pinning processes
> to some cpu groups etc, that kind of information is very useful!
> Without this, users have no notion about how far between two nodes.
>
> But ACPI SLIT table is too arch specific (ia64 and x86 only) and
> user-visible logical number and ACPI proximity domain number is
> not always identical.
>
> Why not export node_distance() under sysfs?
> I like (1).
>
> (1) obey one-value-per-file sysfs principle
>
> % cat /sys/devices/system/node/node0/distance0
> 10
> % cat /sys/devices/system/node/node0/distance1
> 66
I'm not familar with the internals of sysfs. For example, on a 256 node
system, there will be 65536 instances of
/sys/devices/system/node/node<M>/distance<N>
Does this require any significant amount of kernel resources to
maintain this amount of information.
>
> (2) one distance for each line
>
> % cat /sys/devices/system/node/node0/distance
> 0:10
> 1:66
> 2:46
> 3:66
>
> (3) all distances in one line like /proc/<PID>/stat
>
> % cat /sys/devices/system/node/node0/distance
> 10 66 46 66
>
I like (3) the best.
I think it would also be useful to have a similar cpu-to-cpu distance
metric:
% cat /sys/devices/system/cpu/cpu0/distance
10 20 40 60
This gives the same information but is cpu-centric rather than
node centric.
--
Thanks
Jack Steiner (steiner@sgi.com) 651-683-5302
Principal Engineer SGI - Silicon Graphics, Inc.
next prev parent reply other threads:[~2004-11-04 14:13 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-03 20:56 Externalize SLIT table Jack Steiner
2004-11-04 1:59 ` Takayoshi Kochi
2004-11-04 1:59 ` Takayoshi Kochi
2004-11-04 4:07 ` Andi Kleen
2004-11-04 4:07 ` Andi Kleen
2004-11-04 4:57 ` Takayoshi Kochi
2004-11-04 4:57 ` Takayoshi Kochi
2004-11-04 6:37 ` Andi Kleen
2004-11-04 6:37 ` Andi Kleen
2004-11-05 16:08 ` Jack Steiner
2004-11-05 16:08 ` Jack Steiner
2004-11-05 16:26 ` Andreas Schwab
2004-11-05 16:26 ` Andreas Schwab
2004-11-05 16:44 ` Jack Steiner
2004-11-05 16:44 ` Jack Steiner
2004-11-06 11:50 ` Christoph Hellwig
2004-11-06 11:50 ` Christoph Hellwig
2004-11-06 12:48 ` Andi Kleen
2004-11-06 12:48 ` Andi Kleen
2004-11-06 13:07 ` Christoph Hellwig
2004-11-06 13:07 ` Christoph Hellwig
2004-11-05 17:13 ` Erich Focht
2004-11-05 17:13 ` Erich Focht
2004-11-05 19:13 ` Jack Steiner
2004-11-05 19:13 ` Jack Steiner
2004-11-09 19:23 ` Matthew Dobson
2004-11-09 19:23 ` Matthew Dobson
2004-11-04 14:13 ` Jack Steiner [this message]
2004-11-04 14:13 ` Jack Steiner
2004-11-04 14:29 ` Andi Kleen
2004-11-04 14:29 ` Andi Kleen
2004-11-04 15:31 ` Erich Focht
2004-11-04 15:31 ` Erich Focht
2004-11-04 17:04 ` Andi Kleen
2004-11-04 17:04 ` Andi Kleen
2004-11-04 19:36 ` Jack Steiner
2004-11-04 19:36 ` Jack Steiner
2004-11-09 19:45 ` Matthew Dobson
2004-11-09 19:45 ` Matthew Dobson
2004-11-09 19:43 ` Matthew Dobson
2004-11-09 19:43 ` Matthew Dobson
2004-11-09 20:34 ` Mark Goodwin
2004-11-09 20:34 ` Mark Goodwin
2004-11-09 22:00 ` Jesse Barnes
2004-11-09 22:00 ` Jesse Barnes
2004-11-09 23:58 ` Matthew Dobson
2004-11-09 23:58 ` Matthew Dobson
2004-11-10 5:05 ` Mark Goodwin
2004-11-10 5:05 ` Mark Goodwin
2004-11-10 18:45 ` Erich Focht
2004-11-10 18:45 ` Erich Focht
2004-11-10 22:09 ` Matthew Dobson
2004-11-10 22:09 ` Matthew Dobson
2004-11-18 16:39 ` Jack Steiner
2004-11-18 16:39 ` Jack Steiner
[not found] <20041103205655.GA5084@sgi.com.suse.lists.linux.kernel>
[not found] ` <20041104.105908.18574694.t-kochi@bq.jp.nec.com.suse.lists.linux.kernel>
[not found] ` <20041104040713.GC21211@wotan.suse.de.suse.lists.linux.kernel>
[not found] ` <20041104.135721.08317994.t-kochi@bq.jp.nec.com.suse.lists.linux.kernel>
[not found] ` <20041105160808.GA26719@sgi.com.suse.lists.linux.kernel>
2004-11-06 6:30 ` Andi Kleen
2004-11-23 17:32 ` Jack Steiner
2004-11-23 19:06 ` Andi Kleen
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=20041104141337.GA18445@sgi.com \
--to=steiner@sgi.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=t-kochi@bq.jp.nec.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 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.