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?

Perhaps the right thing to do is to add the appropriate locking and
RCU-style updating to address_space_update_topology and
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...

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