qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 0/8] RCUification of the memory API, part 1


From: Christian Borntraeger
Subject: Re: [Qemu-devel] [PATCH 0/8] RCUification of the memory API, part 1
Date: Fri, 16 Jan 2015 14:04:00 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0

Am 13.01.2015 um 18:52 schrieb Paolo Bonzini:
> These are the minimal changes to adopt RCU and use it in memory_region_find
> (and hence in virtio-blk-dataplane).  Looks big, but two thirds of it
> is documentation and tests.
> 
> Please review! :)

Really Nice. 
This gives me a boost from 1000MB/sec to 1400MB/sec on my fio test.
(4k block random reads on null block devices).
perf shows me that pthread_mutex_lock and kernel spin locking contention
(I have a 32cpu host) goes away.

Christian
> 
> Paolo
> 
> Jan Kiszka (1):
>   memory: remove assertion on memory_region_destroy
> 
> Paolo Bonzini (7):
>   tls: require compiler support for __thread
>   rcu: add rcu library
>   rcu: add rcutorture
>   rcu: allow nesting of rcu_read_lock/rcu_read_unlock
>   rcu: add call_rcu
>   memory: protect current_map by RCU
>   memory: avoid ref/unref in memory_region_find
> 
>  configure                 |   9 +-
>  docs/rcu.txt              | 388 +++++++++++++++++++++++++++++++++++++++
>  exec.c                    |   2 +-
>  hw/9pfs/virtio-9p-synth.c |   1 +
>  include/exec/memory.h     |   5 +
>  include/qemu/atomic.h     |  61 +++++++
>  include/qemu/queue.h      |  13 ++
>  include/qemu/rcu.h        | 155 ++++++++++++++++
>  include/qemu/thread.h     |   3 -
>  include/qemu/tls.h        |  52 ------
>  include/qom/cpu.h         |   4 +-
>  memory.c                  |  60 +++----
>  tests/Makefile            |  11 +-
>  tests/rcutorture.c        | 449 
> ++++++++++++++++++++++++++++++++++++++++++++++
>  tests/test-tls.c          |  83 +++++++++
>  util/Makefile.objs        |   1 +
>  util/rcu.c                | 290 ++++++++++++++++++++++++++++++
>  17 files changed, 1485 insertions(+), 102 deletions(-)
>  create mode 100644 docs/rcu.txt
>  create mode 100644 include/qemu/rcu.h
>  delete mode 100644 include/qemu/tls.h
>  create mode 100644 tests/rcutorture.c
>  create mode 100644 tests/test-tls.c
>  create mode 100644 util/rcu.c
> 




reply via email to

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