Hi Dario,
On 27/07/2017 09:01, Dario Faggioli wrote:
Instead of having the CPU where a callback is queued, busy
looping on rcu_pending(), use a timer.
In fact, we let the CPU go idla,e but we program a timer
that will periodically wake it up, for checking whether the
grace period has actually ended.
It is kind of similar to introducing a periodic tick, but
with a much more limited scope, and a lot less overhead. In
fact, this timer is:
- only active for the CPU(s) that have callbacks queued,
waiting for the end of a grace period;
- only active when those CPU(s) are idle (and stopped as
soon as they resume execution).
If I read this correctly, it means on ARM the idling will now get
interrupted periodically. This is a bit unfortunate, given that if you
have a CPU doing nothing, you would still interrupt it intermittently.
I was expected that we could remove the CPU from the RCU whilst it is
idle. Is there any reason for not doing that?
Cheers,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel