public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* RE: [perfmon] Re: perfmon2 TODO list (4/4)
@ 2006-04-13 21:21 Stone, Joshua I
  2006-04-13 21:28 ` Frank Ch. Eigler
  0 siblings, 1 reply; 14+ messages in thread
From: Stone, Joshua I @ 2006-04-13 21:21 UTC (permalink / raw)
  To: Frank Ch. Eigler; +Cc: systemtap, perfmon, Stephane Eranian

Frank Ch. Eigler wrote:
>>>> Some options to get context setup:
>>>> 	-generate bit patterns when compiling systemtap script
>>>> 		and generate static array with information for context,
>>>> 		pmc, and pmd setup.
> 
> This is what we hope to do.  That means that we only would need the
> low-level register manipulation API in the kernel, and not the
> abstract event naming, configuration/compatibility checking, etc.
> [...]
> That is correct.  During systemtap script compilation, the event names
> would be translated to low level PMU register configurations.

We need to be careful for the case of pre-compiled or cross-compiled
modules.  If all of the translation and checks happen at compile time,
then we'll need to make sure at init time whether we're still on a
compatible cpu.

If we can delay this until runtime, it could still be managed in
user-mode via the stpd daemon, and we'd be guaranteed that the PMU
values match the current CPU.


Josh

^ permalink raw reply	[flat|nested] 14+ messages in thread
* RE: [perfmon] Re: perfmon2 TODO list (4/4)
@ 2006-04-13 22:55 Stone, Joshua I
  2006-04-13 23:05 ` Frank Ch. Eigler
  0 siblings, 1 reply; 14+ messages in thread
From: Stone, Joshua I @ 2006-04-13 22:55 UTC (permalink / raw)
  To: Frank Ch. Eigler; +Cc: systemtap

Frank Ch. Eigler wrote:
> The translator could cross-compile for several alternative cpu
> flavours (all within an architecture, or selected ones identified by
> the user, like a "fat" executable).  The module would pick the
> appropriate PMU configuration set one during initialization time, or
> else abort.
> 
>> If we can delay this until runtime, it could still be managed in
>> user-mode via the stpd daemon [...]
> 
> That is an alternate possibility, one somewhat less preferable.

I would hate to require SystemTap to know all of the possible variations
that should be included in the fat binary - that is the point of having
libpfm in the first place.  A statement like "all within an
architecture" is still painful when dealing with the P4.  In a
"delayed-resolution" model, SystemTap can remain ignorant of
architectural differences.

Josh

^ permalink raw reply	[flat|nested] 14+ messages in thread
* RE: [perfmon] Re: perfmon2 TODO list (4/4)
@ 2006-04-13 23:39 Stone, Joshua I
  2006-04-14  1:43 ` Frank Ch. Eigler
  0 siblings, 1 reply; 14+ messages in thread
From: Stone, Joshua I @ 2006-04-13 23:39 UTC (permalink / raw)
  To: Frank Ch. Eigler; +Cc: systemtap

Frank Ch. Eigler wrote:
>> I would hate to require SystemTap to know all of the possible
>> variations that should be included in the fat binary - that is the
>> point of having libpfm in the first place.
> We would still use libpfm itself, but instead of asking it to generate
> PMC data for one particular CPU only, we would ask it to generate
> several candidates.

Can libpfm enumerate the possible variations, so we know which
candidates to ask for?

>> A statement like "all within an architecture" is still painful when
>> dealing with the P4.
> 
> How painful do you mean?  A few dozen variants would still take only a
> couple of hundred bytes of "fat" PMC data.

I mean painful from a maintenance perspective.  Somehow you have to know
which variations to ask for, and suddenly SystemTap is forced to track
all new CPU releases.

Libpfm has to do this already, so if we can get this from libpfm then
it's not so bad.

> Downsides of having stpd resolve this stuff include the loss of
> proximity to script code for purposes such as error localization,
> advice heuristics; reliance on a smarter stpd precludes operation
> without it (such as in the boot-time probing scenario of bug #2035);
> it could preclude representation of CPU flavours to tapsets for
> purposes of event name abstraction.

All good points.

I guess the only concern I have left is making sure that the PMC data we
have match the processor we're loading on.  This needs to be addressed
regardless of whether we allow multiple CPU targets.  I don't think this
is necessarily a difficult task, but it's definitely required.


Josh

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2006-04-18 11:41 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20060412215747.GJ29245@frankl.hpl.hp.com>
     [not found] ` <20060412220659.GL29245@frankl.hpl.hp.com>
     [not found]   ` <20060412221256.GM29245@frankl.hpl.hp.com>
     [not found]     ` <200604131201.59232.kevcorry@us.ibm.com>
     [not found]       ` <20060413200223.GD30718@frankl.hpl.hp.com>
2006-04-13 20:22         ` [perfmon] Re: perfmon2 TODO list (4/4) Frank Ch. Eigler
2006-04-13 22:01           ` Stephane Eranian
2006-04-13 22:23             ` Frank Ch. Eigler
2006-04-13 22:29               ` Stephane Eranian
2006-04-13 22:33                 ` Frank Ch. Eigler
2006-04-17 13:57                 ` William Cohen
2006-04-18  8:44                   ` Stephane Eranian
2006-04-18 11:41                     ` Ananth N Mavinakayanahalli
2006-04-13 21:21 Stone, Joshua I
2006-04-13 21:28 ` Frank Ch. Eigler
2006-04-13 22:55 Stone, Joshua I
2006-04-13 23:05 ` Frank Ch. Eigler
2006-04-13 23:39 Stone, Joshua I
2006-04-14  1:43 ` Frank Ch. Eigler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).