x86, kdump: Set crashkernel_low automatically
authorYinghai Lu <yinghai@kernel.org>
Tue, 16 Apr 2013 05:23:45 +0000 (22:23 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Wed, 17 Apr 2013 19:35:32 +0000 (12:35 -0700)
commitc729de8fcea37a1c444e81857eace12494c804a9
tree9400f7626dcbb7038b524ac2ea73315e6a0b6e55
parent41ef2d5678d83af030125550329b6ae8b74618fa
x86, kdump: Set crashkernel_low automatically

Chao said that kdump does does work well on his system on 3.8
without extra parameter, even iommu does not work with kdump.
And now have to append crashkernel_low=Y in first kernel to make
kdump work.

We have now modified crashkernel=X to allocate memory beyong 4G (if
available) and do not allocate low range for crashkernel if the user
does not specify that with crashkernel_low=Y.  This causes regression
if iommu is not enabled.  Without iommu, swiotlb needs to be setup in
first 4G and there is no low memory available to second kernel.

Set crashkernel_low automatically if the user does not specify that.

For system that does support IOMMU with kdump properly, user could
specify crashkernel_low=0 to save that 72M low ram.

-v3: add swiotlb_size() according to Konrad.
-v4: add comments what 8M is for according to hpa.
     also update more crashkernel_low= in kernel-parameters.txt
-v5: update changelog according to Vivek.
-v6: Change description about swiotlb referring according to HATAYAMA.

Reported-by: WANG Chao <chaowang@redhat.com>
Tested-by: WANG Chao <chaowang@redhat.com>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/1366089828-19692-2-git-send-email-yinghai@kernel.org
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Documentation/kernel-parameters.txt
arch/x86/kernel/setup.c
include/linux/swiotlb.h
lib/swiotlb.c