Re: Is sysfs the right place to get cache and CPU topology info?

Nathan Lynch
2008-07-02T14:36:20Z

Andi Kleen wrote:
> Andrew Morton <akpm@linux-foundation.org> writes:
> >
> > sysfs is part of the kernel ABI. We should design our interfaces there
> > as carefully as we design any others.
>
> The basic problem is that sysfs exports an internal kernel object model
> and these tend to change. To really make it stable would require
> splitting it into internal and presented interface.

True, but... /sys/devices/system/cpu has been there since around 2.6.5
iirc. A google code search for that path shows plenty of programs
(including hal) that hard-code it. Exposed object model or not,
changing that path would break lots of software.

> I would be all
> for it, but it doesn't seem realistic to me currently. If we cannot
> even get basic interfaces like the syscall capability stable how would
> you expect to stabilize the complete kobjects?
>
> And the specific problem with the x86 cache sysfs interface is that it's so
> complicated that no human can really read it directly. This means to
> actually use it you need some kind of frontend (i have a cheesy
> lscache script for this).

Human readability is nice, but a more important issue IMO is whether
the cache interface can be considered stable enough for programs to
rely on it. I notice there's no entry for it in Documentation/ABI.