All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Cc: famz@redhat.com, stefanha@redhat.com
Subject: Re: [Qemu-devel] [PATCH 0/8] RCUification of the memory API, part 1
Date: Fri, 16 Jan 2015 14:04:00 +0100	[thread overview]
Message-ID: <54B90C40.5030503@de.ibm.com> (raw)
In-Reply-To: <1421171537-19118-1-git-send-email-pbonzini@redhat.com>

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
> 

      parent reply	other threads:[~2015-01-16 13:04 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-13 17:52 [Qemu-devel] [PATCH 0/8] RCUification of the memory API, part 1 Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 1/8] tls: require compiler support for __thread Paolo Bonzini
2015-01-13 18:40   ` Peter Maydell
2015-01-13 19:48     ` Paolo Bonzini
2015-01-13 20:00       ` Peter Maydell
2015-01-13 20:27         ` Paolo Bonzini
2015-01-13 22:07           ` Peter Maydell
2015-04-28 21:04             ` Emilio G. Cota
2015-04-29 11:09               ` Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 2/8] rcu: add rcu library Paolo Bonzini
2015-01-15 10:39   ` Fam Zheng
2015-01-15 11:08     ` Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 3/8] rcu: add rcutorture Paolo Bonzini
2015-01-16  2:04   ` Fam Zheng
2015-01-16 11:22     ` Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 4/8] rcu: allow nesting of rcu_read_lock/rcu_read_unlock Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 5/8] rcu: add call_rcu Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 6/8] memory: remove assertion on memory_region_destroy Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 7/8] memory: protect current_map by RCU Paolo Bonzini
2015-01-13 17:52 ` [Qemu-devel] [PATCH 8/8] memory: avoid ref/unref in memory_region_find Paolo Bonzini
2015-01-16 13:04 ` Christian Borntraeger [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54B90C40.5030503@de.ibm.com \
    --to=borntraeger@de.ibm.com \
    --cc=famz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.