Re: [RFC][PATCH] perf: sysfs type id

From: Michael Ellerman
Date: Tue Nov 09 2010 - 22:37:46 EST


On Wed, 2010-11-10 at 02:59 +0100, Kay Sievers wrote:
> On Wed, Nov 10, 2010 at 02:45, Michael Ellerman <michael@xxxxxxxxxxxxxx> wrote:
> > On Wed, 2010-11-10 at 02:19 +0100, Kay Sievers wrote:
> >> On Wed, Nov 10, 2010 at 02:10, Michael Ellerman <michael@xxxxxxxxxxxxxx> wrote:
> >> > On Wed, 2010-11-10 at 01:57 +0100, Kay Sievers wrote:
> >> >> Stay on the list please, with any possible reply. Thanks!
> >> >
> >> > You dropped the CC when you replied, or is my mailer being weird?
> >>
> >> You replied to me only:
> >> From: Michael Ellerman <michael@xxxxxxxxxxxxxx>
> >> To: Kay Sievers <kay.sievers@xxxxxxxx>
> >
> > Because you replied to me only, or at least that's what I see at my end.
>
> Sure, I don't add lists back when people reply to me only. You never
> know why they do that, and if they have a reason for it. That's why I
> added the the same mail:
> "Stay on the list please, with any possible reply. Thanks!"
>
> >> Devices can never be on two subsystems at the same time. Not with
> >> classes, not with buses, that was never, and probably will never be
> >> possible.
> >
> > OK, I guess I'm getting my terminology wrong. My devices, which show up
> > in /sys/class/foo are symlinks into /sys/devices/virtual/foo, so they
> > _appear_ to be in two places.
> >
> > I also see entries for example in /sys/class/scsi_disk that link
> > into /sys/devices/pci.
>
> Sure, all devices (devices are real directories) end up in the tree in
> /sys/devices/. That's one tree, where all the devices from different
> subsystems stack on top of others.
>
>
> All devices have a symlink called 'subsystem' which points back to the
> individual class the device belongs to.
>
> To find all device of a specific subsystem, you start at the subsystem
> directory (class/bus) which collects them (only symlinks to the
> device, not directories).
>
> That way you will find a blockdev, even when it's deep down in a chain
> of devices:
> pci:bridge/pci:dev/scsi:host/scsi:target/scsi:lun/block

OK, I think I get it. Thanks for taking the time to explain it to me :)

cheers

Attachment: signature.asc
Description: This is a digitally signed message part