Re: [RFC] use of /sys versus /proc

From: Robin Holt
Date: Fri May 23 2008 - 16:09:22 EST


On Sat, May 24, 2008 at 12:47:39AM +0400, Alexey Dobriyan wrote:
> On Fri, May 23, 2008 at 08:12:55AM -0500, Cliff Wickman wrote:
> > I have a need to display TLB shootdown statistics. (I'm working
> > on a patch to implement this on a new machine at SGI.)
> >
> > I had planned to display these statistics through /proc
> > as in arch/ia64/sn/kernel/sn2/sn2_smp.c (/proc/sgi_sn/ptc_statistics).
> >
> > However, considering the general move to reserve /proc for
> > process-related things, I thought the community might prefer the
> > interface to be in /sys.
> >
> > But sysfs has an output buffer restriction of one page, which
> > is too restrictive for statistics from very large cpu counts.
> > We intend to display about 10 numbers per cpu.
> >
> > Besides, the spirit of /sys according to the sysfs.txt documentation:
> > "Attributes should be ... preferably with only one value
> > per file. ... acceptable to express an array of values of the same type."
> > [it also warns:
> > "... expressing multiple lines of data, ... is heavily frowned upon.
> > Doing these things may get you publically humiliated and your code
> > rewritten without notice."]
> >
> > If I break up the statistics files per-cpu, or maybe ranges of
> > cpu's, it would create a potentially large number of files in /sys.
> >
> > Or, I could stick with a single file in /proc.
> >
> > What would you recommend?
>
> TLB shootdowns are in /proc/interrupts at least on x86_64.

This is a different engine for our UV platform. Due to the large number
of nodes with many cpus that may need to be invalidated, we have a
special piece of hardware that assists in broadcasts. Cliff's upcoming
patch will introduce that. He has written the driver with some built-in
statistics about the use of that hardware.

Thanks,
Robin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/