* [PATCH -v2] netconsole: switch init_netconsole() to late_initcall if build-in
@ 2011-09-13 7:45 Lin Ming
2011-09-13 7:55 ` Américo Wang
2011-09-13 8:01 ` Andrew Morton
0 siblings, 2 replies; 6+ messages in thread
From: Lin Ming @ 2011-09-13 7:45 UTC (permalink / raw)
To: David S. Miller; +Cc: Andrew Morton, lkml, netdev, Jeff Kirsher
Commit 88491d8(drivers/net: Kconfig & Makefile cleanup) causes a
regression that netconsole does not work if netconsole and network
device driver are build into kernel, because netconsole is linked
before network device driver.
Andrew Morton suggested to fix this with initcall ordering.
Fixes it by switching init_netconsole() to late_initcall if build-in.
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
---
drivers/net/netconsole.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index dfc8272..914be29 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -799,5 +799,9 @@ static void __exit cleanup_netconsole(void)
}
}
+#ifdef MODULE
module_init(init_netconsole);
module_exit(cleanup_netconsole);
+#else
+late_initcall(init_netconsole);
+#endif /* !MODULE */
--
1.7.2.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH -v2] netconsole: switch init_netconsole() to late_initcall if build-in
2011-09-13 7:45 [PATCH -v2] netconsole: switch init_netconsole() to late_initcall if build-in Lin Ming
@ 2011-09-13 7:55 ` Américo Wang
2011-09-13 8:26 ` Lin Ming
2011-09-13 8:01 ` Andrew Morton
1 sibling, 1 reply; 6+ messages in thread
From: Américo Wang @ 2011-09-13 7:55 UTC (permalink / raw)
To: Lin Ming; +Cc: David S. Miller, Andrew Morton, lkml, netdev, Jeff Kirsher
On Tue, Sep 13, 2011 at 3:45 PM, Lin Ming <ming.m.lin@intel.com> wrote:
> Commit 88491d8(drivers/net: Kconfig & Makefile cleanup) causes a
> regression that netconsole does not work if netconsole and network
> device driver are build into kernel, because netconsole is linked
> before network device driver.
>
> Andrew Morton suggested to fix this with initcall ordering.
> Fixes it by switching init_netconsole() to late_initcall if build-in.
>
Putting one or two lines of comments into the code would
be nicer, otherwise people have to dig git log to see why. ;-)
Thanks!
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH -v2] netconsole: switch init_netconsole() to late_initcall if build-in
2011-09-13 7:45 [PATCH -v2] netconsole: switch init_netconsole() to late_initcall if build-in Lin Ming
2011-09-13 7:55 ` Américo Wang
@ 2011-09-13 8:01 ` Andrew Morton
2011-09-13 8:38 ` Lin Ming
1 sibling, 1 reply; 6+ messages in thread
From: Andrew Morton @ 2011-09-13 8:01 UTC (permalink / raw)
To: Lin Ming; +Cc: David S. Miller, lkml, netdev, Jeff Kirsher
On Tue, 13 Sep 2011 15:45:39 +0800 Lin Ming <ming.m.lin@intel.com> wrote:
> Commit 88491d8(drivers/net: Kconfig & Makefile cleanup) causes a
> regression that netconsole does not work if netconsole and network
> device driver are build into kernel, because netconsole is linked
> before network device driver.
>
> Andrew Morton suggested to fix this with initcall ordering.
> Fixes it by switching init_netconsole() to late_initcall if build-in.
>
> Signed-off-by: Lin Ming <ming.m.lin@intel.com>
> ---
> drivers/net/netconsole.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
> index dfc8272..914be29 100644
> --- a/drivers/net/netconsole.c
> +++ b/drivers/net/netconsole.c
> @@ -799,5 +799,9 @@ static void __exit cleanup_netconsole(void)
> }
> }
>
> +#ifdef MODULE
> module_init(init_netconsole);
> module_exit(cleanup_netconsole);
> +#else
> +late_initcall(init_netconsole);
> +#endif /* !MODULE */
The ifdefs (which should have used CONFIG_MODULE) aren't needed.
Because late_initcall() and module_init() are identical if
CONFIG_MODULE, and because one day we might want to run the exitcalls
for built-in code (UML actually does this at present).
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH -v2] netconsole: switch init_netconsole() to late_initcall if build-in
2011-09-13 7:55 ` Américo Wang
@ 2011-09-13 8:26 ` Lin Ming
0 siblings, 0 replies; 6+ messages in thread
From: Lin Ming @ 2011-09-13 8:26 UTC (permalink / raw)
To: Américo Wang
Cc: David S. Miller, Andrew Morton, lkml, netdev@vger.kernel.org,
Kirsher, Jeffrey T
On Tue, 2011-09-13 at 15:55 +0800, Américo Wang wrote:
> On Tue, Sep 13, 2011 at 3:45 PM, Lin Ming <ming.m.lin@intel.com> wrote:
> > Commit 88491d8(drivers/net: Kconfig & Makefile cleanup) causes a
> > regression that netconsole does not work if netconsole and network
> > device driver are build into kernel, because netconsole is linked
> > before network device driver.
> >
> > Andrew Morton suggested to fix this with initcall ordering.
> > Fixes it by switching init_netconsole() to late_initcall if build-in.
> >
>
> Putting one or two lines of comments into the code would
> be nicer, otherwise people have to dig git log to see why. ;-)
Will add.
Thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH -v2] netconsole: switch init_netconsole() to late_initcall if build-in
2011-09-13 8:01 ` Andrew Morton
@ 2011-09-13 8:38 ` Lin Ming
2011-09-20 19:45 ` David Miller
0 siblings, 1 reply; 6+ messages in thread
From: Lin Ming @ 2011-09-13 8:38 UTC (permalink / raw)
To: Andrew Morton
Cc: David S. Miller, lkml, netdev@vger.kernel.org, Kirsher, Jeffrey T
On Tue, 2011-09-13 at 16:01 +0800, Andrew Morton wrote:
> On Tue, 13 Sep 2011 15:45:39 +0800 Lin Ming <ming.m.lin@intel.com> wrote:
>
> > Commit 88491d8(drivers/net: Kconfig & Makefile cleanup) causes a
> > regression that netconsole does not work if netconsole and network
> > device driver are build into kernel, because netconsole is linked
> > before network device driver.
> >
> > Andrew Morton suggested to fix this with initcall ordering.
> > Fixes it by switching init_netconsole() to late_initcall if build-in.
> >
> > Signed-off-by: Lin Ming <ming.m.lin@intel.com>
> > ---
> > drivers/net/netconsole.c | 4 ++++
> > 1 files changed, 4 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
> > index dfc8272..914be29 100644
> > --- a/drivers/net/netconsole.c
> > +++ b/drivers/net/netconsole.c
> > @@ -799,5 +799,9 @@ static void __exit cleanup_netconsole(void)
> > }
> > }
> >
> > +#ifdef MODULE
> > module_init(init_netconsole);
> > module_exit(cleanup_netconsole);
> > +#else
> > +late_initcall(init_netconsole);
> > +#endif /* !MODULE */
>
> The ifdefs (which should have used CONFIG_MODULE) aren't needed.
> Because late_initcall() and module_init() are identical if
> CONFIG_MODULE, and because one day we might want to run the exitcalls
> for built-in code (UML actually does this at present).
Thanks for comments.
Updated as below.
>From 035af5dca36a3b9e255758a46214e0e6d2b5b6a3 Mon Sep 17 00:00:00 2001
From: Lin Ming <ming.m.lin@intel.com>
Date: Tue, 13 Sep 2011 16:35:46 +0800
Subject: [PATCH -v3] netconsole: switch init_netconsole() to late_initcall
Commit 88491d8(drivers/net: Kconfig & Makefile cleanup) causes a
regression that netconsole does not work if netconsole and network
device driver are build into kernel, because netconsole is linked
before network device driver.
Andrew Morton suggested to fix this with initcall ordering.
Fixes it by switching init_netconsole() to late_initcall.
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
---
drivers/net/netconsole.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index dfc8272..ed2a397 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -799,5 +799,11 @@ static void __exit cleanup_netconsole(void)
}
}
-module_init(init_netconsole);
+/*
+ * Use late_initcall to ensure netconsole is
+ * initialized after network device driver if built-in.
+ *
+ * late_initcall() and module_init() are identical if built as module.
+ */
+late_initcall(init_netconsole);
module_exit(cleanup_netconsole);
--
1.7.2.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH -v2] netconsole: switch init_netconsole() to late_initcall if build-in
2011-09-13 8:38 ` Lin Ming
@ 2011-09-20 19:45 ` David Miller
0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2011-09-20 19:45 UTC (permalink / raw)
To: ming.m.lin; +Cc: akpm00, linux-kernel, netdev, jeffrey.t.kirsher
From: Lin Ming <ming.m.lin@intel.com>
Date: Tue, 13 Sep 2011 16:38:50 +0800
> Subject: [PATCH -v3] netconsole: switch init_netconsole() to late_initcall
>
> Commit 88491d8(drivers/net: Kconfig & Makefile cleanup) causes a
> regression that netconsole does not work if netconsole and network
> device driver are build into kernel, because netconsole is linked
> before network device driver.
>
> Andrew Morton suggested to fix this with initcall ordering.
> Fixes it by switching init_netconsole() to late_initcall.
>
> Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Applied, thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-09-20 19:45 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-13 7:45 [PATCH -v2] netconsole: switch init_netconsole() to late_initcall if build-in Lin Ming
2011-09-13 7:55 ` Américo Wang
2011-09-13 8:26 ` Lin Ming
2011-09-13 8:01 ` Andrew Morton
2011-09-13 8:38 ` Lin Ming
2011-09-20 19:45 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).