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

Andi Kleen
2008-07-02T11:13:55Z

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. 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). I expect that eventually we'll have a standard
tool for this. Right now most people still rely on /proc/cpuinfo
output (which is actually human readable!), but it only shows simple
cache topologies (L2 only) and with L3 and more complicated ones
being more wide spread that doesn't cut it anymore. So I expect
eventually utils-linux will grow a standard lscache program for this.
And I expect people will eventually just use the output frontend instead of
sysfs.

-Andi