Re: [patch 2/6] hugetlb: Fix section mismatches

Jeff Mahoney
2010-01-13T14:32:10Z

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/13/2010 04:28 AM, David Rientjes wrote:
> On Tue, 12 Jan 2010, Jeff Mahoney wrote:
>
>> hugetlb_register_node calls hugetlb_sysfs_add_hstate, which is marked with
>> __init. Since hugetlb_register_node is only called by
>> hugetlb_register_all_nodes, which in turn is only called by hugetlb_init,
>> it's safe to mark both of them as __init.
>>
>> Signed-off-by: Jeff Mahoney <jeffm@suse.com>
>> ---
>> mm/hugetlb.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> --- a/mm/hugetlb.c
>> +++ b/mm/hugetlb.c
>> @@ -1630,7 +1630,7 @@ void hugetlb_unregister_node(struct node
>> * hugetlb module exit: unregister hstate attributes from node sysdevs
>> * that have them.
>> */
>> -static void hugetlb_unregister_all_nodes(void)
>> +static void __init hugetlb_unregister_all_nodes(void)
>> {
>> int nid;
>>
>
> This is wrong, you want to move hugetlb_register_all_nodes() to
> .init.text, not hugetlb_unregister_all_nodes().

Yep. You're right. I had this correct in my initial version of the patch
but accidentally deleted it while renaming them. I'll re-send.

- -Jeff

>> @@ -1650,7 +1650,7 @@ static void hugetlb_unregister_all_nodes
>> * Register hstate attributes for a single node sysdev.
>> * No-op if attributes already registered.
>> */
>> -void hugetlb_register_node(struct node *node)
>> +void __init hugetlb_register_node(struct node *node)
>> {
>> struct hstate *h;
>> struct node_hstate *nhs = &node_hstates[node->sysdev.id];

- --
Jeff Mahoney
SUSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/

iEYEARECAAYFAktN2NsACgkQLPWxlyuTD7LWzACcDpwbTkDEaZpdHUOYBiFqj0xP
9NkAnjoySOmUkV45P8yaMK6Z7N8xWnvn
=dTst
-----END PGP SIGNATURE-----