> On 7/9/07, Alexander Kolbasov <[EMAIL PROTECTED]> wrote:
> >
> > Hello,
> >
> > I would like to propose a new "CPUfs" project aimed at providing extended
> > observability for the CPUs in the system and their sharing relationships.
> > The
> > main objective is to provide stable infrastructure for representing CPU
> > properties for user-land applications.
> >
> > Currently some CPU-related information can be obtained using prtconf(1M)
> > and
> > psrinfo(1M) which just a wrapper around the kstat (1M) framework. The
> > kstat
> > framework is usable for representing simple "flat" CPU properties, but
> > using it
> > becomes more and more of a stretch in the CMT world.
> >
> > The purpose of the CPUfs project is to explore using the file system
> > abstraction
> > to represent CPU properties. File system abstraction supports hierarchy
> > and
> > convenient name space.
> >
> > I suggest hosting the project under either Observability or Performance
> > community.
> 
> 
> As a sysadmin, I would find this functionality very useful. Currently I have
> to resort to parsing a combination of psrconf and psrinfo, and the format of
> the output is inconsistent, so I have to keep updating my code every time
> that a new CPU type is added to Solaris.
> 
> One concern is to make sure that this is designed as a "stable interface"
> that can scale to handle most CPU configurations looking down the road.

Yes, this is a very important point.
 
> We will probably need to handle the virtualization extensions properly as
> well. (As related to Xen, Zones and VMWare). I'm thinking that we need to
> focus on creating a standard format "feature matrix". This would allow new
> features to be added down the road, while allowing code to check for the
> existence of features, without knowing or caring what particular model of
> chip. (I know I am probably stating the obvious).
> 
> One question to consider is do we want to also support something similar to
> Linux's "/proc/cpuinfo"?
> 
> e.g.:
> 
> debian-macbook:/usr/src# cat /proc/cpuinfo
> processor       : 0
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 14
> model name      : Genuine Intel(R) CPU           T2500  @ 2.00GHz
> stepping        : 8
> cpu MHz         : 1000.000
> cache size      : 2048 KB
> physical id     : 0
> siblings        : 2
> core id         : 0
> cpu cores       : 2
> fdiv_bug        : no
> hlt_bug         : no
> f00f_bug        : no
> coma_bug        : no
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 10
> wp              : yes
> flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
> mca cmov pat clflush dts acpi mmx fxsr sse
>                   sse2 ss ht tm pbe nx constant_tsc pni monitor vmx est tm2 
> xtpr
> bogomips        : 3999.30


Currently we provide something similar using kstats. We can certainly do this, 
if there is a need, but I think that is more useful to provide such 
information in a more structural way. For example, we may have a file for each 
property which contains the property value.

- akolb

_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to