From: Andy Lutomirski <luto@amacapital.net>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: linux-s390 <linux-s390@vger.kernel.org>,
Joerg Roedel <jroedel@suse.de>, KVM <kvm@vger.kernel.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Sebastian Ott <sebott@linux.vnet.ibm.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Linux Virtualization <virtualization@lists.linux-foundation.org>,
Christian Borntraeger <borntraeger@de.ibm.com>,
Andy Lutomirski <luto@kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>,
David Woodhouse <dwmw2@infradead.org>,
Christoph Hellwig <hch@lst.de>,
Martin Schwidefsky <schwidefsky@de.ibm.com>
Subject: Re: [PATCH v3 0/3] virtio DMA API core stuff
Date: Wed, 28 Oct 2015 15:51:58 -0700 [thread overview]
Message-ID: <CALCETrWd7mK5bW2p_dvvjDRnqE31=ueAz5SAYKwY-PD5uZp76A@mail.gmail.com> (raw)
In-Reply-To: <20151028175136-mutt-send-email-mst@redhat.com>
On Wed, Oct 28, 2015 at 9:12 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Wed, Oct 28, 2015 at 11:32:34PM +0900, David Woodhouse wrote:
>> > I don't have a problem with extending DMA API to address
>> > more usecases.
>>
>> No, this isn't an extension. This is fixing a bug, on certain platforms
>> where the DMA API has currently done the wrong thing.
>>
>> We have historically worked around that bug by introducing *another*
>> bug, which is not to *use* the DMA API in the virtio driver.
>>
>> Sure, we can co-ordinate those two bug-fixes. But let's not talk about
>> them as anything other than bug-fixes.
>
> It was pretty practical not to use it. All virtio devices at the time
> without exception bypassed the IOMMU, so it was a question of omitting a
> couple of function calls in virtio versus hacking on DMA implementation
> on multiple platforms. We have more policy options now, so I agree it's
> time to revisit this.
>
> But for me, the most important thing is that we do coordinate.
>
>> > > Drivers use DMA API. No more talky.
>> >
>> > Well for virtio they don't ATM. And 1:1 mapping makes perfect sense
>> > for the wast majority of users, so I can't switch them over
>> > until the DMA API actually addresses all existing usecases.
>>
>> That's still not your business; it's the platform's. And there are
>> hardware implementations of the virtio protocols on real PCI cards. And
>> we have the option of doing IOMMU translation for the virtio devices
>> even in a virtual machine. Just don't get involved.
>>
>> --
>> dwmw2
>>
>>
>
> I'm involved anyway, it's possible not to put all the code in the virtio
> subsystem in guest though. But I suspect we'll need to find a way for
> non-linux drivers within guest to work correctly too, and they might
> have trouble poking at things at the system level. So possibly virtio
> subsystem will have to tell platform "this device wants to bypass IOMMU"
> and then DMA API does the right thing.
>
After some discussion at KS, no one came up with an example where it's
necessary, and the patches to convert virtqueue to use the DMA API are
much nicer when they convert it unconditionally.
The two interesting cases we thought of were PPC and x86's emulated
Q35 IOMMU. PPC will look in to architecting a devicetree-based way to
indicate passthrough status and will add quirks for the existing
virtio devices. Everyone seems to agree that x86's emulated Q35 thing
is just buggy right now and should be taught to use the existing ACPI
mechanism for enumerating passthrough devices.
I'll send a new version of the series soon.
--Andy
next prev parent reply other threads:[~2015-10-28 22:51 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1446014204.git.luto@kernel.org>
2015-10-28 6:38 ` [PATCH v3 1/3] virtio_net: Stop doing DMA from the stack Andy Lutomirski
2015-10-28 6:38 ` [PATCH v3 2/3] virtio_ring: Support DMA APIs Andy Lutomirski
2015-10-28 6:39 ` [PATCH v3 3/3] virtio_pci: Use the DMA API Andy Lutomirski
2015-10-28 6:53 ` [PATCH v3 0/3] virtio DMA API core stuff David Woodhouse
2015-10-28 7:09 ` Andy Lutomirski
[not found] ` <a2b5cd8102594565dca91e9ed665ae2fff5367bb.1446014204.git.luto@kernel.org>
2015-10-28 7:08 ` [PATCH v3 1/3] virtio_net: Stop doing DMA from the stack Michael S. Tsirkin
2015-10-28 7:17 ` [PATCH v3 0/3] virtio DMA API core stuff Michael S. Tsirkin
2015-10-28 7:40 ` Christian Borntraeger
2015-10-28 8:09 ` David Woodhouse
2015-10-28 11:35 ` Michael S. Tsirkin
2015-10-28 13:35 ` David Woodhouse
2015-10-28 14:05 ` Michael S. Tsirkin
2015-10-28 14:13 ` David Woodhouse
2015-10-28 14:22 ` Michael S. Tsirkin
2015-10-28 14:32 ` David Woodhouse
2015-10-28 16:12 ` Michael S. Tsirkin
[not found] ` <20151028175136-mutt-send-email-mst@redhat.com>
2015-10-28 22:51 ` Andy Lutomirski [this message]
2015-10-29 9:01 ` Michael S. Tsirkin
2015-10-29 16:18 ` David Woodhouse
2015-11-08 10:37 ` Michael S. Tsirkin
2015-11-08 11:49 ` Joerg Roedel
2015-11-10 15:02 ` Michael S. Tsirkin
2015-11-10 18:54 ` Andy Lutomirski
2015-11-11 10:05 ` Michael S. Tsirkin
2015-11-11 15:56 ` Andy Lutomirski
[not found] ` <CALCETrWmZaQxS3-r9jsUb3BPhdLRbRrdZWok2geHnYKaWC4YKA@mail.gmail.com>
2015-11-11 22:30 ` David Woodhouse
[not found] ` <1447281027.3513.11.camel@infradead.org>
2015-11-12 11:09 ` Michael S. Tsirkin
2015-11-12 12:18 ` David Woodhouse
2015-11-22 13:06 ` Marcel Apfelbaum
2015-11-22 15:54 ` David Woodhouse
2015-11-22 17:04 ` Marcel Apfelbaum
2015-11-22 22:11 ` Michael S. Tsirkin
2015-11-08 12:00 ` David Woodhouse
2015-10-30 15:16 ` Joerg Roedel
2015-10-30 16:54 ` David Woodhouse
2015-11-03 10:24 ` Paolo Bonzini
[not found] ` <20151030151612.GB2704@suse.de>
2015-11-11 9:11 ` Michael S. Tsirkin
2015-10-28 8:36 ` Benjamin Herrenschmidt
2015-10-28 11:23 ` Michael S. Tsirkin
2015-10-28 13:37 ` David Woodhouse
2015-10-28 14:07 ` Michael S. Tsirkin
2015-11-19 13:45 ` Michael S. Tsirkin
[not found] ` <20151119153821-mutt-send-email-mst@redhat.com>
2015-11-19 21:59 ` Andy Lutomirski
2015-11-19 23:38 ` David Woodhouse
2015-11-20 2:56 ` Benjamin Herrenschmidt
2015-11-20 8:34 ` Michael S. Tsirkin
2015-11-20 8:21 ` Michael S. Tsirkin
2015-11-22 15:58 ` David Woodhouse
[not found] ` <1448207908.89124.54.camel@infradead.org>
2015-11-22 21:52 ` Michael S. Tsirkin
[not found] ` <20151122231622-mutt-send-email-mst@redhat.com>
2015-11-22 22:21 ` David Woodhouse
2015-11-23 7:56 ` Michael S. Tsirkin
2015-11-22 22:21 ` David Woodhouse
2015-11-20 6:56 ` Michael S. Tsirkin
2015-11-20 7:47 ` Michael S. Tsirkin
2015-10-28 6:38 Andy Lutomirski
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='CALCETrWd7mK5bW2p_dvvjDRnqE31=ueAz5SAYKwY-PD5uZp76A@mail.gmail.com' \
--to=luto@amacapital.net \
--cc=benh@kernel.crashing.org \
--cc=borntraeger@de.ibm.com \
--cc=dwmw2@infradead.org \
--cc=hch@lst.de \
--cc=jroedel@suse.de \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=schwidefsky@de.ibm.com \
--cc=sebott@linux.vnet.ibm.com \
--cc=virtualization@lists.linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).