Re: [patch 09/11] GRU Driver - /proc interfaces

From: Jack Steiner
Date: Mon Jun 09 2008 - 18:11:24 EST


On Mon, Jun 09, 2008 at 02:32:46PM -0700, Roland Dreier wrote:
> > This file externalizes some GRU state & statistics to the user using the /proc
> > file system.
>
> We don't put stuff like this in /proc any more. Depending on how the
> data will be used, either debugfs or a bunch of sysfs attributes would
> be typical ways to export it.

I was afraid of that. The data is not just for debugging. The info
must be available in standard production systems. So debugfs is not
appropriate.

Can you give me a pointer to a driver to use as a prototype
for /sys information.

The GRU driver currently generates files that look like:


# cat /proc/gru/statistics
11 vdata_free
13 gts_alloc
11 gts_free
13 assign_context
11 free_context
13 load_context
11 unload_context
13 nopfn
13 asid_new
2 asid_next
230 intr
24 call_os
13 set_task_slice
38 migrate_check
230 tlb_dropin
12 tlb_dropin_fail_upm
....


# cat /proc/gru/gru_status
# gid nid ctx cbr dsr ctx cbr dsr
# busy busy busy free free free
0 0 2 4 4096 14 124 28672
1 0 1 2 1024 15 126 31744
2 1 0 0 0 16 128 32768
3 1 1 2 1024 15 126 31744
...


AFAICT, this is not a format that is compatible with the /sys guidelines of 1 value
per file.

A system can have 1000's of GRU chiplets. Having separate collection of files for
each set of metrics is clumsy. What other drivers have similar issues. I'll
gladly copy whatever makes sense.


--- jack
--
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/