Messages in this thread | | | Date | Fri, 4 Jan 2013 14:58:15 -0800 | Subject | Re: [PATCH v7u1 26/31] x86: Don't enable swiotlb if there is not enough ram for it | From | Yinghai Lu <> |
| |
On Fri, Jan 4, 2013 at 2:47 PM, Eric W. Biederman <ebiederm@xmission.com> wrote: > Yinghai Lu it looks like your autodetection of the problem case in this > patch is problematic and needs a rethink. My quick skim says you are > trying to detect failure too early in the code. Furthermore having > kexec on panic sized magic comments without explanation is wrong.
current amd iommu implementation have this sequence: 1. alloc buffer for swiotlb. 2. detect and initialize intel iommu or amd iommu 3. release swiotlb if swiotlb == 0 , set by ops_init.
so we need to detect that before allocating buffer for swiotlb.
> > Shuah Khan this is motivated by kdump. However a correct implementation > should be about dealing with the case when there is simply not enough > memory available below 4G for bounce buffers. > > If a device needs an iommu, and swiotlb is the only iommu option, and > there is not enough memory below 4G panic'ing is entirely reasonable. > > Do I read this discussion right that we are waisting 64M on systems > that have the swiotlb code but don't use the swiotlb?
No wasting.
| |