qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC v4 2/3] memory: add depth assert in address_space_to_flatview


From: Paolo Bonzini
Subject: Re: [RFC v4 2/3] memory: add depth assert in address_space_to_flatview
Date: Wed, 28 Dec 2022 09:27:50 +0100



Il ven 23 dic 2022, 16:54 Peter Xu <peterx@redhat.com> ha scritto:
> This is not valid because the transaction could happen in *another* thread.
> In that case memory_region_transaction_depth() will be > 0, but RCU is
> needed.

Do you mean the code is wrong, or the comment?  Note that the code has
checked rcu_read_locked() where introduced in patch 1, but maybe something
else was missed?

The assertion is wrong. It will succeed even if RCU is unlocked in this thread but a transaction is in progress in another thread.

Perhaps you can check (memory_region_transaction_depth() > 0 && !qemu_mutex_iothread_locked()) || rcu_read_locked() instead?

Paolo

Thanks,

--
Peter Xu


reply via email to

[Prev in Thread] Current Thread [Next in Thread]