Thread (4 messages) 4 messages, 3 authors, 2016-10-31

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help