Akihiko Odaki <[email protected]> writes:

> Based-on: <[email protected]>
> ("[PATCH] rcu: Unify force quiescent state")
>
> Unmapping a blob changes the memory map, which is protected with RCU.
> RCU is designed to minimize the read-side overhead at the cost of
> reclamation delay. While this design usually makes sense, it is
> problematic when unmapping a blob because the operation blocks all
> virtio-gpu commands and causes perceivable disruption.
>
> Minimize such the disruption with force_rcu(), which minimizes the
> reclamation delay at the cost of a read-side overhead.
>
> Dmitry, can you see if this change makes difference?
>
> Signed-off-by: Akihiko Odaki <[email protected]>

Are you planning a re-spin now the rcu patch is merged? If the rcu
maintainers are happy I'm fine to take it via virtio-gpu/next with the
testcase.

> ---
> Akihiko Odaki (5):
>       futex: Add qemu_futex_timedwait()
>       qemu-thread: Add qemu_event_timedwait()
>       rcu: Use call_rcu() in synchronize_rcu()
>       rcu: Wake the RCU thread when draining
>       virtio-gpu: Force RCU when unmapping blob
>
>  include/qemu/futex.h          |  29 ++++++--
>  include/qemu/rcu.h            |   1 +
>  include/qemu/thread-posix.h   |  11 +++
>  include/qemu/thread.h         |   8 ++-
>  hw/display/virtio-gpu-virgl.c |   1 +
>  util/event.c                  |  34 ++++++++--
>  util/qemu-thread-posix.c      |  11 +--
>  util/rcu.c                    | 153 
> ++++++++++++++++++++++++------------------
>  8 files changed, 163 insertions(+), 85 deletions(-)
> ---
> base-commit: ee7fbe81705732785aef2cb568bbc5d8f7d2fce1
> change-id: 20251027-force_rcu-616c743373f7
>
> Best regards,

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to