This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Why systemtap loses events and what can be done about it?
Frank Ch. Eigler wrote:
> Hi -
>
> On Tue, Sep 04, 2007 at 09:48:13AM -0700, Mike Mason wrote:
>
>> I've been toying with the idea of optimizing probe handlers by
>> implementing them like interrupt handlers, with top and bottom
>> halves. [...]
>
> This is unlikely to be faster overall, but is an interesting idea.
> Putting blocking-capable constructs into a deferred-work handler could
> be an explicit option, though wrought with risks. (Lack of
> synchronization is one: a deferred get_user() value may not resemble
> one possibly fetched at the instant of a raw probe point.)
Definitely an interesting idea; Given Frank's concern, it seems that all data
collection would have to take place in the front-end handler.
The Bluedye team (Mike Strosaker, Nathan Fontenot and myself) implemented
something similar, collecting data immediately after a probe is hit, then using
a work queue to do all relay channel writes at a later time (i.e., when
interrupts are enabled). I have no idea what time-savings we saw, but I will
find some time today to hack out our work-queue code and look at the timing impact
-Brad Peters
>
> - FChE