linux-s390.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Andy Lutomirski <luto@amacapital.net>,
	"Michael S. Tsirkin" <mst@redhat.com>
Cc: "linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Linux Virtualization <virtualization@lists.linux-foundation.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"linux390@de.ibm.com" <linux390@de.ibm.com>
Subject: Re: [PATCH v5 2/3] virtio_pci: Use the DMA API for virtqueues when possible
Date: Mon, 06 Oct 2014 11:59:24 +0200	[thread overview]
Message-ID: <543267FC.4030900@de.ibm.com> (raw)
In-Reply-To: <CALCETrW1mD5EuPbJDhnQPDSJwy9L=dh6rSSTj_wEOmFJNHBeUQ@mail.gmail.com>

Am 29.09.2014 20:55, schrieb Andy Lutomirski:
> On Wed, Sep 17, 2014 at 7:16 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
>> On Wed, Sep 17, 2014 at 08:02:31AM -0400, Benjamin Herrenschmidt wrote:
>>> On Tue, 2014-09-16 at 22:22 -0700, Andy Lutomirski wrote:
>>>> On non-PPC systems, virtio_pci should use the DMA API.  This fixes
>>>> virtio_pci on Xen.  On PPC, using the DMA API would break things, so
>>>> we need to preserve the old behavior.
>>>>
>>>> The big comment in this patch explains the considerations in more
>>>> detail.
>>>
>>> I still disagree with using CONFIG_PPC as a trigger here.
>>>
>>> Fundamentally, the qemu implementation today bypasses IOMMUs on all
>>> platforms as far as I can tell.
>>>
>>> If that changes, we'll have a backward compatibility problem.
>>>
>>> The virtio device should advertise whether it's using that bypass
>>> mode of operation and virtio_pci should react accordingly.
>>
>> Well if there's a way to detect that - that's outside the
>> device, then we probably shouldn't use device-specific
>> interfaces for this capability.
>>
>>
>>> There is a demand for being able to operate on top of an IOMMU on
>>> powerpc as well for some embedded stuff using PCI as a transport so your
>>> patch precludes that.
>>>
>>> Cheers,
>>> Ben.
>>
>> As far as I can see, nothing changes on PPC so this patch
>> does not preclude anything that was working?
> 
> Rusty and Michael, what's the status of this?
> 
> I think that (aside from the trivial DMI/DMA typo) the only real issue
> here is that the situation on PPC is ugly.  We're failing to enable
> physical virtio hardware on PPC with these patches, but that never
> worked anyway.  I don't think that there are any regressions other
> than ugliness.
> 
> My preference would be to apply the patches as is (or with "DMA"
> spelled correctly), and then to:
> 
>  - Make sure that all virtio-mmio systems have working DMA ops so that
> virtio-mmio can the DMA API
> 
>  - Fix the DMA API on s390 (probably easy) and on PPC (not necessarily so easy)

Just as a comment: On s390 we always considered the memory access as access to real memory (not device memory) for virtio accesses. I prefer to not touch the DMA API on s390 as it is quite s390-PCI specific but it is somewhat strange for CCW devices.

We would basically have two kinds of DMA mappings on s390 then, one iommu like for the PCI devices and one that maps DMA memory 1:1 to real memory. We would also need some buy-in from the s390 arch maintainers then.


> 
>  - Remove the non-DMA-API code, which would be a very small change on
> top of these patches.
> 
> --Andy
> --
> To unsubscribe from this list: send the line "unsubscribe linux-s390" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

  parent reply	other threads:[~2014-10-06  9:59 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-17  5:22 [PATCH v5 0/3] virtio: Use the DMA API when appropriate Andy Lutomirski
2014-09-17  5:22 ` [PATCH v5 1/3] virtio_ring: Support DMA APIs if requested Andy Lutomirski
2014-09-17  5:22 ` [PATCH v5 2/3] virtio_pci: Use the DMA API for virtqueues when possible Andy Lutomirski
2014-09-17 12:02   ` Benjamin Herrenschmidt
2014-09-17 14:16     ` Michael S. Tsirkin
2014-09-17 16:07       ` Andy Lutomirski
2014-09-17 16:49         ` David Woodhouse
2014-09-19 21:28           ` Benjamin Herrenschmidt
2014-09-19 21:33         ` Benjamin Herrenschmidt
2014-09-20  5:59           ` Andy Lutomirski
2014-09-21  5:03             ` Benjamin Herrenschmidt
2014-09-21  5:05               ` Benjamin Herrenschmidt
2014-09-21  5:48                 ` Andy Lutomirski
2014-09-21  6:01                   ` David Woodhouse
2014-09-24 21:41                 ` Andy Lutomirski
2014-09-24 21:50                   ` Benjamin Herrenschmidt
2014-09-24 21:59                     ` Andy Lutomirski
2014-09-24 22:04                       ` Benjamin Herrenschmidt
2014-09-24 22:15                         ` Andy Lutomirski
2014-09-24 22:38                           ` Benjamin Herrenschmidt
2014-09-24 22:49                             ` Andy Lutomirski
2014-09-19 21:31       ` Benjamin Herrenschmidt
2014-09-29 18:55       ` Andy Lutomirski
2014-09-29 20:49         ` Benjamin Herrenschmidt
2014-09-29 20:55           ` Andy Lutomirski
2014-09-29 21:06             ` Benjamin Herrenschmidt
2014-09-30 15:38             ` Michael S. Tsirkin
2014-09-30 15:48               ` Andy Lutomirski
2014-09-30 16:19                 ` Andy Lutomirski
2014-09-30 17:53                 ` Konrad Rzeszutek Wilk
2014-09-30 18:01                   ` Andy Lutomirski
2014-10-02 16:36                     ` Konrad Rzeszutek Wilk
2014-10-01  6:42                 ` Michael S. Tsirkin
2014-09-30 15:53               ` Paolo Bonzini
2014-10-01  7:36                 ` Michael S. Tsirkin
2014-09-30 20:05               ` Andy Lutomirski
2014-10-06  9:59         ` Christian Borntraeger [this message]
2014-10-06 10:48           ` Benjamin Herrenschmidt
2014-09-17 16:09   ` Ira W. Snyder
2014-09-17 16:15     ` Andy Lutomirski
2014-09-17  5:22 ` [PATCH v5 3/3] virtio_net: Stop doing DMA from the stack Andy Lutomirski
2014-09-19 18:25 ` [PATCH v5 0/3] virtio: Use the DMA API when appropriate Konrad Rzeszutek Wilk

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=543267FC.4030900@de.ibm.com \
    --to=borntraeger@de.ibm.com \
    --cc=benh@kernel.crashing.org \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux390@de.ibm.com \
    --cc=luto@amacapital.net \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.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).