DTrace for FreeBSD - Status Update

Joseph Koshy joseph.koshy at gmail.com
Fri May 26 08:18:56 PDT 2006


> But, I have a naive question.  Should this be integrated in
> some way with the hwpmc work of Joseph Koshy since I think it
> could be useful for DTRace to get information from the CPU as
> well.

Disclaimer: I've only just started reading about DTrace.

There appear to be two ways to integrate hwpmc and DTrace:

 - Augment the D virtual machine with a primitive that can
   read PMC values (e.g.- using RDPMC or RDMSR instructions
   on x86 CPUs).  Make this primitive available
   to scripts for allocating and reading from PMCs (say
   a "pmcread()" builtin function).

   This approach would work well with counting mode PMCs
   (both process and system-mode counting PMCs) and would
   allow PMCs to be read at arbitrary points of time.

   We'll need a way of allocating system-wide & process-mode
   PMCs; this could be done in userland (in dtrace(8)).

 - hwpmc(4) can be augmented to be a 'DTrace provider'
   allowing D scripts to be run, say when a PC sample is
   recorded.

-- 
FreeBSD Developer,     http://people.freebsd.org/~jkoshy


More information about the freebsd-current mailing list