Re: [PATCH 4/6] kvm tools: Add rwlock wrapper

Mathieu Desnoyers
2011-05-27T14:18:20Z

* Ingo Molnar (mingo@elte.hu) wrote:
>
> * Ingo Molnar <mingo@elte.hu> wrote:
>
> > Note that you do not want the context switch event, but the CPU
> > migration event: that will notify user-space when it gets migrated
> > to another CPU. This is the case that RCU really needs.
>
> Also note that the main current use-case of perf events is
> instrumentation, thus if you make use of this facility for user-space
> RCU you need to check whether the events are all precise and arrive
> in time to the target process, etc.
>
> Statistical behavior isnt a big problem for instrumentation but it's
> a showstopper for RCU, obviously! :-)
>
> If you find such bugs then we want to fix them, so there's no
> fundamental *desire* from us for these events to be statistical and
> inaccurate anywhere.

The accuracy vs speed tradeoff is actually quite different from the
instrumentation vs low-level-synchronization point of views. It might be
acceptable in some sampling situations to get some inaccuracy due to
lack of locking if it makes the data collection tool reasonably fast for
real-life use (note that I am talking about "sampling", not event-based
tracing here). So there are situations where adding locking will make
the overhead prohibitive for sampling, but would be required for the
perfect accuracy needed by RCU.

So although the desire might not be to get inaccurate data, the actual
desire to get it in a low-overhead fashion can lead to different
decisions regarding the accuracy vs speed tradeoff.

Thanks,

Mathieu

--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.