On Fri, Aug 07, 2020 at 02:29:11PM -0700, Jonathan Adams wrote: > Add a simple mechanism for exporting percpu data through metricfs. > The API follows the existing metricfs pattern. A percpu file is > defined with: > > METRIC_EXPORT_PERCPU_INT(name, desc, fn) > METRIC_EXPORT_PERCPU_COUNTER(name, desc, fn) > > The first defines a file for exposing a percpu int. The second is > similar, but is for a counter that accumulates since boot. The > 'name' is used as the metricfs file. The 'desc' is a description > of the metric. The 'fn' is a callback function to emit a single > percpu value: > > void (*fn)(struct metric_emitter *e, int cpu); > > The callback must call METRIC_EMIT_PERCPU_INT with the value for > the specified CPU. > > Signed-off-by: Jonathan Adams <jwadams@xxxxxxxxxx> > > --- > > jwadams@xxxxxxxxxx: rebased to 5.6-pre6, renamed funcs to start with > metric_. This is work originally done by another engineer at > google, who would rather not have their name associated with this > patchset. They're okay with me sending it under my name. > --- > include/linux/metricfs.h | 28 +++++++++++++++++++ > kernel/metricfs.c | 58 ++++++++++++++++++++++++++++++++++++---- fs/metricfs/ ? This isn't a kernel "core" feature. Or just put it in fs/debugfs/ and tack it along with one of the debugfs helper functions to make it easier for everyone to use these (if they actually are valuable. It's hard to see how this differs from any other debugfs interface today. thanks, greg k-h