Hi Christoph, On Thu, Jan 10, 2019 at 02:59:52PM +0100, Christoph Hellwig wrote: > On Thu, Jan 10, 2019 at 02:44:30PM +0100, Joerg Roedel wrote: > > The problem 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. > > s/allocations/mappings/, right? We don't use the swiotlb > buffer for the coherent allocations anymore, and I don't think > virtio-blk uses them anyway. 'Allocation' in the sense that there are address ranges allocated, not memory, but mappings would also be right. > I really don't like the fact that we hardcode swiotlb specific. > This needs to be indirect through the dma ops or struct device, > as various iommu implementations also have limits (although > usually much larger ones). I though about exposing it through DMA-API, but didn't go that route as I didn't want to extend a generic API for some SWIOTLB specifics. But if there are more implementations that have a size limitation it makes certainly sense to put it into the DMA-API. I'll change that in the next version. Thanks, Joerg _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization