Re: [PATCH v7u1 26/31] x86: Don't enable swiotlb if there is notenough ram for it
From: Yinghai Lu
Date: Fri Jan 04 2013 - 15:34:46 EST
On Fri, Jan 4, 2013 at 9:50 AM, Shuah Khan <shuahkhan@xxxxxxxxx> wrote:
> This change doesn't take into account what swiolb was when
> pci_swiotlb_detect_override() is called. Instead of returning
> use_swiotlb like the original code did, it returns swiotlb which could
> be zero, if !enough_mem_for_swiotlb().
> Might work fine on Intel platforms, but not on systems where the IOMMU
> driver wants to enable swiotlb for some devices as in the case of AMD.
> AMD IOMMU driver enables swiotlb for devices that are not specified in
> IVRs and/or not in the AMD IOMMU scope, after it successfully
> initializes IOMMU. It will explicitely set switolb=1 to make sure
> reserved swiotlb memory is not released. This change will break that
in that case, we have to panic....
please check attached patch.
Also for those kind of systems, users must specify crashkernel_low=72M or
what ever for kdump.
Description: Binary data