On Wed, Feb 19, 2014 at 05:04:22PM -0700, Jon Mason wrote: > On Tue, Feb 18, 2014 at 11:18 PM, WANG Chao <chaowang at redhat.com> wrote: > > Hi, All > > > > arch/x86/kernel/pci-calgary.c is the only user of saved_max_pfn today: > > > > int __init detect_calgary(void) > > { > > [..] > > specified_table_size = determine_tce_table_size((is_kdump_kernel() ? > > saved_max_pfn : max_pfn) * PAGE_SIZE); > > [..] > > } > > IIUC, the purpose of this code is to reuse the TCE table from the > previous kernel. Thus, it needs to be of the same size as the > pre-kdump kernel. It is using the max_pfn to determine the TCE table > size in the non-kdump case. If there is another way to determine the > size it used before, then I am fine making the change to use that way. How about passing old tce table size on command line to second kernel. Given the fact that it is specific to calgary only, we can it very specific. Say calgary_iommu_old_tce_table_sz=<size>. But we will then need to know the size of TCE table in first kernel. Is this information exported to user space somewhere? Thanks Vivek