On 03.02.21 10:19, Julien Grall wrote:
Hi,On 03/02/2021 07:31, Dario Faggioli wrote:On Tue, 2021-02-02 at 15:23 +0000, Julien Grall wrote:In reality, it is probably still too early as a pCPU can be considered quiesced until a call to rcu_lock*() (such rcu_lock_domain()).Well, yes, in theory, we could track down which is the first RCU read side crit. section on this path, and put the call right before that (if I understood what you mean).Oh, that's not what I meant. This will indeed be far more complex than I originally had in mind.AFAIU, the RCU uses critical section to protect data. So the "entering" could be used as "the pCPU is not quiesced" and "exiting" could be used as "the pCPU is quiesced".The concern with my approach is we would need to make sure that Xen correctly uses the rcu helpers. I know Juergen worked on that recently, but I don't know whether this is fully complete.
I think it is complete, but I can't be sure, of course. One bit missing (for catching some wrong uses of the helpers) is this patch: https://lists.xen.org/archives/html/xen-devel/2020-03/msg01759.html I don't remember why it hasn't been taken, but I think there was a specific reason for that. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: application/pgp-keys
OpenPGP_signature
Description: OpenPGP digital signature