[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190123163049.24863-1-joro@8bytes.org>
Date: Wed, 23 Jan 2019 17:30:44 +0100
From: Joerg Roedel <joro@...tes.org>
To: "Michael S . Tsirkin" <mst@...hat.com>,
Jason Wang <jasowang@...hat.com>,
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
Christoph Hellwig <hch@....de>
Cc: Jens Axboe <axboe@...nel.dk>,
virtualization@...ts.linux-foundation.org,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
iommu@...ts.linux-foundation.org, jfehlig@...e.com,
jon.grimm@....com, brijesh.singh@....com, joro@...tes.org,
jroedel@...e.de
Subject: [PATCH 0/5 v3] Fix virtio-blk issue with SWIOTLB
Hi,
here is the third version of this patch-set. Previous
versions can be found here:
V1: https://lore.kernel.org/lkml/20190110134433.15672-1-joro@8bytes.org/
V2: https://lore.kernel.org/lkml/20190115132257.6426-1-joro@8bytes.org/
The problem solved here is a limitation of the SWIOTLB implementation,
which does not support allocations larger than 256kb. When the
virtio-blk driver tries to read/write a block larger than that, the
allocation of the dma-handle fails and an IO error is reported.
Changes to v2 are:
* Check if SWIOTLB is active before returning its limit in
dma_direct_max_mapping_size()
* Only apply the maximum segment limit in virtio-blk when
DMA-API is used for the vring
Please review.
Thanks,
Joerg
Joerg Roedel (5):
swiotlb: Introduce swiotlb_max_mapping_size()
swiotlb: Add is_swiotlb_active() function
dma: Introduce dma_max_mapping_size()
virtio: Introduce virtio_max_dma_size()
virtio-blk: Consider virtio_max_dma_size() for maximum segment size
drivers/block/virtio_blk.c | 10 ++++++----
drivers/virtio/virtio_ring.c | 10 ++++++++++
include/linux/dma-mapping.h | 16 ++++++++++++++++
include/linux/swiotlb.h | 11 +++++++++++
include/linux/virtio.h | 2 ++
kernel/dma/direct.c | 11 +++++++++++
kernel/dma/swiotlb.c | 10 ++++++++++
7 files changed, 66 insertions(+), 4 deletions(-)
--
2.17.1
Powered by blists - more mailing lists