On Tue, 2012-07-17 at 02:03 +0700, Mulyadi Santosa wrote: > Hi :) > > On Tue, Jul 17, 2012 at 1:49 AM, Aft nix <aftnix@xxxxxxxxx> wrote: > > This special section, "data..read_mostly" , is it maintained by > > kernel? > > by maintained, you mean allocated? then yes.... > > > then Linker has to know this information. How that is done? > > it is provided by the linker script.... the fastest I can find is in > directory include/asm-generic/vmlinux.lds.h. This file is not final > linker script, it's kinda a "template" that will be further modified > by Kbuild (I guess) > > > I mean lets say a.c is compiled into a.o. a.o already has the offsets > > for its data. Linker resolves the final address. So how the linker is > > invoked > > in a way so that this data flagged with __read__mostly will end up in > > the special section? > > it's actually the same like putting your initialized variable in .data > section, your code in .text and so on. I just get the big picture that > it is done by creating section in the object file. By section, I think > it's simply done by creating a mark to denote the section. > > please kindly study ELF documentation for further info > > > Thing is, i'm getting the idea what these macros mean, but not > > understanding the mechanisms behind them. > > the whole chain is complex actually, but try to get the simple view > first. it's a grouping, read mostly data into a section/group in a > file (in this case, kernel image), kernel loaded.....kernel arrange > itself..put appropriate section into related addresses....done > Thanks for the detailed explanation. I've got the idea behind __read_mostly. I've found a interesting document "Dead code elimination " which i guess relates to "__init" and "__exit". Here is the link : elinux.org/images/2/2d/ELC2010-gc-sections_Denys_Vlasenko.pdf I'm going to study this post if any question arises. cheers. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies