All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Mark Burton <mark.burton@greensocs.com>
Cc: mttcg@listserver.greensocs.com,
	"Peter Maydell" <peter.maydell@linaro.org>,
	jan.kiszka@siemens.com, qemu-devel <qemu-devel@nongnu.org>,
	"Alexander Graf" <agraf@suse.de>,
	"KONRAD Frédéric" <fred.konrad@greensocs.com>
Subject: Re: [Qemu-devel] global_mutex and multithread.
Date: Thu, 15 Jan 2015 21:27:43 +0100	[thread overview]
Message-ID: <54B822BF.6000401@redhat.com> (raw)
In-Reply-To: <0AEC3776-A93D-4CAB-AF03-33327E16965D@greensocs.com>



On 15/01/2015 20:07, Mark Burton wrote:
> However - if we go this route -the current patch is only for x86.
> (apart from the fact that we still seem to land in a deadlock…)

Jan said he had it working at least on ARM (MusicPal).

> One thing I wonder - why do we need to go to the extent of mutexing
> in the TCG like this? Why can’t you simply put a mutex get/release on
> the slow path? If the core is going to do ‘fast path’ access to the
> memory, - even if that memory was IO mapped - would it matter if it
> didn’t have the mutex?

Because there is no guarantee that the memory map isn't changed by a
core under the feet of another.  The TLB (in particular the "iotlb") is
only valid with reference to a particular memory map.

Changes to the memory map certainly happen in the slow path, but lookups
are part of the fast path.  Even an rwlocks is too slow for a fast path,
hence the plan of going with RCU.

Paolo

  reply	other threads:[~2015-01-15 20:27 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-15 10:25 [Qemu-devel] global_mutex and multithread Frederic Konrad
2015-01-15 10:34 ` Peter Maydell
2015-01-15 10:41   ` Frederic Konrad
2015-01-15 10:44 ` Paolo Bonzini
2015-01-15 11:12 ` Paolo Bonzini
2015-01-15 11:14   ` Alexander Graf
2015-01-15 11:26     ` Paolo Bonzini
2015-01-15 13:30     ` Frederic Konrad
2015-01-15 13:34       ` Mark Burton
2015-01-15 12:51   ` Frederic Konrad
2015-01-15 12:56     ` Paolo Bonzini
2015-01-15 13:27       ` Frederic Konrad
2015-01-15 13:30         ` Peter Maydell
2015-01-15 19:07   ` Mark Burton
2015-01-15 20:27     ` Paolo Bonzini [this message]
2015-01-15 20:53       ` Mark Burton
2015-01-15 21:41         ` Paolo Bonzini
2015-01-15 21:41         ` Paolo Bonzini
2015-01-16  7:25           ` Mark Burton
2015-01-16  8:07             ` Jan Kiszka
2015-01-16  8:43               ` Frederic Konrad
2015-01-16  8:52               ` Mark Burton

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=54B822BF.6000401@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=agraf@suse.de \
    --cc=fred.konrad@greensocs.com \
    --cc=jan.kiszka@siemens.com \
    --cc=mark.burton@greensocs.com \
    --cc=mttcg@listserver.greensocs.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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.