From: "Satyam Sharma" <satyam.sharma@gmail.com>
To: "James Bottomley" <James.Bottomley@steeleye.com>
Cc: "Dave Jones" <davej@redhat.com>,
"Robert P. J. Day" <rpjday@mindspring.com>,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
linux-scsi@vger.kernel.org
Subject: Re: why does x86 "make defconfig" build a single, lonely module?
Date: Tue, 15 May 2007 06:11:00 +0530 [thread overview]
Message-ID: <a781481a0705141741u4c2f442dk76c68f757cadc38d@mail.gmail.com> (raw)
In-Reply-To: <1179153096.3703.23.camel@mulgrave.il.steeleye.com>
On 5/14/07, James Bottomley <James.Bottomley@steeleye.com> wrote:
> On Mon, 2007-05-14 at 17:53 +0530, Satyam Sharma wrote:
> > > I guess this is probably the behaviour that James wanted originally?
>
> No ... you're still not reading the explanation in the thread:
>
> The wait scan module is designed to wait for scans of driver modules.
> Whether SCSI=y or m has no effect on this ... you can still have modular
> drivers with built in SCSI.
Ah, I see why we _want_ this built as a _module_ only, and don't even
want to expose the Kconfig option to the user, lest he screw himself later.
But dangling "default m"'s or "default y"'s not exposed to the user do
stand out discomfortingly in Kconfigs, wish there was a better way to
handle this.
> > > Anyway, attached patch (subsumes previous one) cleans up all this.
> > > Now, scsi_wait_scan is the only guy who controls waiting upon async
> > > scans to complete:
> > >
> > > If SCSI=n, SCSI_WAIT_SCAN=n, obviously.
> > >
> > > If SCSI=y, SCSI_WAIT_SCAN=y, so it gets built-in and is run at
> > > late_initcall.
> > >
> > > If SCSI=m, SCSI_WAIT_SCAN=m too and would hopefully be run
> > > by the initrd/initramfs scripts to wait for async SCSI bus scans to
> > > finish before allowing the boot to proceed.
> > >
> > > [ Attached patch does _not_ expose SCSI_WAIT_SCAN to the
> > > user at kernel configuration time, so if somebody wants it to be
> > > built as a module even when SCSI=y (why would anybody
> > > want that, doesn't make much sense to me to modprobe
> > > scsi_wait_scan _after_ boot-up), it would not be possible to
> > > do so. But if someone really wants that, let me know, we can
> > > add a depends, tristate "..." and help in this Kconfig option to
> > > accomplish that too. ]
> >
> > This has sadly become a one-person thread, but Robert informs
> > me in private mail that we can further clean/simplify the patch:
> >
> > [subsumes both previous patches]
> >
> > Signed-off-by: Satyam Sharma <satyam.sharma@gmail.com>
> >
> > ---
> >
> > drivers/scsi/Kconfig | 3 +--
> > drivers/scsi/scsi_scan.c | 5 +----
> > 2 files changed, 2 insertions(+), 6 deletions(-)
> >
> > ---
> >
> > diff -ruNp a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
> > --- a/drivers/scsi/Kconfig 2007-05-10 23:19:32.000000000 +0530
> > +++ b/drivers/scsi/Kconfig 2007-05-14 17:59:51.000000000 +0530
> > @@ -243,9 +243,8 @@ config SCSI_SCAN_ASYNC
> >
> > config SCSI_WAIT_SCAN
> > tristate
> > - default m
> > depends on SCSI
> > - depends on MODULES
> > + default SCSI
> >
> > menu "SCSI Transports"
> > depends on SCSI
> > diff -ruNp a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
> > --- a/drivers/scsi/scsi_scan.c 2007-05-14 16:06:43.000000000 +0530
> > +++ b/drivers/scsi/scsi_scan.c 2007-05-14 16:10:34.000000000 +0530
> > @@ -184,14 +184,11 @@ int scsi_complete_async_scans(void)
> > /* Only exported for the benefit of scsi_wait_scan */
> > EXPORT_SYMBOL_GPL(scsi_complete_async_scans);
> >
> > -#ifndef MODULE
> > /*
> > * For async scanning we need to wait for all the scans to complete before
> > * trying to mount the root fs. Otherwise non-modular drivers may not be ready
> > - * yet.
> > + * yet. This is done by scsi_wait_scan.
> > */
> > -late_initcall(scsi_complete_async_scans);
> > -#endif
>
> This is actually not in mainline. It's an incorrect patch in -mm. The
> problem with late_initcall is that they queue in link order ... so any
> SCSI module (and there a few) linked after this won't benefit from it.
> The obvious hack is to have a separate file with this in the final link.
> However, Matthew Wilcox thinks he can do better.
Yeah, thanks for this explanation. -mm is probably what confused me
here. I did consider the fact that late_initcall's are called in link order,
but saw that there was an explicit effort (hack?) in drivers/scsi/Makefile
to keep scsi_wait_scan last so that SCSI devices probe earlier ... not
that this helps us with modular drivers, of course.
Thanks,
Satyam
next prev parent reply other threads:[~2007-05-15 0:41 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-13 15:22 Robert P. J. Day
2007-05-13 15:58 ` Jan Engelhardt
2007-05-13 16:06 ` Dave Jones
2007-05-13 16:10 ` James Bottomley
2007-05-13 16:18 ` James Bottomley
2007-05-13 16:30 ` Dave Jones
2007-05-14 9:35 ` Satyam Sharma
2007-05-14 9:45 ` Satyam Sharma
2007-05-14 12:00 ` Satyam Sharma
2007-05-14 12:23 ` Satyam Sharma
2007-05-14 14:31 ` James Bottomley
2007-05-15 0:41 ` Satyam Sharma [this message]
2007-05-15 11:26 ` Simon Arlott
2007-05-15 12:02 ` Asynchronous scsi scanning Matthew Wilcox
2007-05-15 16:30 ` Simon Arlott
2007-05-15 17:29 ` Matthew Wilcox
2007-05-15 21:56 ` [PATCH] SCSI: Let users disable SCSI_WAIT_SCAN to be built Stefan Richter
2007-05-16 14:43 ` Stefan Richter
2007-05-17 14:00 ` James Bottomley
2007-05-17 17:02 ` Satyam Sharma
2007-05-15 23:27 ` Asynchronous scsi scanning Satyam Sharma
2007-05-15 23:28 ` Arjan van de Ven
2007-05-15 23:49 ` Satyam Sharma
2007-05-16 2:51 ` Matthew Wilcox
2007-05-16 2:59 ` Roland Dreier
2007-05-17 17:13 ` Satyam Sharma
2007-05-17 17:20 ` Matthew Wilcox
2007-05-17 17:41 ` Satyam Sharma
2007-05-17 18:24 ` Christoph Hellwig
2007-05-17 18:47 ` Satyam Sharma
2007-05-17 18:51 ` Christoph Hellwig
2007-05-17 19:04 ` Satyam Sharma
2007-05-17 19:39 ` Matthew Wilcox
2007-05-17 19:43 ` Benjamin LaHaise
2007-05-17 21:30 ` Matthew Wilcox
2007-05-17 21:42 ` Dave Jones
2007-05-17 22:00 ` Peter Jones
2007-05-18 14:00 ` Stefan Richter
2007-05-18 5:28 ` Satyam Sharma
2007-05-18 11:24 ` Matthew Wilcox
2007-05-18 13:14 ` Satyam Sharma
2007-05-18 3:41 ` Satyam Sharma
2007-05-18 11:19 ` Matthew Wilcox
2007-05-18 13:06 ` Satyam Sharma
2007-05-17 17:32 ` sysfs makes scaling suck " Benjamin LaHaise
2007-05-17 17:45 ` James Bottomley
2007-05-17 17:49 ` Benjamin LaHaise
2007-05-19 16:30 ` Greg KH
2007-05-17 22:24 ` Peter Jones
2007-05-13 16:20 ` why does x86 "make defconfig" build a single, lonely module? Robert P. J. Day
2007-05-13 16:27 ` James Bottomley
2007-05-13 16:37 ` Robert P. J. Day
2007-05-13 17:42 ` Simon Arlott
2007-05-13 17:48 ` James Bottomley
2007-05-13 18:26 ` Simon Arlott
2007-05-13 18:45 ` Dave Jones
2007-05-13 18:45 ` James Bottomley
2007-05-14 17:29 ` Jan Engelhardt
2007-05-14 18:46 ` Alan Cox
2007-05-14 20:06 ` Jan Engelhardt
2007-05-13 16:28 ` Dave Jones
2007-05-13 20:38 ` Simon Arlott
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a781481a0705141741u4c2f442dk76c68f757cadc38d@mail.gmail.com \
--to=satyam.sharma@gmail.com \
--cc=James.Bottomley@steeleye.com \
--cc=davej@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=rpjday@mindspring.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®