All of lore.kernel.org
 help / color / mirror / Atom feed
From: Li Zefan <lizf@cn.fujitsu.com>
To: Rakib Mullick <rakib.mullick@gmail.com>
Cc: Linux-kernel Mailing List <linux-kernel@vger.kernel.org>,
	mingo@elte.hu, Andrew Morton <akpm@linux-foundation.org>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Balbir Singh <balbir@linux.vnet.ibm.com>
Subject: Re: [PATCH] mm: Fix section mismatch in memcontrol.c
Date: Tue, 13 Jan 2009 13:49:03 +0800	[thread overview]
Message-ID: <496C2B4F.3090406@cn.fujitsu.com> (raw)
In-Reply-To: <b9df5fa10901122139h4bfb727i64f864ec185c731d@mail.gmail.com>

Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Balbir Singh <balbir@linux.vnet.ibm.com>

Rakib Mullick wrote:
> Impact: Fix section mismatch warning.
> 
> The annotation for __init in enable_swap_cgroup() and __initdata for
> really_do_swap_account produces the following warning. Which is not
> right, since this function is called from non-init section. This patch
> fixes it. If anything else please notice.
> 

I saw this warning on IA64. But this fix is wrong IMO.

enable_swap_cgroup() will be called at system boot only:

start_kernel()
  cgroup_init()
    mem_cgroup_create()
      enable_swap_cgroup()

I think the proper fix is annotate mem_cgroup_create() with __init_refok.

>   LD      mm/built-in.o
> WARNING: mm/built-in.o(.text+0x277d9): Section mismatch in reference
> from the function mem_cgroup_create() to the function
> .init.text:enable_swap_cgroup()
> The function mem_cgroup_create() references
> the function __init enable_swap_cgroup().
> This is often because mem_cgroup_create lacks a __init
> annotation or the annotation of enable_swap_cgroup is wrong.
> 
> Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com>
> 
> --- linux-2.6-orig/mm/memcontrol.c	2009-01-12 09:53:10.000000000 +0600
> +++ linux-2.6/mm/memcontrol.c	2009-01-12 19:40:06.134648480 +0600
> @@ -46,7 +46,7 @@ struct cgroup_subsys mem_cgroup_subsys _
>  #ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP
>  /* Turned on only when memory cgroup is enabled &&
> really_do_swap_account = 0 */
>  int do_swap_account __read_mostly;
> -static int really_do_swap_account __initdata = 1; /* for remember boot option*/
> +static int really_do_swap_account = 1; /* for remember boot option*/
>  #else
>  #define do_swap_account		(0)
>  #endif
> @@ -2170,13 +2170,13 @@ static void mem_cgroup_put(struct mem_cg
> 
> 
>  #ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP
> -static void __init enable_swap_cgroup(void)
> +static void enable_swap_cgroup(void)
>  {
>  	if (!mem_cgroup_disabled() && really_do_swap_account)
>  		do_swap_account = 1;
>  }
>  #else
> -static void __init enable_swap_cgroup(void)
> +static void enable_swap_cgroup(void)
>  {
>  }
>  #endif
> --

  reply	other threads:[~2009-01-13  5:50 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-13  5:39 [PATCH] mm: Fix section mismatch in memcontrol.c Rakib Mullick
2009-01-13  5:49 ` Li Zefan [this message]
2009-01-13  6:13   ` KAMEZAWA Hiroyuki
2009-01-14  4:43     ` Rakib Mullick
2009-01-14  5:00       ` KAMEZAWA Hiroyuki
2009-01-14  5:05         ` Rakib Mullick
2009-01-14  5:14         ` Li Zefan
2009-01-14  6:49           ` KAMEZAWA Hiroyuki
  -- strict thread matches above, loose matches on Subject: below --
2009-01-13  5:39 Rakib Mullick

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=496C2B4F.3090406@cn.fujitsu.com \
    --to=lizf@cn.fujitsu.com \
    --cc=akpm@linux-foundation.org \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rakib.mullick@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.