[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock |
Date: |
Sat, 04 May 2013 12:42:09 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2013-05-04 11:47, Paolo Bonzini wrote:
> Il 03/05/2013 10:04, Jan Kiszka ha scritto:
>> We can't change the semantics of opaque as long as old_mmio / old_portio
>> are around. But we need a flag anyway to indicate if a region is
>> depending on BQL or not. Adding a separate "Object *owner" to
>> MemoryRegion can serve both purposes. Then we define something like
>>
>> void memory_region_set_local_locking(MemoryRegion *mr,
>> bool local_locking,
>> Object *owner);
>>
>> to control the property (if local_locking is true, owner must be
>> non-NULL, of course). That's quite similar to my old prototype here that
>> had memory_region_set/clear_global_locking.
>
> I think setting the owner can be done separately from enabling local
> lock. For example, memory_region_find could also have a variant that
> adds a ref to the owner. It would be very similar to what Ping Fan is
> doing in the virtio-dataplane's HostMem data structure.
That's trivial to break up, but I'm not sure if there will be reasonable
scenarios where a region requires reference counting without being able
to work without the BQL. RAM, e.g., should always work BQL-free (once we
have the infrastructure in place).
And memory_region_find should likely always increment a reference if the
target region has an owner. We should convert its users to properly
dereference the region once done with it.
Jan
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Jan Kiszka, 2013/05/02
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Jan Kiszka, 2013/05/02
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, liu ping fan, 2013/05/03
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Jan Kiszka, 2013/05/03
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Paolo Bonzini, 2013/05/04
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock,
Jan Kiszka <=
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Paolo Bonzini, 2013/05/06
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Jan Kiszka, 2013/05/06
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Paolo Bonzini, 2013/05/06
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Jan Kiszka, 2013/05/06
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Paolo Bonzini, 2013/05/06
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Jan Kiszka, 2013/05/06
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Paolo Bonzini, 2013/05/06
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Jan Kiszka, 2013/05/06
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Paolo Bonzini, 2013/05/06
- Re: [Qemu-devel] [PATCH v7 0/7] push mmio dispatch out of big lock, Jan Kiszka, 2013/05/06