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

Ingo Molnar
2011-05-27T10:25:45Z

* Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote:

> > - Check kernel/tinyrcu.c to see how RCU is implemented in its
> > simplest form. :)
>
> ...so simplistic it only works on UP systems, which are not so common
> these days on the systems targeted by kvm.

As i said above, in its simplest form - which is UP.

Obviously it's not tinyrcu.c that should be used by tools/kvm/ but
what i suggested, tree-RCU:

> > - Copy the tree-RCU code from kernel/treercu.c to tools/kvm/rcu/
>
> This code is very much tied with the kernel scheduler. [...]

It would not be particularly complex to enable user-space to request
a callback on context switch events.

I was thinking on and off about allowing perf events to generate a
per sampling event notification signal on specific events, such as
page faults or context switches.

Obviously this won't be enabled from NMI contexts due to atomicity
constraints, but the pagefault and maybe the context switch path
looks doable.

That capability would be a rather simple kernel change and it would
allow a user-space RCU implementation to be notified of various key
events, context switches in particular.

Would you be interested in helping code up such a facility? The urcu
library could make good use of it i think, regardless of what we do
in tools/kvm/.

Thanks,

Ingo