linux-mips
[Top] [All Lists]

Re: Freeing global memory used only by __init functions

To: Gerald Champagne <gerald.champagne@esstech.com>
Subject: Re: Freeing global memory used only by __init functions
From: Zhang Fuxin <fxzhang@ict.ac.cn>
Date: Wed, 19 Sep 2001 2:8:47 +0800
Cc: "linux-mips@oss.sgi.com" <linux-mips@oss.sgi.com>
Sender: owner-linux-mips@oss.sgi.com
hi,Gerald Champagne,
      I think __initdata attribute is the answer.You just need to 
put init data in init data section(via __initdata),there are many examples
in kernel.


在 2001-09-18 12:58:00 you wrote:
>I noticed that several global buffers are used by a few functions marked
>as __init functions.  I assume that the code space used by these functions
>will be freed up when kernel initialization is completed, but can the
>associated global memory be freed up as well?
>
>An example can be found in arch/mips/mips-boards/generic/cmdline.c:
>
>char arcs_cmdline[COMMAND_LINE_SIZE];
>char * __init prom_getcmdline(void);
>void  __init prom_init_cmdline(void);
>
>arcs_cmdline is only used by these two functions and one other function
>marked as __init.
>
>This buffer is small, but it can apply to larger buffers as well.  For
>example, in arch/mips/mips-boards/generic/printf.c, I think the functions
>putPromChar and getPromChar should be marked as __init functions, and the
>1k buffer "buf" is never used after initialization.  Can this 1k be recovered?
>
>I know kmalloc could normally be used in kernel code, but that won't work on
>initialization code used before kmalloc is initialized.
>
>Thanks.
>
>Gerald

Regards
            Zhang Fuxin
            fxzhang@ict.ac.cn


<Prev in Thread] Current Thread [Next in Thread>