All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Andy Lutomirski <luto@amacapital.net>
Cc: David Woodhouse <dwmw2@infradead.org>,
	"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	peterx@redhat.com, Cornelia Huck <cornelia.huck@de.ibm.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>, Amit Shah <amit.shah@redhat.com>,
	qemu-block@nongnu.org, Jason Wang <jasowang@redhat.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Andy Lutomirski <luto@kernel.org>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Wei Liu <wei.liu2@citrix.com>,
	Linux Virtualization <virtualization@lists.linux-foundation.org>,
	kvm list <kvm@vger.kernel.org>
Subject: Re: [PATCH RFC] fixup! virtio: convert to use DMA api
Date: Tue, 19 Apr 2016 19:09:03 +0300	[thread overview]
Message-ID: <20160419190520-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <CALCETrX72XV25B-0GdaMyJNkJRvvC8MbT4G=L5oGR=D5stpG6w@mail.gmail.com>

On Tue, Apr 19, 2016 at 09:02:14AM -0700, Andy Lutomirski wrote:
> On Tue, Apr 19, 2016 at 3:27 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
> > On Mon, Apr 18, 2016 at 12:24:15PM -0700, Andy Lutomirski wrote:
> >> On Mon, Apr 18, 2016 at 11:29 AM, David Woodhouse <dwmw2@infradead.org> wrote:
> >> > For x86, you *can* enable virtio-behind-IOMMU if your DMAR tables tell
> >> > the truth, and even legacy kernels ought to cope with that.
> >> > FSVO 'ought to' where I suspect some of them will actually crash with a
> >> > NULL pointer dereference if there's no "catch-all" DMAR unit in the
> >> > tables, which puts it back into the same camp as ARM and Power.
> >>
> >> I think x86 may get a bit of a free pass here.  AFAIK the QEMU IOMMU
> >> implementation on x86 has always been "experimental", so it just might
> >> be okay to change it in a way that causes some older kernels to OOPS.
> >>
> >> --Andy
> >
> > Since it's experimental, it might be OK to change *guest kernels*
> > such that they oops on old QEMU.
> > But guest kernels were not experimental - so we need a QEMU mode that
> > makes them work fine. The more functionality is available in this QEMU
> > mode, the betterm because it's going to be the default for a while. For
> > the same reason, it is preferable to also have new kernels not crash in
> > this mode.
> >
> 
> People add QEMU features that need new guest kernels all time time.
> If you enable virtio-scsi and try to boot a guest that's too old, it
> won't work.  So I don't see anything fundamentally wrong with saying
> that the non-experimental QEMU Q35 IOMMU mode won't boot if the guest
> kernel is too old.  It might be annoying, since old kernels do work on
> actual Q35 hardware, but it at least seems to be that it might be
> okay.
> 
> --Andy

Yes but we need a mode that makes both old and new kernels work, and
that should be the default for a while.  this is what the
IOMMU_PASSTHROUGH flag was about: old kernels ignore it and bypass DMA
API, new kernels go "oh compatibility mode" and bypass the IOMMU
within DMA API.

-- 
MST

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Kevin Wolf <kwolf@redhat.com>, Wei Liu <wei.liu2@citrix.com>,
	Andy Lutomirski <luto@kernel.org>,
	qemu-block@nongnu.org,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Jason Wang <jasowang@redhat.com>,
	"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
	peterx@redhat.com,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Amit Shah <amit.shah@redhat.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	kvm list <kvm@vger.kernel.org>,
	Cornelia Huck <cornelia.huck@de.ibm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Linux Virtualization <virtualization@lists.linux-foundation.org>,
	David Woodhouse <dwmw2@infradead.org>
Subject: Re: [PATCH RFC] fixup! virtio: convert to use DMA api
Date: Tue, 19 Apr 2016 19:09:03 +0300	[thread overview]
Message-ID: <20160419190520-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <CALCETrX72XV25B-0GdaMyJNkJRvvC8MbT4G=L5oGR=D5stpG6w@mail.gmail.com>

On Tue, Apr 19, 2016 at 09:02:14AM -0700, Andy Lutomirski wrote:
> On Tue, Apr 19, 2016 at 3:27 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
> > On Mon, Apr 18, 2016 at 12:24:15PM -0700, Andy Lutomirski wrote:
> >> On Mon, Apr 18, 2016 at 11:29 AM, David Woodhouse <dwmw2@infradead.org> wrote:
> >> > For x86, you *can* enable virtio-behind-IOMMU if your DMAR tables tell
> >> > the truth, and even legacy kernels ought to cope with that.
> >> > FSVO 'ought to' where I suspect some of them will actually crash with a
> >> > NULL pointer dereference if there's no "catch-all" DMAR unit in the
> >> > tables, which puts it back into the same camp as ARM and Power.
> >>
> >> I think x86 may get a bit of a free pass here.  AFAIK the QEMU IOMMU
> >> implementation on x86 has always been "experimental", so it just might
> >> be okay to change it in a way that causes some older kernels to OOPS.
> >>
> >> --Andy
> >
> > Since it's experimental, it might be OK to change *guest kernels*
> > such that they oops on old QEMU.
> > But guest kernels were not experimental - so we need a QEMU mode that
> > makes them work fine. The more functionality is available in this QEMU
> > mode, the betterm because it's going to be the default for a while. For
> > the same reason, it is preferable to also have new kernels not crash in
> > this mode.
> >
> 
> People add QEMU features that need new guest kernels all time time.
> If you enable virtio-scsi and try to boot a guest that's too old, it
> won't work.  So I don't see anything fundamentally wrong with saying
> that the non-experimental QEMU Q35 IOMMU mode won't boot if the guest
> kernel is too old.  It might be annoying, since old kernels do work on
> actual Q35 hardware, but it at least seems to be that it might be
> okay.
> 
> --Andy

Yes but we need a mode that makes both old and new kernels work, and
that should be the default for a while.  this is what the
IOMMU_PASSTHROUGH flag was about: old kernels ignore it and bypass DMA
API, new kernels go "oh compatibility mode" and bypass the IOMMU
within DMA API.

-- 
MST

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Andy Lutomirski <luto@amacapital.net>
Cc: David Woodhouse <dwmw2@infradead.org>,
	"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	peterx@redhat.com, Cornelia Huck <cornelia.huck@de.ibm.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>, Amit Shah <amit.shah@redhat.com>,
	qemu-block@nongnu.org, Jason Wang <jasowang@redhat.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Andy Lutomirski <luto@kernel.org>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Wei Liu <wei.liu2@citrix.com>,
	Linux Virtualization <virtualization@lists.linux-foundation.org>,
	kvm list <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] [PATCH RFC] fixup! virtio: convert to use DMA api
Date: Tue, 19 Apr 2016 19:09:03 +0300	[thread overview]
Message-ID: <20160419190520-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <CALCETrX72XV25B-0GdaMyJNkJRvvC8MbT4G=L5oGR=D5stpG6w@mail.gmail.com>

On Tue, Apr 19, 2016 at 09:02:14AM -0700, Andy Lutomirski wrote:
> On Tue, Apr 19, 2016 at 3:27 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
> > On Mon, Apr 18, 2016 at 12:24:15PM -0700, Andy Lutomirski wrote:
> >> On Mon, Apr 18, 2016 at 11:29 AM, David Woodhouse <dwmw2@infradead.org> wrote:
> >> > For x86, you *can* enable virtio-behind-IOMMU if your DMAR tables tell
> >> > the truth, and even legacy kernels ought to cope with that.
> >> > FSVO 'ought to' where I suspect some of them will actually crash with a
> >> > NULL pointer dereference if there's no "catch-all" DMAR unit in the
> >> > tables, which puts it back into the same camp as ARM and Power.
> >>
> >> I think x86 may get a bit of a free pass here.  AFAIK the QEMU IOMMU
> >> implementation on x86 has always been "experimental", so it just might
> >> be okay to change it in a way that causes some older kernels to OOPS.
> >>
> >> --Andy
> >
> > Since it's experimental, it might be OK to change *guest kernels*
> > such that they oops on old QEMU.
> > But guest kernels were not experimental - so we need a QEMU mode that
> > makes them work fine. The more functionality is available in this QEMU
> > mode, the betterm because it's going to be the default for a while. For
> > the same reason, it is preferable to also have new kernels not crash in
> > this mode.
> >
> 
> People add QEMU features that need new guest kernels all time time.
> If you enable virtio-scsi and try to boot a guest that's too old, it
> won't work.  So I don't see anything fundamentally wrong with saying
> that the non-experimental QEMU Q35 IOMMU mode won't boot if the guest
> kernel is too old.  It might be annoying, since old kernels do work on
> actual Q35 hardware, but it at least seems to be that it might be
> okay.
> 
> --Andy

Yes but we need a mode that makes both old and new kernels work, and
that should be the default for a while.  this is what the
IOMMU_PASSTHROUGH flag was about: old kernels ignore it and bypass DMA
API, new kernels go "oh compatibility mode" and bypass the IOMMU
within DMA API.

-- 
MST

  reply	other threads:[~2016-04-19 16:09 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-18 11:47 [PATCH RFC] fixup! virtio: convert to use DMA api Michael S. Tsirkin
2016-04-18 11:47 ` [Qemu-devel] " Michael S. Tsirkin
2016-04-18 11:58 ` David Woodhouse
2016-04-18 11:58   ` [Qemu-devel] " David Woodhouse
2016-04-18 13:12   ` Michael S. Tsirkin
2016-04-18 13:12   ` Michael S. Tsirkin
2016-04-18 13:12     ` [Qemu-devel] " Michael S. Tsirkin
2016-04-18 14:03     ` David Woodhouse
2016-04-18 14:03     ` David Woodhouse
2016-04-18 14:03       ` [Qemu-devel] " David Woodhouse
2016-04-18 14:23       ` Michael S. Tsirkin
2016-04-18 14:23         ` [Qemu-devel] " Michael S. Tsirkin
2016-04-18 14:23         ` Michael S. Tsirkin
2016-04-18 15:22         ` David Woodhouse
2016-04-18 15:22           ` [Qemu-devel] " David Woodhouse
2016-04-18 15:22           ` David Woodhouse
2016-04-18 15:30           ` Michael S. Tsirkin
2016-04-18 15:30             ` [Qemu-devel] " Michael S. Tsirkin
2016-04-18 15:30             ` Michael S. Tsirkin
2016-04-18 15:51             ` David Woodhouse
2016-04-18 15:51               ` [Qemu-devel] " David Woodhouse
2016-04-18 15:51               ` David Woodhouse
2016-04-18 16:27               ` Michael S. Tsirkin
2016-04-18 16:27                 ` [Qemu-devel] " Michael S. Tsirkin
2016-04-18 16:27                 ` Michael S. Tsirkin
2016-04-18 18:29                 ` David Woodhouse
2016-04-18 18:29                   ` [Qemu-devel] " David Woodhouse
2016-04-18 18:29                   ` David Woodhouse
2016-04-18 19:24                   ` Andy Lutomirski
2016-04-18 19:24                     ` [Qemu-devel] " Andy Lutomirski
2016-04-18 19:24                     ` Andy Lutomirski
2016-04-19 10:27                     ` Michael S. Tsirkin
2016-04-19 10:27                       ` [Qemu-devel] " Michael S. Tsirkin
2016-04-19 10:27                       ` Michael S. Tsirkin
2016-04-19 16:02                       ` Andy Lutomirski
2016-04-19 16:02                         ` [Qemu-devel] " Andy Lutomirski
2016-04-19 16:02                         ` Andy Lutomirski
2016-04-19 16:09                         ` Michael S. Tsirkin [this message]
2016-04-19 16:09                           ` [Qemu-devel] " Michael S. Tsirkin
2016-04-19 16:09                           ` Michael S. Tsirkin
2016-04-19 16:12                           ` Andy Lutomirski
2016-04-19 16:12                             ` [Qemu-devel] " Andy Lutomirski
2016-04-19 16:12                             ` Andy Lutomirski
2016-04-19 16:20                             ` Michael S. Tsirkin
2016-04-19 16:20                               ` [Qemu-devel] " Michael S. Tsirkin
2016-04-19 16:20                               ` Michael S. Tsirkin
2016-04-19 16:26                               ` David Woodhouse
2016-04-19 16:26                                 ` [Qemu-devel] " David Woodhouse
2016-04-19 16:26                                 ` David Woodhouse
2016-04-19 17:49                                 ` Michael S. Tsirkin
2016-04-19 17:49                                   ` [Qemu-devel] " Michael S. Tsirkin
2016-04-19 17:49                                   ` Michael S. Tsirkin
2016-04-19 18:01                                   ` Andy Lutomirski
2016-04-19 18:01                                   ` Andy Lutomirski
2016-04-19 18:01                                     ` [Qemu-devel] " Andy Lutomirski
2016-04-19 18:01                                     ` Andy Lutomirski
2016-04-19 20:16                                     ` Michael S. Tsirkin
2016-04-19 20:16                                       ` [Qemu-devel] " Michael S. Tsirkin
2016-04-19 20:16                                       ` Michael S. Tsirkin
2016-04-19 20:27                                       ` Andy Lutomirski
2016-04-19 20:27                                       ` Andy Lutomirski
2016-04-19 20:27                                         ` [Qemu-devel] " Andy Lutomirski
2016-04-19 20:27                                         ` Andy Lutomirski
2016-04-19 20:54                                         ` Michael S. Tsirkin
2016-04-19 20:54                                           ` [Qemu-devel] " Michael S. Tsirkin
2016-04-19 20:54                                           ` Michael S. Tsirkin
2016-04-19 21:07                                           ` Andy Lutomirski
2016-04-19 21:07                                           ` Andy Lutomirski
2016-04-19 21:07                                             ` [Qemu-devel] " Andy Lutomirski
2016-04-19 21:07                                             ` Andy Lutomirski
2016-04-20 13:14                                             ` Michael S. Tsirkin
2016-04-20 13:14                                               ` [Qemu-devel] " Michael S. Tsirkin
2016-04-20 13:14                                               ` Michael S. Tsirkin
2016-04-20 15:43                                               ` Andy Lutomirski
2016-04-20 15:43                                               ` Andy Lutomirski
2016-04-20 15:43                                                 ` [Qemu-devel] " Andy Lutomirski
2016-04-20 15:43                                                 ` Andy Lutomirski
2016-04-19 20:54                                         ` Michael S. Tsirkin
2016-04-19 20:16                                     ` Michael S. Tsirkin
2016-04-19 17:49                                 ` Michael S. Tsirkin
2016-04-19 16:09                         ` Michael S. Tsirkin
2016-04-19 16:02                       ` Andy Lutomirski
2016-04-19  9:13                   ` Michael S. Tsirkin
2016-04-19  9:13                     ` [Qemu-devel] " Michael S. Tsirkin
2016-04-19  9:13                     ` Michael S. Tsirkin
2016-04-19 14:44                     ` Alex Williamson
2016-04-19 14:44                       ` [Qemu-devel] " Alex Williamson
2016-04-19 14:44                       ` Alex Williamson
2016-04-19 16:00                     ` Andy Lutomirski
2016-04-19 16:00                       ` [Qemu-devel] " Andy Lutomirski
2016-04-19 16:00                       ` Andy Lutomirski
2016-04-19 16:04                       ` Michael S. Tsirkin
2016-04-19 16:04                       ` Michael S. Tsirkin
2016-04-19 16:04                         ` [Qemu-devel] " Michael S. Tsirkin
2016-04-19 16:00                     ` Andy Lutomirski
2016-04-18 11:58 ` David Woodhouse
2016-04-18 11:47 Michael S. Tsirkin

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=20160419190520-mutt-send-email-mst@redhat.com \
    --to=mst@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=amit.shah@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cornelia.huck@de.ibm.com \
    --cc=dwmw2@infradead.org \
    --cc=jasowang@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwolf@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=luto@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=wei.liu2@citrix.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.