Re: sata_sil24: swiotlb buffer is full ?
From: Konrad Rzeszutek Wilk <hidden>
Date: 2016-10-31 19:09:28
Also in:
lkml
On Mon, Oct 31, 2016 at 10:18:25AM -0600, Tejun Heo wrote:
Hello, On Sat, Oct 29, 2016 at 11:40:29PM -0400, Andrew Ryder wrote:quoted
I have some disks attached to a "Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller" and it repeatedly locks up the system with the message whenever there is heavy disk i/o. The system the controller is attached to is a via EPIA-M910 board. sata_sil24: 0000:06:03.0: swiotlb buffer is full: 65536 bytes) DMA: Out of SW-IOMMU space for 65536 bytes at device .." sata_sil24 0000:06:03.0: swiotlb buffer is full (sz: 65536 bytes .." For the past week I have been running with two additional boot parameters (iommu=allowdac swiotlb=131072) which seem to have solved the issue, but I was curious if this is a driver bug or not?
Usually it means that the device (sta_sil24) can only handle certain DMA addresses and hence needs the assistance of the bounce buffers (swiotlb). Increasing the number of them is the right way to make it work. I would call this hardware limitation - if you provide the lspci -n -s 06:03.0 one can look in the driver and see where it sets the DMA mask.
(cc'ing swiotbl maintainer, hi!) That looks like iotlb area running out. I don't think there's much to be done from driver side and we've traditionally been pretty bad at handling iotlb errors. Konrad, do you have any ideas? Thanks. -- tejun