lkml.org 
[lkml]   [2006]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/6] 2.6.16-rc1 perfmon2 patch for review
On Wed, Jan 25, 2006 at 09:43:45PM -0800, Stephane Eranian wrote:
> > > /proc/perfmon
>
> This one contains statistics about perfmon such as PMU model, number of active
> sessions, and also a bunch of per-cpu statistics (see attached file).
>
> $ cat /proc/perfmon
> perfmon version : 2.2
> PMU model : Intel Pentium M
> PMU description version : 1.0
> counter width : 31
> loaded per-thread sessions : 0
> loaded sys-wide sessions : 0
> current smpl buffer memory : 0

These can all be individual files, one value per file in sysfs.

> format : d1-39-b2-9e-62-e8-40-e4-b4-02-73-07-87-92-e9-37 default_format2

What does this mean?

> CPU0 total ovfl intrs : 0
> CPU0 spurious intrs : 0
> CPU0 replay intrs : 0
> CPU0 regular intrs : 0
> CPU0 overflow cycles : 0
> CPU0 overflow phase1 : 0
> CPU0 overflow phase2 : 0
> CPU0 overflow phase3 : 0
> CPU0 smpl handler calls : 0
> CPU0 smpl handler cycles : 0
> CPU0 set switch count : 0
> CPU0 set switch cycles : 0
> CPU0 handle timeout : 0
> CPU0 owner task : -1
> CPU0 owner context : 00000000
> CPU0 activations : 0

These should all be individual files, under the specific cpu in
questions in sysfs (/sys/devices/system/cpu/cpuX)

> > > /proc/perfmon_map
>
> This one contains PMU register mapping information. On My laptop, it shows:
> % cat /proc/perfmon_map
> PMC0:0x100000:0xffcfffff:PERFSEL0
> PMC1:0x100000:0xffcfffff:PERFSEL1
> PMD0:0x0:0xffffffffffffffff:PERFCTR0
> PMD1:0x0:0xffffffffffffffff:PERFCTR1

Hm, can you split this up into individual files like:
/sys/kernel/perfmon/map_PMC0
/sys/kernel/perfmon/map_PMC1
/sys/kernel/perfmon/map_PMD0
/sys/kernel/perfmon/map_PMD1
that contain a single line?

"0x100000:0xffcfffff:PERFSEL0" for example for the map_PMC0 file.

> > What are the contents of these files?
> >
> > > These are currently sysctl():
> > >
> > > /proc/sys/kernel/perfmon/arg_size_max
> > > /proc/sys/kernel/perfmon/debug
> > > /proc/sys/kernel/perfmon/debug_ovfl
> > > /proc/sys/kernel/perfmon/expert_mode
> > > /proc/sys/kernel/perfmon/reset_stats
> > > /proc/sys/kernel/perfmon/smpl_buf_size_max
> > > /proc/sys/kernel/perfmon/sys_group
> > > /proc/sys/kernel/perfmon/task_group
> > >
> >
> > What are the contents of these different files?
>
> One integer value per file.

Great, that maps to sysfs just fine.

> > Remember that sysfs is one value per file, so sysctls translate usually
> > very easily to sysfs files.
> >
> Yes, that should be fairly easy.
>
> > You can always just use /sys/kernel/perfmon/ if you like, as I don't
> > think you are bound to anything that would be in the /sys/devices tree
> > (you don't export per-cpu statistics, right?)
> >
> Well, /proc/perfmon does expose per-cpu stats.

Then it should go in the above mentioned sysfs cpu directory.

thanks,

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

\
 
 \ /
  Last update: 2006-01-27 01:19    [W:2.360 / U:2.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site