public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@infradead.org>,
	Rene Herman <rene.herman@keyaccess.nl>,
	Bjorn Helgaas <bjorn.helgaas@hp.com>,
	Jesse Barnes <jbarnes@virtuousgeek.org>,
	Len Brown <lenb@kernel.org>, Frans Pop <elendil@planet.nl>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org,
	Adam Belay <abelay@mit.edu>, Avuton Olrich <avuton@gmail.com>,
	Karl Bellve <karl.bellve@umassmed.edu>,
	Willem Riede <wriede@riede.org>,
	Matthew Hall <mhall@mhcomputing.net>,
	Sam Ravnborg <sam@ravnborg.org>
Subject: Re: [patch 2/2] PNP: don't check disabled PCI BARs for conflicts in quirk_system_pci_resources()
Date: Tue, 30 Sep 2008 12:51:07 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.2.00.0809301244290.3262@nehalem.linux-foundation.org> (raw)
In-Reply-To: <20080930193819.GA29860@elte.hu>



On Tue, 30 Sep 2008, Ingo Molnar wrote:
> 
> incidentally, i've been talking to Arjan about this recently in context 
> of the CONFIG_FASTBOOT feature. Because, as a side-effect, in the long 
> run, once the dependencies between initcalls fan out in a more natural 
> way, with explicit initcall ordering we'll also be able to boot a bit 
> faster and a bit more parallel.

Hell no.

We do not want any implicit parallelism in the initcalls. That way lies 
madness.

The probe functions that explicitly know that they are slow (like USB 
detection and/or other individual drivers that have timeouts) should put 
themselves in the background. We should _not_ use the dependency chain to 
do so automatically, because for most cases drivers are totally 
independent, but we still want a _reliable_  and _repeatable_ ordering.

Which means that I will not accept stuff that makes for a parallel bootup 
as a general initcall notion. I want things like network devices to show 
up in the same order for the same kernel, thank you very much - even if 
there is absolutely _zero_ ordering constraints between two independent 
network drivers.

Anything else will inevitably cause just totally random and undebuggable 
problems.

> i think the topological ordering should not be just an extension of the 
> current hardcoded initcall levels, but it should be symbol space based: 
> i.e. an initcall should depend not on some kind of artificial enum, but 
> it should depend on _another initcall_. (a list of initcalls more 
> generally)

Yes, it should be explicit.

However, I don't agree with the notion of having initcalls point to other 
initcalls. One big _idea_ of initcalls is that you can put them anywhere 
in the source code, and that CONFIG_XYZ variables will automatically run 
them or not depending on whether the code was compiled in. Having 
something like:

> so instead of the current hardcoded levels:
> 
>   core_initcall(sysctl_init);
> 
> we could have natural constructs like:
> 
>   initcall_depends_on(sysctl_init, securityfs_init);
>   initcall_depends_on(sock_init, sysctl_init)

would be a TOTAL DISASTER, because if you do that, then you are 
essentially back to the insane situation where people need to know what 
other parts are enabled.

So no. No "one call depends on another" crap.

But I think we could add a separate notion of a dependancy point, and have 
a setup where we describe "initcall X needs to happen before point A" and 
"initcall Z needs to happen after point A".

And then we can create a separate set of these dependency points, so that 
X and Y don't have to know about each other, they just have to have some 
knowledge about some common synchronization point - one that exists 
regardless of whether X or Y are even compiled in!

			Linus

  reply	other threads:[~2008-09-30 19:54 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-29 15:53 [patch 0/2] don't check disabled PCI BARs for conflicts with PNP devices Bjorn Helgaas
2008-09-29 15:56 ` [patch 1/2] PCI: add pci_resource_enabled() Bjorn Helgaas
2008-09-29 15:57 ` [patch 2/2] PNP: don't check disabled PCI BARs for conflicts in quirk_system_pci_resources() Bjorn Helgaas
2008-09-29 16:34   ` Linus Torvalds
2008-09-29 18:31     ` Rene Herman
2008-09-29 19:13       ` Linus Torvalds
2008-09-30  9:19         ` Rene Herman
2008-09-30 14:48           ` Linus Torvalds
2008-09-30 15:57             ` Rene Herman
2008-09-30 16:29               ` Linus Torvalds
2008-09-30 17:10                 ` Linus Torvalds
2008-09-30 17:21                   ` Linus Torvalds
2008-09-30 19:29                     ` Rene Herman
2008-09-30 19:37                       ` Rene Herman
2008-09-30 19:44                       ` Linus Torvalds
2008-09-30 20:48                         ` Rene Herman
2008-09-30 19:38                     ` Ingo Molnar
2008-09-30 19:51                       ` Linus Torvalds [this message]
2008-09-30 19:54                         ` Arjan van de Ven
2008-09-30 20:01                         ` Ingo Molnar
2008-10-01  6:13                         ` Grant Grundler
2008-10-01  8:26                           ` Ingo Molnar
2008-10-06  5:34                             ` Grant Grundler
2008-10-01 15:14                           ` Linus Torvalds
2008-10-01 16:21                             ` Yinghai Lu
2008-09-30 20:05                       ` Rolf Eike Beer
2008-10-01  8:52                         ` Ingo Molnar
2008-09-30 18:01                 ` Linus Torvalds
2008-09-30 18:13                   ` Linus Torvalds
2008-09-30 19:51                     ` Rene Herman
2008-09-30 19:16                   ` Bjorn Helgaas
2008-09-30 19:12                 ` Bjorn Helgaas
2008-10-01 20:18                   ` Bjorn Helgaas

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=alpine.LFD.2.00.0809301244290.3262@nehalem.linux-foundation.org \
    --to=torvalds@linux-foundation.org \
    --cc=abelay@mit.edu \
    --cc=arjan@infradead.org \
    --cc=avuton@gmail.com \
    --cc=bjorn.helgaas@hp.com \
    --cc=elendil@planet.nl \
    --cc=jbarnes@virtuousgeek.org \
    --cc=karl.bellve@umassmed.edu \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mhall@mhcomputing.net \
    --cc=mingo@elte.hu \
    --cc=rene.herman@keyaccess.nl \
    --cc=rjw@sisk.pl \
    --cc=sam@ravnborg.org \
    --cc=wriede@riede.org \
    /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