2013-04-10 22:04:34

by Andrew Shewmaker

[permalink] [raw]
Subject: Re: [mmotm:master 81/499] WARNING: mm/built-in.o(.text+0x1acc1): Section mismatch in reference from the function reserve_mem_notifier() to the function .meminit.text:init_user_reserve()

On Wed, Apr 10, 2013 at 12:11 AM, kbuild test robot
<[email protected]> wrote:
> tree: git://git.cmpxchg.org/linux-mmotm.git master
> head: 47ca352cea8ba679f803387d208c739131ecb38a
> commit: 992357a07ee0697a1997c2960c3f88d02b2f2753 [81/499] mm: reinititalise user and admin reserves if memory is added or removed
> config: x86_64-randconfig-a00-0410 (attached as .config)
>
> All warnings:
>
>>> WARNING: mm/built-in.o(.text+0x1acc1): Section mismatch in reference from the function reserve_mem_notifier() to the function .meminit.text:init_user_reserve()
> The function reserve_mem_notifier() references
> the function __meminit init_user_reserve().
> This is often because reserve_mem_notifier lacks a __meminit
> annotation or the annotation of init_user_reserve is wrong.
> --
>>> WARNING: mm/built-in.o(.text+0x1acd8): Section mismatch in reference from the function reserve_mem_notifier() to the function .meminit.text:init_admin_reserve()
> The function reserve_mem_notifier() references
> the function __meminit init_admin_reserve().
> This is often because reserve_mem_notifier lacks a __meminit
> annotation or the annotation of init_admin_reserve is wrong.

Andrew, am I right in thinking that functions annotated with __meminit may
be discarded? If so, then I should drop the annotation from init_user_reserve()
and init_admin_reserve() since the memory notifier uses them to reinitialize
memory, right?


2013-04-10 22:15:11

by Andrew Morton

[permalink] [raw]
Subject: Re: [mmotm:master 81/499] WARNING: mm/built-in.o(.text+0x1acc1): Section mismatch in reference from the function reserve_mem_notifier() to the function .meminit.text:init_user_reserve()

On Wed, 10 Apr 2013 16:04:11 -0600 Andrew Shewmaker <[email protected]> wrote:

> On Wed, Apr 10, 2013 at 12:11 AM, kbuild test robot
> <[email protected]> wrote:
> > tree: git://git.cmpxchg.org/linux-mmotm.git master
> > head: 47ca352cea8ba679f803387d208c739131ecb38a
> > commit: 992357a07ee0697a1997c2960c3f88d02b2f2753 [81/499] mm: reinititalise user and admin reserves if memory is added or removed
> > config: x86_64-randconfig-a00-0410 (attached as .config)
> >
> > All warnings:
> >
> >>> WARNING: mm/built-in.o(.text+0x1acc1): Section mismatch in reference from the function reserve_mem_notifier() to the function .meminit.text:init_user_reserve()
> > The function reserve_mem_notifier() references
> > the function __meminit init_user_reserve().
> > This is often because reserve_mem_notifier lacks a __meminit
> > annotation or the annotation of init_user_reserve is wrong.
> > --
> >>> WARNING: mm/built-in.o(.text+0x1acd8): Section mismatch in reference from the function reserve_mem_notifier() to the function .meminit.text:init_admin_reserve()
> > The function reserve_mem_notifier() references
> > the function __meminit init_admin_reserve().
> > This is often because reserve_mem_notifier lacks a __meminit
> > annotation or the annotation of init_admin_reserve is wrong.
>
> Andrew, am I right in thinking that functions annotated with __meminit may
> be discarded? If so, then I should drop the annotation from init_user_reserve()
> and init_admin_reserve() since the memory notifier uses them to reinitialize
> memory, right?

Yes. And init_user_reserve() and init_admin_reserve() can be made static.
I'll fix everything up.