[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reg : module init and exit function
On Tue, 2008-11-04 at 11:14 +0530, Santosh wrote:
> Manish Katiyar wrote:
> > On Tue, Nov 4, 2008 at 9:48 AM, Santosh <ssantosh@xxxxxxxxxx> wrote:
> >> Mohamed Thalib .H wrote:
> >>> Hi all,
> >>>
> >>> I have a doubt
> >>>
> >>> Whether the code that is inside the moudles init and exit function
> >>> will
> >>> be executed if the module is not compiled as module and it is compiled
> >>> into the kernel image itself.
> >>>
> >>>
> >> The module's init fucntion will be run even if it is compiled
> >> statically into the kernel image. The exit function won't be run since it
> >> can't be unloaded from the memory.
> >>
> >> In case where the kernel is configured not to unload modules the exit
> >> function will never be run since the module never unloads. Once the init
> >> function is executed the function itself is discarded since it won't be
> >> needed later.
> >
> > Correct........and that is the memory you see when you see your bootup
> > messages. Something like
> >
> > "Freed 128K of memory ....."
> >
> > But I think for that you have to declare with __init or can it take
> > this decision by default ???
>
> Yes, I guess to be freed up we use __init macro. Can it do this by
> default, I am not sure.
> >
> > Thanks -
> > Manish
>
>
>From the above i understand that once the __init code is complete then
it will be completely remove out of memory and it will be no longer
avaliable ..
am I correct.
and what about the __exit will it be included in the compile time or
not.
if included will it be removed at the time of executing free_initmem()
function. - i dont think so on seeing the code it looks like it frees
only the __init section. so the __exit section should be excluded in the
kernel compile time itself.
correct me if i am wrong.
--
Best Regards,
Mohamed Thalib .H
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ