[-mm patch] kernel/kexec.c: make code static

Ken'ichi Ohmichi oomichi at mxs.nes.nec.co.jp
Wed Sep 12 03:37:14 EDT 2007


Hi Adrian, Maneesh,

Maneesh Soni wrote:
 > On Mon, Sep 10, 2007 at 02:20:40PM +0200, Adrian Bunk wrote:
 >> On Mon, Sep 10, 2007 at 11:55:49AM +0900, Ken'ichi Ohmichi wrote:
 >>> Hi Adrian,
 >>>
 >>>
 >>> 2007/09/09 22:25:16 +0200, Adrian Bunk <bunk at kernel.org> wrote:
 >>>> On Fri, Aug 31, 2007 at 09:58:22PM -0700, Andrew Morton wrote:
 >>>>> ...
 >>>>> Changes since 2.6.23-rc3-mm1:
 >>>>> ...
 >>>>> +add-vmcoreinfo.patch
 >>>>> ...
 >>>>>  misc
 >>>>> ...
 >>>> This patch makes the following needlessly global code static:
 >>>> - vmcoreinfo_data[]
 >>>> - vmcoreinfo_size
 >>>> - vmcoreinfo_append_str()
 >>> The kernel compiling fails with your patch because architecture-specific
 >>> function should access the above data/function:
 >>>
 >>> # make
 >>> [snip]
 >>> arch/ia64/kernel/machine_kexec.c: In function 'arch_crash_save_vmcoreinfo':
 >>> arch/ia64/kernel/machine_kexec.c:134: error: implicit declaration of function 'SYMBOL'
 >>> arch/ia64/kernel/machine_kexec.c:135: error: implicit declaration of function 'LENGTH'
 >>> arch/ia64/kernel/machine_kexec.c:139: error: implicit declaration of function 'SIZE'
 >>> arch/ia64/kernel/machine_kexec.c:139: error: 'node_memblk_s' undeclared (first use in this function)
 >>> arch/ia64/kernel/machine_kexec.c:139: error: (Each undeclared identifier is reported only once
 >>> arch/ia64/kernel/machine_kexec.c:139: error: for each function it appears in.)
 >>> arch/ia64/kernel/machine_kexec.c:140: error: implicit declaration of function 'OFFSET'
 >>> arch/ia64/kernel/machine_kexec.c:140: error: 'start_paddr' undeclared (first use in this function)
 >>> arch/ia64/kernel/machine_kexec.c:141: error: 'size' undeclared (first use in this function)
 >>> arch/ia64/kernel/machine_kexec.c:144: error: implicit declaration of function 'CONFIG'
 >>> arch/ia64/kernel/machine_kexec.c:144: error: 'PGTABLE_3' undeclared (first use in this function)
 >>> make[1]: *** [arch/ia64/kernel/machine_kexec.o] Error 1
 >>> make: *** [arch/ia64/kernel] Error 2
 >>> #
 >> Thanks, I missed this.
 >>
 >> That's 80% my fault and 20% the fault of the usage of generic names SYMBOL/SIZE/OFFSET/LENGTH/CONFIG making it impossible to grep for them (and namespace conflicts quite possible).

I understand your motivation. It is better to change these names as you said.


 >> Can we get these #define's properly prefixed (e.g. KEXEC_SYMBOL etc.) so that other people will not repeat my mistake and namespace conflicts will be prevented?
 >>
 >
 > CRASH_DUMP_ or VMCORE_ should be a better prefix as the dump filtering
 > functionality not directly related to kexec.

I think that VMCOREINFO_ is a better prefix, because these macros are for
writing the information to the vmcoreinfo data.


Thanks
Ken'ichi Ohmichi



More information about the kexec mailing list