qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC] vhost: Can we change synchronize_rcu to call_rcu


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [RFC] vhost: Can we change synchronize_rcu to call_rcu in vhost_set_memory() in vhost kernel module?
Date: Mon, 12 May 2014 12:25:35 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

Il 12/05/2014 12:18, Michael S. Tsirkin ha scritto:
On Mon, May 12, 2014 at 12:14:25PM +0200, Paolo Bonzini wrote:
Il 12/05/2014 12:08, Michael S. Tsirkin ha scritto:
On Mon, May 12, 2014 at 11:57:32AM +0200, Paolo Bonzini wrote:
Perhaps we can check for cases where only the address is changing,
and poke at an existing struct kvm_kernel_irq_routing_entry without
doing any RCU synchronization?

I suspect interrupts can get lost then: e.g. if address didn't match any
cpus, now it matches some. No?

Can you explain the problem more verbosely? :)

Multiple writers would still be protected by the mutex, so you
cannot have an "in-place update" writer racing with a "copy the
array" writer.

I am not sure really.
I'm worried about reader vs writer.
If reader sees a stale msi value msi will be sent to a wrong
address.

That shouldn't happen on any cache-coherent system, no?

Or at least, it shouldn't become any worse than what can already happen with RCU.

Paolo




reply via email to

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