mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Anton Blanchard <anton@samba.org>
To: linux-kernel@vger.kernel.org
Cc: ak@suse.de, greg@kroah.com, miltonm@bga.com
Subject: 3 ways to represent cpu affinity in /sys and counting
Date: Sun, 26 Dec 2004 11:27:44 +1100	[thread overview]
Message-ID: <20041226002744.GC21710@krispykreme.ozlabs.ibm.com> (raw)


Hi,

We have a patch to change pcibus_to_cpumask to pcibus_to_node. This makes
it more consistent with cpu_to_node, and when you want a cpumask you
use node_to_cpumask.

The one real user of pcibus_to_cpumask in arch/x86-64/kernel/pci-gart.c
highlights this:

	cpumask_t mask;
	mask = pcibus_to_cpumask(to_pci_dev(dev)->bus->number);
	node = cpu_to_node(first_cpu(mask));

We go around in circles to get back to the node. I then started looking
at how we export cpu affinity and node information in sysfs:

A pci device has a local_cpus property:

/sys/devices/pci000a:00/000a:00:02.6/local_cpus

A pci_bus has a cpuaffinity property:

/sys/class/pci_bus/000d:d8/cpuaffinity

A node has a cpumap property:

/sys/devices/system/node/node3/cpumap

Can we standardize on a single property name for this? :)

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.

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? 

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.

Anton

             reply	other threads:[~2004-12-26  0:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-26  0:27 Anton Blanchard [this message]
2004-12-30 19:40 ` Jesse Barnes
2005-01-03 15:15 ` 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=20041226002744.GC21710@krispykreme.ozlabs.ibm.com \
    --to=anton@samba.org \
    --cc=ak@suse.de \
    --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

all inboxes | Powered by JetHome®