lkml.org 
[lkml]   [2013]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v7u1 26/31] x86: Don't enable swiotlb if there is not enough ram for it
From
On Wed, Jan 9, 2013 at 10:27 AM, Yinghai Lu <yinghai@kernel.org> wrote:
> On Wed, Jan 9, 2013 at 5:24 AM, Konrad Rzeszutek Wilk
> <konrad.wilk@oracle.com> wrote:
>> On Tue, Jan 08, 2013 at 05:12:02PM -0800, Yinghai Lu wrote:
>>> On Tue, Jan 8, 2013 at 5:07 PM, Yinghai Lu <yinghai@kernel.org> wrote:
>>> > On Tue, Jan 8, 2013 at 4:58 PM, Eric W. Biederman <ebiederm@xmission.com> wrote:
>>> >
>>> >>
>>> >> So instead we need to say?
>>> >>
>>> >> + if (no_iotlb_memory)
>>> >> + panic("Cannot allocate SWIOTLB buffer");
>>> >> +
>>> >>
>>> >> Which is just making the panic a little later than it used to be and
>>> >> seems completely reasonable.
>>> >
>>> > yes, looks some driver just use map_single without checking results.
>>>
>>> update one.
>>
>> Please make it inline.
>>
>
> please check updated attached. It should address all your request.
>
> Thanks
>
> Yinghai

Yinghai,

After several revisions, I am loosing track. Could you please write a
change log and explain the change to the existing behavior. If you
could addresses the following areas, it will be easier figure if we
are missing something (if any):

1. What happens when switolb is forced with iommu=soft on a system
with and without not enough low mem?
2. What happens when swiotlb is not forced, but iommu driver sets
swiotlb=1 after it gets done with its iommu initialization on a system
with and without enough low mem.
3. What happens when nopanic is used and when will the system fail?
Will it fail when driver runs into errors. I am hoping this won't be a
silent failure. Please see more on this below:

I did dma mapping error analysis a few months ago and found several
drivers that don't check dma mapping errors, don't unmap dma buffers
etc. Returning mapping error from switolb could cause problems when we
have drivers that don't check mapping errors. These drivers might not
fail cleanly either and could cause data corruption.

Here is a link to the dma mapping error analysis I did:

http://linuxdriverproject.org/mediawiki/index.php/DMA_Mapping_Error_Analysis

-- Shuah


\
 
 \ /
  Last update: 2013-01-09 19:41    [W:0.159 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site