linux/arch
Simon Horman 6672f76a5a kdump/kexec: calculate note size at compile time
Currently the size of the per-cpu region reserved to save crash notes is
set by the per-architecture value MAX_NOTE_BYTES.  Which in turn is
currently set to 1024 on all supported architectures.

While testing ia64 I recently discovered that this value is in fact too
small.  The particular setup I was using actually needs 1172 bytes.  This
lead to very tedious failure mode where the tail of one elf note would
overwrite the head of another if they ended up being alocated sequentially
by kmalloc, which was often the case.

It seems to me that a far better approach is to caclculate the size that
the area needs to be.  This patch does just that.

If a simpler stop-gap patch for ia64 to be squeezed into 2.6.21(.X) is
needed then this should be as easy as making MAX_NOTE_BYTES larger in
arch/asm-ia64/kexec.h.  Perhaps 2048 would be a good choice.  However, I
think that the approach in this patch is a much more robust idea.

Acked-by:  Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:07 -07:00
..
alpha header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
arm header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
arm26 header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
avr32 header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
blackfin blackfin architecture 2007-05-07 12:12:58 -07:00
cris header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
frv header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
h8300 header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
i386 header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ia64 kdump/kexec: calculate note size at compile time 2007-05-08 11:15:07 -07:00
m32r header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
m68k header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
m68knommu header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
mips header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
parisc header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
powerpc header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ppc header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
s390 header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sh header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sh64 header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sparc header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
sparc64 header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
um uml: an idle system should have zero load average 2007-05-08 11:14:57 -07:00
v850 header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
x86_64 header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
xtensa header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00