All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jamie Lokier <jamie@shareable.org>
To: Paul Brook <paul@codesourcery.com>
Cc: qemu-devel@nongnu.org, Cam Macdonell <cam@cs.ualberta.ca>,
	Avi Kivity <avi@redhat.com>,
	kvm@vger.kernel.org
Subject: Re: [Qemu-devel] [PATCH] Inter-VM shared memory PCI device
Date: Tue, 9 Mar 2010 20:12:43 +0000	[thread overview]
Message-ID: <20100309201243.GH11042@shareable.org> (raw)
In-Reply-To: <201003081303.45179.paul@codesourcery.com>

Paul Brook wrote:
> > On 03/08/2010 12:53 AM, Paul Brook wrote:
> > >> Support an inter-vm shared memory device that maps a shared-memory
> > >> object as a PCI device in the guest.  This patch also supports
> > >> interrupts between guest by communicating over a unix domain socket. 
> > >> This patch applies to the qemu-kvm repository.
> > >
> > > No. All new devices should be fully qdev based.
> > >
> > > I suspect you've also ignored a load of coherency issues, especially when
> > > not using KVM. As soon as you have shared memory in more than one host
> > > thread/process you have to worry about memory barriers.
> > 
> > Shouldn't it be sufficient to require the guest to issue barriers (and
> > to ensure tcg honours the barriers, if someone wants this with tcg)?.
> 
> In a cross environment that becomes extremely hairy.  For example the x86 
> architecture effectively has an implicit write barrier before every store, and 
> an implicit read barrier before every load.

Btw, x86 doesn't have any implicit barriers due to ordinary loads.
Only stores and atomics have implicit barriers, afaik.

-- Jamie

WARNING: multiple messages have this Message-ID (diff)
From: Jamie Lokier <jamie@shareable.org>
To: Paul Brook <paul@codesourcery.com>
Cc: Cam Macdonell <cam@cs.ualberta.ca>,
	qemu-devel@nongnu.org, kvm@vger.kernel.org,
	Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] Inter-VM shared memory PCI device
Date: Tue, 9 Mar 2010 20:12:43 +0000	[thread overview]
Message-ID: <20100309201243.GH11042@shareable.org> (raw)
In-Reply-To: <201003081303.45179.paul@codesourcery.com>

Paul Brook wrote:
> > On 03/08/2010 12:53 AM, Paul Brook wrote:
> > >> Support an inter-vm shared memory device that maps a shared-memory
> > >> object as a PCI device in the guest.  This patch also supports
> > >> interrupts between guest by communicating over a unix domain socket. 
> > >> This patch applies to the qemu-kvm repository.
> > >
> > > No. All new devices should be fully qdev based.
> > >
> > > I suspect you've also ignored a load of coherency issues, especially when
> > > not using KVM. As soon as you have shared memory in more than one host
> > > thread/process you have to worry about memory barriers.
> > 
> > Shouldn't it be sufficient to require the guest to issue barriers (and
> > to ensure tcg honours the barriers, if someone wants this with tcg)?.
> 
> In a cross environment that becomes extremely hairy.  For example the x86 
> architecture effectively has an implicit write barrier before every store, and 
> an implicit read barrier before every load.

Btw, x86 doesn't have any implicit barriers due to ordinary loads.
Only stores and atomics have implicit barriers, afaik.

-- Jamie

  parent reply	other threads:[~2010-03-09 20:12 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-05 23:52 [PATCH] Support adding a file to qemu's ram allocation Cam Macdonell
2010-03-05 23:52 ` [Qemu-devel] " Cam Macdonell
2010-03-05 23:52 ` [PATCH] Inter-VM shared memory PCI device Cam Macdonell
2010-03-05 23:52   ` [Qemu-devel] " Cam Macdonell
2010-03-07 22:53   ` Paul Brook
2010-03-08  1:45     ` Jamie Lokier
2010-03-08  1:45       ` Jamie Lokier
2010-03-08  9:48       ` Alexander Graf
2010-03-08  9:48         ` Alexander Graf
2010-03-08  9:54         ` Jamie Lokier
2010-03-08  9:54           ` Jamie Lokier
2010-03-08 10:57           ` Alexander Graf
2010-03-08 10:57             ` Alexander Graf
2010-03-09 21:41           ` Anthony Liguori
2010-03-09 21:41             ` Anthony Liguori
2010-03-08 13:04       ` Paul Brook
2010-03-08 13:04         ` Paul Brook
2010-03-09 19:00         ` Jamie Lokier
2010-03-09 19:00           ` Jamie Lokier
2010-03-08  9:52     ` Avi Kivity
2010-03-08  9:52       ` Avi Kivity
2010-03-08 13:03       ` Paul Brook
2010-03-08 13:03         ` Paul Brook
2010-03-08 13:16         ` Avi Kivity
2010-03-08 13:16           ` Avi Kivity
2010-03-09 20:11           ` Jamie Lokier
2010-03-09 20:11             ` Jamie Lokier
2010-03-09 21:44           ` Anthony Liguori
2010-03-09 21:44             ` [Qemu-devel] " Anthony Liguori
2010-03-10  9:25             ` Avi Kivity
2010-03-10  9:25               ` [Qemu-devel] " Avi Kivity
2010-03-10 17:13               ` Anthony Liguori
2010-03-10 17:13                 ` Anthony Liguori
2010-03-10 17:30                 ` Avi Kivity
2010-03-10 17:30                   ` Avi Kivity
2010-03-10 17:41                   ` Paul Brook
2010-03-10 17:41                     ` Paul Brook
2010-03-11  6:33                     ` Avi Kivity
2010-03-11  6:33                       ` Avi Kivity
2010-03-11 12:21                       ` Paul Brook
2010-03-11 12:21                         ` Paul Brook
2010-03-09 20:12         ` Jamie Lokier [this message]
2010-03-09 20:12           ` Jamie Lokier
2010-03-10  0:03           ` Paul Brook
2010-03-10  0:03             ` Paul Brook
2010-03-10  4:38             ` Cam Macdonell
2010-03-10  4:38               ` [Qemu-devel] " Cam Macdonell
2010-03-10  9:29               ` Avi Kivity
2010-03-10  9:29                 ` [Qemu-devel] " Avi Kivity
2010-03-10 11:13                 ` Paul Brook
2010-03-10 11:13                   ` Paul Brook
2010-03-11  3:10             ` Jamie Lokier
2010-03-11  3:10               ` Jamie Lokier
2010-03-11  4:37               ` Nick Piggin
2010-03-11  4:37                 ` Nick Piggin
2010-03-11 14:38                 ` malc
2010-03-11 14:38                   ` [Qemu-devel] " malc
2010-03-08  9:56   ` Avi Kivity
2010-03-08  9:56     ` [Qemu-devel] " Avi Kivity
2010-03-08 17:57     ` Cam Macdonell
2010-03-08 17:57       ` [Qemu-devel] " Cam Macdonell
2010-03-09 10:29       ` Avi Kivity
2010-03-09 10:29         ` [Qemu-devel] " Avi Kivity
     [not found]         ` <8286e4ee1003090724m1ef0b571g8b705a24e36e1753@mail.gmail.com>
2010-03-09 15:27           ` Cam Macdonell
2010-03-09 15:27             ` [Qemu-devel] " Cam Macdonell
2010-03-09 17:28             ` Avi Kivity
2010-03-09 17:28               ` [Qemu-devel] " Avi Kivity
2010-03-09 17:34               ` Anthony Liguori
2010-03-09 17:34                 ` [Qemu-devel] " Anthony Liguori
2010-03-09 18:34               ` Cam Macdonell
2010-03-09 18:34                 ` [Qemu-devel] " Cam Macdonell
2010-03-10  9:21                 ` Avi Kivity
2010-03-10  9:21                   ` [Qemu-devel] " Avi Kivity
2010-03-10 16:36                   ` Cam Macdonell
2010-03-10 16:36                     ` [Qemu-devel] " Cam Macdonell
2010-03-11  6:49                     ` Avi Kivity
2010-03-11  6:49                       ` [Qemu-devel] " Avi Kivity
2010-03-09 12:49       ` Arnd Bergmann
2010-03-09 12:49         ` [Qemu-devel] " Arnd Bergmann
2010-03-09 13:03         ` Avi Kivity
2010-03-09 13:03           ` [Qemu-devel] " Avi Kivity
2010-03-09 16:44           ` Cam Macdonell
2010-03-09 16:44             ` [Qemu-devel] " Cam Macdonell
2010-03-10 14:04             ` Arnd Bergmann
2010-03-10 14:04               ` [Qemu-devel] " Arnd Bergmann
2010-03-11  6:50               ` Avi Kivity
2010-03-11  6:50                 ` [Qemu-devel] " Avi Kivity
2010-03-11 12:57                 ` Arnd Bergmann
2010-03-11 12:57                   ` [Qemu-devel] " Arnd Bergmann
2010-03-11 13:07                   ` Avi Kivity
2010-03-11 13:07                     ` [Qemu-devel] " Avi Kivity
2010-03-11 14:32                     ` Arnd Bergmann
2010-03-11 14:32                       ` [Qemu-devel] " Arnd Bergmann
2010-03-08  9:53 ` [PATCH] Support adding a file to qemu's ram allocation Avi Kivity
2010-03-08  9:53   ` [Qemu-devel] " Avi Kivity

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=20100309201243.GH11042@shareable.org \
    --to=jamie@shareable.org \
    --cc=avi@redhat.com \
    --cc=cam@cs.ualberta.ca \
    --cc=kvm@vger.kernel.org \
    --cc=paul@codesourcery.com \
    --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.