[Mono-dev] Mono profiler agent for jitted code

Paolo Molaro lupus at ximian.com
Mon Apr 3 12:35:33 EDT 2006


On 04/03/06 Yeh, Jason wrote:
> > *) not require root privs (at least for a subset of the
> > capabilities or with limits designed to reduce the number of
> > interrupts per second) 
> 
> As far as I know, not requiring root privs would be a overhaul to the
> Oprofile.  I doubt this can be done easily.  Can you elaborate on the
> limits designed to reduce the number of interrupts per second?  The
> event count allows users to do that manually.  Are you referring to an
> automatic throttling or a similar scheme that would reduce the number of
> interrupts automatically?

It would be a mechanism not necessarily automatic, it could be
hard-coded. For example the event that counts executed instructions
should be set by the user to generate no more than, say 1000 interrupts
per second. A similar mechanism is in place for /dev/rtc (though in that
case the default limit is an almost uses 64 Hz). When the user asks for
a value that would generate too much overhead, it is either capped or
an error is returned.
Since assigning limits to all the possible events would be a pain, it
would be fine to allow the users to just access the most important 4-5
events.
Increasing too much the load on a box is the only security issue that,
IMHO, requires root for oprofile. So, with the proper limit, it should
not be too hard to allow this.

> > *) have the counters virtualized per process
> > (this may be 
> > already the case, I haven't looked at oprofile in a long time)
> 
> This is still not the case.  The number of counters is still limited to
> the number of physical counter in the cpu.  However, we are
> experimenting with event multiplexing, but it will not be part of
> Oprofile for a while.

I meant virtualization of the counter values per-process. At the time I
looked, the values read from the counters were system-wide.
Multiplexing is of course a good feature to have (someone working on the
kernel should likely do it for /dev/rtc, too).

Thanks!

lupus

-- 
-----------------------------------------------------------------
lupus at debian.org                                     debian/rules
lupus at ximian.com                             Monkeys do it better



More information about the Mono-devel-list mailing list