[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
>
- Re: [Qemu-devel] [PATCH 2/8] rcu: add rcu library, (continued)
- [Qemu-devel] [PATCH 6/8] memory: remove assertion on memory_region_destroy, Paolo Bonzini, 2015/01/13
- [Qemu-devel] [PATCH 5/8] rcu: add call_rcu, Paolo Bonzini, 2015/01/13
- [Qemu-devel] [PATCH 3/8] rcu: add rcutorture, Paolo Bonzini, 2015/01/13
- [Qemu-devel] [PATCH 7/8] memory: protect current_map by RCU, Paolo Bonzini, 2015/01/13
- [Qemu-devel] [PATCH 8/8] memory: avoid ref/unref in memory_region_find, Paolo Bonzini, 2015/01/13
- [Qemu-devel] [PATCH 4/8] rcu: allow nesting of rcu_read_lock/rcu_read_unlock, Paolo Bonzini, 2015/01/13
- Re: [Qemu-devel] [PATCH 0/8] RCUification of the memory API, part 1,
Christian Borntraeger <=