[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [patch v4 00/16] push mmio dispatch out of big lock
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [patch v4 00/16] push mmio dispatch out of big lock |
Date: |
Thu, 25 Oct 2012 18:13:51 +0100 |
On 25 October 2012 18:07, Avi Kivity <address@hidden> wrote:
> On 10/25/2012 04:04 PM, Peter Maydell wrote:
>> Is there a clear up to date description somewhere of the design and
>> locking strategy here somewhere? I'd rather not have to try to
>> reconstitute it by reading the whole patchset...
>
> It was described somewhere in a document by Marcelo and myself.
> Basically the goal is to arrive at
>
> address_space_write():
> rcu_read_lock()
> mr = lookup()
> mr->ref()
> rcu_read_unlock()
>
> mr->dispatch()
>
> mr->unref()
>
> This is the same strategy used in many places in the kernel.
Yes, but this is rather short on the details (eg, does every
device have its own lock, what are we doing with irqs, how about
dma from devices, etc etc). It's the details of the design I'd
like to see described...
-- PMM
- Re: [Qemu-devel] [patch v4 13/16] e1000: add busy flag to anti broken device state, (continued)
- [Qemu-devel] [patch v4 11/16] vcpu: push mmio dispatcher out of big lock, Liu Ping Fan, 2012/10/22
- [Qemu-devel] [patch v4 15/16] e1000: introduce unmap() to fix unplug issue, Liu Ping Fan, 2012/10/22
- [Qemu-devel] [patch v4 02/16] qom: apply atomic on object's refcount, Liu Ping Fan, 2012/10/22
- [Qemu-devel] [patch v4 16/16] e1000: implement MemoryRegionOps's ref&lock interface, Liu Ping Fan, 2012/10/22
- Re: [Qemu-devel] [patch v4 00/16] push mmio dispatch out of big lock, Peter Maydell, 2012/10/25
- Re: [Qemu-devel] [patch v4 00/16] push mmio dispatch out of big lock, Avi Kivity, 2012/10/29