qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 0/6] proposal to make hostmem listener RAM un


From: liu ping fan
Subject: Re: [Qemu-devel] [PATCH v2 0/6] proposal to make hostmem listener RAM unplug safe
Date: Mon, 6 May 2013 09:42:34 +0800

On Sat, May 4, 2013 at 5:53 PM, Paolo Bonzini <address@hidden> wrote:
> Il 03/05/2013 04:45, Liu Ping Fan ha scritto:
>> v1->v2:
>>   1.split RCU prepared style update and monitor the RAM-Device refcnt into 
>> two patches (patch 2,4)
>>   2.introduce AddrSpaceMem, which is similar to HostMem, but based on 
>> address space, while
>>     the original HostMem only server system memory address space
>
> This looks suspiciously similar to FlatView, doesn't it?
>
FlatView is used for all the listeners, including for mmio dispatching,
which aims to mapping from hwaddr to DeviceState for dispatching service.
While here, we mapping from hwaddr to hva.

> Perhaps the right thing to do is to add the appropriate locking and
> RCU-style updating to address_space_update_topology and

RCU implementation is data struct related,  and each listener has its
local table, so I think it is more reasonable to implement them
separately.  And vhost has its own RCU implement in kernel already.

> memory_region_find.   (And replacing flatview_destroy with ref/unref
> similar to HostMem in your patch 2).  Then just switch dataplane to use
> memory_region_find...
>
In fact, I think, HostMem listener can be an substitute for
cpu_physical_memory_map(),  the main issue can be the migration
support.  But before getting big patches, I hope to have this smaller
and simpler one.

Regards,
Pingfan

> Paolo
>
>> Liu Ping Fan (6):
>>   hostmem: make hostmem single, not per Vring related
>>   hostmem: AddressSpace has its own map and maintained by RCU prepared
>>     style
>>   memory: add ref/unref interface for MemroyRegionOps
>>   hostmem: hostmem listener pin RAM-Device by refcnt
>>   Vring: use hostmem's RAM safe api
>>   virtio-blk: release reference to RAM's memoryRegion
>>
>>  exec.c                                |    1 +
>>  hw/block/dataplane/virtio-blk.c       |   52 ++++++++---
>>  hw/virtio/dataplane/hostmem.c         |  168 
>> +++++++++++++++++++++++++--------
>>  hw/virtio/dataplane/vring.c           |  100 +++++++++++++++-----
>>  include/exec/memory.h                 |   11 ++
>>  include/hw/virtio/dataplane/hostmem.h |   25 +++---
>>  include/hw/virtio/dataplane/vring.h   |    5 +-
>>  memory.c                              |   18 ++++
>>  8 files changed, 289 insertions(+), 91 deletions(-)
>>
>



reply via email to

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