Messages in this thread Patch in this message |  | | | Date | Tue, 18 Nov 2008 22:19:42 -0800 | | From | Andrew Morton <> | | Subject | Re: [PATCH] kernel/profile.c: Fix section mismatch warning. |
| |
On Tue, 18 Nov 2008 10:15:24 +0600 "Rakib Mullick" <rakib.mullick@gmail.com> wrote:
> Impact: Fix section mismatch warning in kernel/profile.c > > Here, profile_nop function has been called from a non-init function > create_hash_tables(void). Which generetes a section mismatch warning. > Previously, create_hash_tables(void) was a init function. So, removing > __init from create_hash_tables(void) requires profile_nop to be > non-init. This patch makes profile_nop function inline and fixes the > following warning: > > WARNING: vmlinux.o(.text+0x6ebb6): Section mismatch in reference from > the function create_hash_tables() to the function > .init.text:profile_nop() > The function create_hash_tables() references > the function __init profile_nop(). > This is often because create_hash_tables lacks a __init > annotation or the annotation of profile_nop is wrong. > > > Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com> > > --- linux-2.6-orig/kernel/profile.c 2008-11-17 20:30:42.000000000 +0600 > +++ linux-2.6/kernel/profile.c 2008-11-18 09:39:58.000000000 +0600 > @@ -544,7 +544,7 @@ static const struct file_operations proc > }; > > #ifdef CONFIG_SMP > -static void __init profile_nop(void *unused) > +static inline void profile_nop(void *unused) > { > }
Thanks.
There's no point in declaring this as inline, since it is always called indirectly, via on_each_cpu().
There would be a teeny point in inlining an on_each_cpu() function in uniprocessor code, because in that case it _would_ be inlined. But a) that's a bit dopey and b) this code you're patching is SMP-only.
So...
--- a/kernel/profile.c~kernel-profilec-fix-section-mismatch-warning-fix +++ a/kernel/profile.c @@ -544,7 +544,7 @@ static const struct file_operations proc }; #ifdef CONFIG_SMP -static inline void profile_nop(void *unused) +static void profile_nop(void *unused) { } _
|  |