public inbox for linux-s390@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] virtio: Clean up scatterlists and use the DMA API
@ 2014-08-27 21:50 Andy Lutomirski
  2014-08-27 21:50 ` [PATCH v2 1/4] virtio_ring: Remove sg_next indirection Andy Lutomirski
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: Andy Lutomirski @ 2014-08-27 21:50 UTC (permalink / raw)
  To: Rusty Russell, Michael S. Tsirkin
  Cc: linux-s390, Konrad Rzeszutek Wilk, Benjamin Herrenschmidt,
	virtualization, Christian Borntraeger, linux390, Andy Lutomirski,
	virtio-dev

This fixes virtio on Xen guests as well as on any other platform
that uses virtio_pci on which physical addresses don't match bus
addresses.

This can be tested with:

    virtme-run --xen xen --kimg arch/x86/boot/bzImage --console

using virtme from here:

    https://git.kernel.org/cgit/utils/kernel/virtme/virtme.git

Without these patches, the guest hangs forever.  With these patches,
everything works.

This should be safe on all platforms that I'm aware of.  That
doesn't mean that there isn't anything that I missed.

Changes from v1:
 - Using the DMA API is optional now.  It would be nice to improve the
   DMA API to the point that it could be used unconditionally, but s390
   proves that we're not there yet.
 - Includes patch 4, which fixes DMA debugging warnings from virtio_net.

Andy Lutomirski (4):
  virtio_ring: Remove sg_next indirection
  virtio_ring: Support DMA APIs if requested
  virtio_pci: Use the DMA API for virtqueues
  virtio_net: Stop doing DMA from the stack

 drivers/lguest/lguest_device.c         |   3 +-
 drivers/misc/mic/card/mic_virtio.c     |   2 +-
 drivers/net/virtio_net.c               |  53 +++++---
 drivers/remoteproc/remoteproc_virtio.c |   4 +-
 drivers/s390/kvm/kvm_virtio.c          |   2 +-
 drivers/s390/kvm/virtio_ccw.c          |   4 +-
 drivers/virtio/virtio_mmio.c           |   5 +-
 drivers/virtio/virtio_pci.c            |  35 ++++--
 drivers/virtio/virtio_ring.c           | 219 ++++++++++++++++++++++++++-------
 include/linux/virtio_ring.h            |   1 +
 tools/virtio/linux/virtio.h            |   1 +
 tools/virtio/virtio_test.c             |   2 +-
 tools/virtio/vringh_test.c             |   3 +-
 13 files changed, 253 insertions(+), 81 deletions(-)

-- 
1.9.3

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-08-28 21:16 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-27 21:50 [PATCH v2 0/4] virtio: Clean up scatterlists and use the DMA API Andy Lutomirski
2014-08-27 21:50 ` [PATCH v2 1/4] virtio_ring: Remove sg_next indirection Andy Lutomirski
2014-08-27 21:50 ` [PATCH v2 2/4] virtio_ring: Support DMA APIs if requested Andy Lutomirski
2014-08-27 21:50 ` [PATCH v2 3/4] virtio_pci: Use the DMA API for virtqueues Andy Lutomirski
2014-08-27 21:50 ` [PATCH v2 4/4] virtio_net: Stop doing DMA from the stack Andy Lutomirski
2014-08-28  7:44 ` [PATCH v2 0/4] virtio: Clean up scatterlists and use the DMA API Christian Borntraeger
     [not found] ` <53FEDDF5.3030903@de.ibm.com>
2014-08-28 18:06   ` Andy Lutomirski
2014-08-28 18:29     ` Christian Borntraeger
     [not found]     ` <53FF751D.2040006@de.ibm.com>
2014-08-28 18:51       ` Andy Lutomirski
2014-08-28 19:09         ` Christian Borntraeger
2014-08-28 18:55       ` [virtio-dev] " Paolo Bonzini
     [not found]       ` <53FF7B1A.2050307@redhat.com>
2014-08-28 19:03         ` Andy Lutomirski
2014-08-28 19:18           ` Christian Borntraeger
2014-08-28 21:16             ` Andy Lutomirski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox