On Thu, 16 Sep 2010 09:06:16 +0800 Huangqiang Zhou wrote: > Hi all: > > I have a question about the order of network stack initialize. > > From some books it says the order is as below: > 1.core_initcall: sock_init > 2.fs_initcall: inet_init > 3.subsys_initcall: net_dev_init > 4.device_initcall: device init > > in the source code of linux2.6.18: > #define core_initcall(fn) __define_initcall("1",fn) > #define postcore_initcall(fn) __define_initcall("2",fn) > #define arch_initcall(fn) __define_initcall("3",fn) > #define subsys_initcall(fn) __define_initcall("4",fn) > #define fs_initcall(fn) __define_initcall("5",fn) > #define device_initcall(fn) __define_initcall("6",fn) > #define late_initcall(fn) __define_initcall("7",fn) > > obviously: > macro section > core_initcall <--> .initcall1.init > fs_initcall <--> .initcall5.init > subsys_initcall <--> .initcall4.init > device_intcall <--> .initcall6.init > > Some also says: > “Every child is to determine the sequence between sections, the first call. Initcall1 init. > The function pointer, again. Initcall2 init. Call the function pointer, etc. And in each section > of the function pointer is associated with links to order, is uncertain ” > > As the above says, the order should be: core_initcall->subsys_initcall->fs_initcall->device_intcall > > So which one is really correct? > > 2010-09-15 > Huangqiang Zhou Hi, BTW, did you find out anything from your previous posting's answers? http://marc.info/?l=linux-net&m=128443018603483&w=2 --- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code *** -- To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html