public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Jeff Garzik <jeff@garzik.org>, Tejun Heo <htejun@gmail.com>,
	Ingo Molnar <mingo@elte.hu>, Yinghai Lu <yhlu.kernel@gmail.com>,
	David Witbrodt <dawitbro@sbcglobal.net>,
	Andrew Morton <akpm@linux-foundation.org>,
	Kernel Testers <kernel-testers@vger.kernel.org>
Subject: Re: Linux 2.6.27-rc5: System boot regression caused by commit a2bd7274b47124d2fc4dfdb8c0591f545ba749dd
Date: Sat, 30 Aug 2008 10:39:29 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.1.10.0808301012060.3290@nehalem.linux-foundation.org> (raw)
In-Reply-To: <200808300030.32905.rjw@sisk.pl>



On Sat, 30 Aug 2008, Rafael J. Wysocki wrote:
> 
> > And if you have the whole dmesg, that would be useful.
> 
> dmesg from -rc5 with the offending commit reverted and with the patch
> below applied is at:
> 
> http://www.sisk.pl/kernel/debug/mainline/2.6.27-rc5/2.6.27-rc5-git.log

Ok, the more I look at this, the more interesting it gets.

In particular, this:

	...
	ACPI: bus type pnp registered
	pnp 00:08: mem resource (0xfec00000-0xfec00fff) overlaps 0000:00:00.0 BAR 3 (0xe0000000-0xffffffff), disabling
	pnp 00:08: mem resource (0xfee00000-0xfee00fff) overlaps 0000:00:00.0 BAR 3 (0xe0000000-0xffffffff), disabling
	pnp 00:09: mem resource (0xffb80000-0xffbfffff) overlaps 0000:00:00.0 BAR 3 (0xe0000000-0xffffffff), disabling
	pnp 00:09: mem resource (0xfff00000-0xffffffff) overlaps 0000:00:00.0 BAR 3 (0xe0000000-0xffffffff), disabling
	pnp 00:0b: mem resource (0xe0000000-0xefffffff) overlaps 0000:00:00.0 BAR 3 (0xe0000000-0xffffffff), disabling
	pnp 00:0c: mem resource (0xfec00000-0xffffffff) overlaps 0000:00:00.0 BAR 3 (0xe0000000-0xffffffff), disabling
	pnp: PnP ACPI: found 13 devices
	ACPI: ACPI bus type pnp unregistered
	SCSI subsystem initialized
	libata version 3.00 loaded.
	usbcore: registered new interface driver usbfs
	usbcore: registered new interface driver hub
	usbcore: registered new device driver usb
	PCI: Using ACPI for IRQ routing
	pci 0000:00:00.0: BAR 3: can't allocate resource
	...

there's a few things to note here:

 - the resource at 0000:00:00.0 BAR 3 is totally bogus.

   We know it's totally bogus because you actually have other resources in 
   the 0xf....... range, and they work fine. It's also likely to be 
   totally bogus because it so happens that the end-point of 0xffffffff is 
   commonly something that the BIOS leaves as a "I sized this resource", 
   because that's how resources are sized (you write all ones into them 
   and look what you can read back).

   But your lspci -vxx output clearly shows that (a) MEM is enabled in 
   the command word, and yes, the BAR register at 0x18 does indeed have 
   value 0xe0000000. So it's just the length that is really bogus.

 - pnp clearly sees that bogus resource at 0xe0000000-0xffffffff

 - BUT: the "can't allocate resource" thing is from 
   pcibios_allocate_resources(), and means that the request_resource() 
   failed _despite_ the fact that you hadn't reserved the e820 resources 
   yet with the new patch.

The thing that seems to save you is that we've already allocated something 
in that region. There's a few things there, like:

	fee00000-fee00fff : Local APIC

but that particular one is actually reserved much later, so that doesn't 
explain it. I think that what happens is that we have allocated the _bus_ 
resources earlier in "pcibios_allocate_bus_resources()", and that means 
that we already have these resources:

	fe700000-fe7fffff : PCI Bus 0000:01
	fe800000-fe8fffff : PCI Bus 0000:02
	fe900000-fe9fffff : PCI Bus 0000:03
	fea00000-feafffff : PCI Bus 0000:04
	feb00000-febfffff : PCI Bus 0000:05

in the resource tree, and that in turn means that when we try to allocate 
the bogus MCFG resource, it fails.

Which is good - it mustn't succeed.

What _broke_ for you is that the horrible patch that got reverted said 
that "if we recognize this as an MCFG resource, we will _always_ try to 
insert it", so it fundamentally broke the whole resource tree, because it 
force-inserted that totally crap resource.

Now, the thing that worries me a bit is that I wonder how common this kind 
of crap is. And in particular, I wonder how often we've been saved from 
horrible issues like this by the fact that we've inserted the e820 
resources first. Of course - it can work both ways - sometimes it saves 
us, and sometimes it just causes more problems (eg when we then 
re-allocate the resource successfully somewhere else).

		Linus

  reply	other threads:[~2008-08-30 17:41 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-28 23:26 Linux 2.6.27-rc5 Linus Torvalds
2008-08-29 15:42 ` cpu time oddity (was Re: Linux 2.6.27-rc5) Alistair John Strachan
2008-08-29 15:56   ` Alistair John Strachan
2008-08-29 17:13 ` Linux 2.6.27-rc5 Rafael J. Wysocki
2008-08-29 19:57   ` Linux 2.6.27-rc5: System boot regression caused by commit a2bd7274b47124d2fc4dfdb8c0591f545ba749dd Rafael J. Wysocki
2008-08-29 21:13     ` Yinghai Lu
2008-08-29 21:19       ` Yinghai Lu
2008-08-29 22:32         ` Rafael J. Wysocki
2008-08-29 22:31       ` Rafael J. Wysocki
2008-08-29 23:24         ` Yinghai Lu
2008-08-30  0:08           ` Linus Torvalds
2008-08-30  0:11             ` Yinghai Lu
2008-08-30  0:45               ` Linus Torvalds
2008-08-30  1:11                 ` Linus Torvalds
2008-08-30  1:30                   ` Yinghai Lu
2008-08-30  2:33                     ` Linus Torvalds
2008-08-30  2:56                       ` Linus Torvalds
2008-08-30  3:07                         ` Yinghai Lu
2008-08-30  3:24                           ` Linus Torvalds
2008-08-30  4:41                             ` Yinghai Lu
2008-08-30  5:02                               ` Yinghai Lu
2008-08-30  5:52                               ` Linus Torvalds
2008-08-30  6:18                                 ` Linus Torvalds
2008-08-30  8:02                                   ` Yinghai Lu
2008-08-30  5:22                             ` Yinghai Lu
2008-08-30  6:11                               ` Linus Torvalds
2008-08-30  3:15                         ` Linus Torvalds
2008-08-30  3:00                       ` Yinghai Lu
2008-08-30  3:10                         ` Linus Torvalds
2008-08-30  1:14                 ` Yinghai Lu
2008-08-30  2:16                   ` Linus Torvalds
2008-08-30  2:29                     ` Yinghai Lu
2008-08-30  0:20             ` Yinghai Lu
2008-08-30  0:27               ` Yinghai Lu
2008-08-30 13:32                 ` Rafael J. Wysocki
2008-08-30 16:05                   ` Yinghai Lu
2008-08-30 17:14                     ` Rafael J. Wysocki
2008-08-30 17:55                       ` Yinghai Lu
2008-08-30 18:11                         ` Yinghai Lu
2008-08-30 19:06                           ` Yinghai Lu
2008-08-30 19:51                             ` Rafael J. Wysocki
2008-08-30 20:10                               ` Yinghai Lu
2008-08-29 21:44     ` Linus Torvalds
2008-08-29 22:30       ` Rafael J. Wysocki
2008-08-30 17:39         ` Linus Torvalds [this message]
2008-08-30 18:07           ` Yinghai Lu
2008-08-30 18:43             ` Linus Torvalds
2008-08-30 19:10               ` Yinghai Lu
2008-08-30 19:31                 ` Linus Torvalds
2008-08-30 20:14                   ` Yinghai Lu
2008-08-30 20:38                     ` Yinghai Lu
2008-08-30 20:46                       ` Rafael J. Wysocki
2008-08-30 21:12                         ` Yinghai Lu
2008-08-30 21:13                           ` Yinghai Lu
2008-08-30 21:34                             ` Rafael J. Wysocki
2008-08-30 21:49                               ` Yinghai Lu
2008-08-31  1:10                               ` Yinghai Lu
2008-08-31 12:27                                 ` Rafael J. Wysocki
2008-08-31 17:42                                   ` Linus Torvalds
2008-08-31 17:54                                     ` Yinghai Lu
2008-08-31 18:03                                       ` Linus Torvalds
2008-08-31 21:03                                         ` Yinghai Lu
2008-09-01 17:53                                           ` Linus Torvalds
2008-08-30 22:41                     ` Linus Torvalds
2008-08-30 22:50                       ` Yinghai Lu
2008-08-30 23:28                         ` Linus Torvalds
2008-08-30 23:39                           ` Yinghai Lu
2008-08-31  0:27                             ` Yinghai Lu
2008-08-31  0:50                               ` Yinghai Lu
2008-08-31  3:00                                 ` Linus Torvalds
2008-08-31  3:53                                   ` Yinghai Lu
2008-08-31  3:58                                     ` Linus Torvalds
2008-08-31  4:12                                       ` Linus Torvalds
2008-08-30 19:14               ` Linus Torvalds
2008-08-30 19:26                 ` Yinghai Lu
2008-08-30 19:41                   ` Linus Torvalds
2008-08-30 19:48                     ` Yinghai Lu
2008-08-30 19:29                 ` Rafael J. Wysocki
2008-08-30 19:29                   ` Yinghai Lu
2008-08-30 19:20           ` Rafael J. Wysocki
2008-08-29 22:34     ` Jeff Garzik
2008-08-29 22:47       ` Rafael J. Wysocki
2008-08-30 10:34 ` [PATCH] Re: Linux 2.6.27-rc5 Helge Deller
2008-08-30 20:21   ` Rafael J. Wysocki
2008-09-01 22:28   ` Al Viro
2008-08-31 23:27 ` J.A. Magallón
     [not found]   ` <328e43f00808311825r71164541pd4159a4a33b9b038@mail.gmail.com>
2008-09-01  7:12     ` Francois Romieu
  -- strict thread matches above, loose matches on Subject: below --
2008-08-30  6:13 Linux 2.6.27-rc5: System boot regression caused by commit a2bd7274b47124d2fc4dfdb8c0591f545ba749dd David Witbrodt
2008-08-30  6:21 ` Linus Torvalds
2008-08-30  6:58 David Witbrodt
2008-08-30 23:29 David Witbrodt
2008-08-31  0:16 ` Yinghai Lu
2008-08-31  1:25 David Witbrodt
2008-08-31  2:17 ` Yinghai Lu

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.1.10.0808301012060.3290@nehalem.linux-foundation.org \
    --to=torvalds@linux-foundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=dawitbro@sbcglobal.net \
    --cc=htejun@gmail.com \
    --cc=jeff@garzik.org \
    --cc=kernel-testers@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rjw@sisk.pl \
    --cc=yhlu.kernel@gmail.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