Re: [PATCH] mm: Fix section mismatch in memcontrol.c

From: Rakib Mullick
Date: Tue Jan 13 2009 - 23:51:00 EST


Sure. You can carryout your other jobs. Here is the patch.
Thanks for your help guys.

--- linux-2.6-orig/mm/memcontrol.c 2009-01-12 09:53:10.000000000 +0600
+++ linux-2.6/mm/memcontrol.c 2009-01-13 19:55:02.846459224 +0600
@@ -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 __init_refok 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 __init_refok enable_swap_cgroup(void)
{
}
#endif


On 1/13/09, KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:
> On Tue, 13 Jan 2009 13:49:03 +0800
> Li Zefan <lizf@xxxxxxxxxxxxxx> wrote:
>
>> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
>> Cc: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx>
>>
>> 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.
>>
> I think Li Zefan's fix is correct.
> Could you make a patch ? or I'll schedule this as my work.
>
> Thanks,
> -Kame
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/