public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <ak@suse.de>
To: Anton Blanchard <anton@samba.org>
Cc: linux-kernel@vger.kernel.org, ak@suse.de, greg@kroah.com,
	miltonm@bga.com
Subject: Re: 3 ways to represent cpu affinity in /sys and counting
Date: Mon, 3 Jan 2005 16:15:33 +0100	[thread overview]
Message-ID: <20050103151533.GD4963@wotan.suse.de> (raw)
In-Reply-To: <20041226002744.GC21710@krispykreme.ozlabs.ibm.com>

On Sun, Dec 26, 2004 at 11:27:44AM +1100, Anton Blanchard wrote:
> 
> A pci device has a local_cpus property:
> 
> /sys/devices/pci000a:00/000a:00:02.6/local_cpus

We should have both node and cpus here because both
are needed in user space (one for CPU affinity, the other
for memory affinity). While it's possible to convert
in user space it's quite cumbersome. 

I plan to add functions to libnuma to make this easy,
but I'm not sure everybody will want to use libnuma just
for this.

> 
> A pci_bus has a cpuaffinity property:
> 
> /sys/class/pci_bus/000d:d8/cpuaffinity

I'm not sure what that is anyways. I don't think x86-64 sets it up
and does anybody really use it?
> 
> A node has a cpumap property:
> 
> /sys/devices/system/node/node3/cpumap
> 
> Can we standardize on a single property name for this? :)

I suspect it's already too late. 

> 
> Furthermore, looking at node linkages:
> 
> A node has symlinks to cpus:
> 
> /sys/devices/system/node/node0/cpu0 -> /sys/devices/system/cpu/cpu0
> 
> But doesnt have symlinks to pci devices.

I'm not sure how useful that would be anyways.

> 
> A cpu doesnt have a cpumask of its node, but a pci device and pci bus
> both do. Is there some way we can stardardize this too? 

You mean a nodemask?

> 
> Ideally we want to be able to lookup a device -> node -> cpumask
> relationship in a consistent way. Assuming we fix up the 3 different
> names for cpu affinity properties, we still have 2 methods of looking
> that up, and no easy way of going from pci devices to nodes.

You mean the user space interface?

Getting it from sysfs will be always a mess, best is to have a standard
library that offers this in nice functions and a command whose output
can be parsed by shell scripts. I plan to add this eventually to 
numactl/libnuma.

-Andi

      parent reply	other threads:[~2005-01-03 15:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-26  0:27 3 ways to represent cpu affinity in /sys and counting Anton Blanchard
2004-12-30 19:40 ` Jesse Barnes
2005-01-03 15:15 ` Andi Kleen [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=20050103151533.GD4963@wotan.suse.de \
    --to=ak@suse.de \
    --cc=anton@samba.org \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miltonm@bga.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