All of lore.kernel.org
 help / color / mirror / Atom feed
* How about the order of Network stack initialize
@ 2010-09-16  1:06 Huangqiang Zhou
  2010-09-17 21:19 ` Randy Dunlap
  0 siblings, 1 reply; 3+ messages in thread
From: Huangqiang Zhou @ 2010-09-16  1:06 UTC (permalink / raw)
  To: ly; +Cc: linux-net, netdev

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How about the order of Network stack initialize
  2010-09-16  1:06 How about the order of Network stack initialize Huangqiang Zhou
@ 2010-09-17 21:19 ` Randy Dunlap
       [not found]   ` <201009190848041099641@gmail.com>
  0 siblings, 1 reply; 3+ messages in thread
From: Randy Dunlap @ 2010-09-17 21:19 UTC (permalink / raw)
  To: Huangqiang Zhou; +Cc: ly, linux-net, netdev

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 ***

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How about the order of Network stack initialize
       [not found]   ` <201009190848041099641@gmail.com>
@ 2010-09-19  0:53     ` Randy Dunlap
  0 siblings, 0 replies; 3+ messages in thread
From: Randy Dunlap @ 2010-09-19  0:53 UTC (permalink / raw)
  To: Huangqiang Zhou; +Cc: ly, linux-net, netdev

On Sun, 19 Sep 2010 08:48:09 +0800 Huangqiang Zhou wrote:

> Hi:
> yes, i have found the answer.
> 
> "please refer to the macro definition INITCALLS in the header file
> include/asm-generic/vmlinux.lds.h -- many definitions are moved to
> this file now." --- by Randy Dunlap 
> 

That answer was
From:	Tony Wan <visual2me@gmail.com>


> 
> 2010-09-19 
> 
> 
> 
> Huangqiang Zhou 
> 
> 
> 
> 发件人: Randy Dunlap 
> 发送时间: 2010-09-18  05:19:50 
> 收件人: Huangqiang Zhou 
> 抄送: ly; linux-net; netdev 
> 主题: Re: How about the order of Network stack initialize 
>  
> 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 ***


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-09-19  0:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-16  1:06 How about the order of Network stack initialize Huangqiang Zhou
2010-09-17 21:19 ` Randy Dunlap
     [not found]   ` <201009190848041099641@gmail.com>
2010-09-19  0:53     ` Randy Dunlap

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.