lkml.org 
[lkml]   [2019]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/5 v3] Fix virtio-blk issue with SWIOTLB
    On Wed, Jan 23, 2019 at 01:51:29PM -0500, Michael S. Tsirkin wrote:
    > On Wed, Jan 23, 2019 at 05:30:44PM +0100, Joerg Roedel wrote:
    > > 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.
    >
    >
    > OK looks good to me.
    > I will park this in my tree for now this way it will get
    > testing in linux-next.
    > Can I get an ack from DMA maintainers on the DMA bits for
    > merging this in 5.0?

    You got mine (SWIOTBL is my area).
    >
    > > 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

    \
     
     \ /
      Last update: 2019-01-23 22:15    [W:4.678 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site