public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* regression fixed by using pci=rom
@ 2008-05-08 23:54 Dave Airlie
  2008-05-09  0:17 ` Jesse Barnes
  2008-05-09  1:36 ` Linus Torvalds
  0 siblings, 2 replies; 10+ messages in thread
From: Dave Airlie @ 2008-05-08 23:54 UTC (permalink / raw)
  To: kernel list, Gary Hade, Jesse Barnes, Linus Torvalds

A user just reported this bug

http://bugs.freedesktop.org/show_bug.cgi?id=15523

He says using pci=rom fixes the regression, do we truly have to start
booting machines with this, sucks to be a distro..

Dave.

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

* Re: regression fixed by using pci=rom
  2008-05-08 23:54 regression fixed by using pci=rom Dave Airlie
@ 2008-05-09  0:17 ` Jesse Barnes
  2008-05-09  1:46   ` Linus Torvalds
  2008-05-09  1:36 ` Linus Torvalds
  1 sibling, 1 reply; 10+ messages in thread
From: Jesse Barnes @ 2008-05-09  0:17 UTC (permalink / raw)
  To: Dave Airlie; +Cc: kernel list, Gary Hade, Linus Torvalds

On Thursday, May 08, 2008 4:54 pm Dave Airlie wrote:
> A user just reported this bug
>
> http://bugs.freedesktop.org/show_bug.cgi?id=15523
>
> He says using pci=rom fixes the regression, do we truly have to start
> booting machines with this, sucks to be a distro..

Hm, yeah in many cases we definitely *do* want to try to get the expansion ROM 
space allocated.  But maybe it should be a lower priority than other BARs...  
Gary?

Thanks,
Jesse

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

* Re: regression fixed by using pci=rom
  2008-05-08 23:54 regression fixed by using pci=rom Dave Airlie
  2008-05-09  0:17 ` Jesse Barnes
@ 2008-05-09  1:36 ` Linus Torvalds
  1 sibling, 0 replies; 10+ messages in thread
From: Linus Torvalds @ 2008-05-09  1:36 UTC (permalink / raw)
  To: Dave Airlie; +Cc: kernel list, Gary Hade, Jesse Barnes



On Fri, 9 May 2008, Dave Airlie wrote:
>
> A user just reported this bug
> 
> http://bugs.freedesktop.org/show_bug.cgi?id=15523
> 
> He says using pci=rom fixes the regression, do we truly have to start
> booting machines with this, sucks to be a distro..

Yeah, that commit he bisected to is bogus crap.

I'll revert it.

		Linus

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

* Re: regression fixed by using pci=rom
  2008-05-09  0:17 ` Jesse Barnes
@ 2008-05-09  1:46   ` Linus Torvalds
  2008-05-09  6:29     ` Jesse Barnes
  2008-05-09  6:44     ` Ingo Molnar
  0 siblings, 2 replies; 10+ messages in thread
From: Linus Torvalds @ 2008-05-09  1:46 UTC (permalink / raw)
  To: Jesse Barnes
  Cc: Dave Airlie, kernel list, Gary Hade, Ingo Molnar, Thomas Gleixner



On Thu, 8 May 2008, Jesse Barnes wrote:
> 
> Hm, yeah in many cases we definitely *do* want to try to get the expansion ROM 
> space allocated.  But maybe it should be a lower priority than other BARs...  
> Gary?

The thing is, a lot of these things have been done this way because not 
doing them that way breaks.

We want to allocate expansion ROM space - even if we don't enable it - 
because not doing so will screw up bus sizing etc, and can make it 
impossible to allocate later.

In general, changing PCI allocation strategy is really _really_ dangerous, 
even when it is "right", because it tends to expose a lot of issues where 
something worked just because it was perhaps indirectly causing a layout 
that worked.

So the reason I immediately reverted this is that it was simply totally 
wrong. If somebody cares about multi-node systems, the onus of making 
those work should be on *that*, not on old systems that already work.

Ingo, Thomas: I would _seriously_ suggest that you don't consider the x86 
PCI setup code to be "x86" code. Because it isn't. Not in that sense. Just 
don't take patches to it.

		Linus

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

* Re: regression fixed by using pci=rom
  2008-05-09  1:46   ` Linus Torvalds
@ 2008-05-09  6:29     ` Jesse Barnes
  2008-05-09 16:05       ` Gary Hade
  2008-05-09  6:44     ` Ingo Molnar
  1 sibling, 1 reply; 10+ messages in thread
From: Jesse Barnes @ 2008-05-09  6:29 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Dave Airlie, kernel list, Gary Hade, Ingo Molnar, Thomas Gleixner

On Thursday, May 08, 2008 6:46 pm Linus Torvalds wrote:
> On Thu, 8 May 2008, Jesse Barnes wrote:
> > Hm, yeah in many cases we definitely *do* want to try to get the
> > expansion ROM space allocated.  But maybe it should be a lower priority
> > than other BARs... Gary?
>
> The thing is, a lot of these things have been done this way because not
> doing them that way breaks.
>
> We want to allocate expansion ROM space - even if we don't enable it -
> because not doing so will screw up bus sizing etc, and can make it
> impossible to allocate later.
>
> In general, changing PCI allocation strategy is really _really_ dangerous,
> even when it is "right", because it tends to expose a lot of issues where
> something worked just because it was perhaps indirectly causing a layout
> that worked.

Yeah, that was my first impression too, but the patch went upstream awhile ago 
and I didn't see any background except for the changelog.

If anything, we should have a pci=norom option instead, so that big systems 
that don't need the ROMs can use their address space more efficiently.

Jesse

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

* Re: regression fixed by using pci=rom
  2008-05-09  1:46   ` Linus Torvalds
  2008-05-09  6:29     ` Jesse Barnes
@ 2008-05-09  6:44     ` Ingo Molnar
  2008-05-09 16:45       ` Gary Hade
  1 sibling, 1 reply; 10+ messages in thread
From: Ingo Molnar @ 2008-05-09  6:44 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Jesse Barnes, Dave Airlie, kernel list, Gary Hade,
	Thomas Gleixner


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Thu, 8 May 2008, Jesse Barnes wrote:
> > 
> > Hm, yeah in many cases we definitely *do* want to try to get the 
> > expansion ROM space allocated.  But maybe it should be a lower 
> > priority than other BARs...  Gary?
> 
> The thing is, a lot of these things have been done this way because 
> not doing them that way breaks.
> 
> We want to allocate expansion ROM space - even if we don't enable it - 
> because not doing so will screw up bus sizing etc, and can make it 
> impossible to allocate later.
> 
> In general, changing PCI allocation strategy is really _really_ 
> dangerous, even when it is "right", because it tends to expose a lot 
> of issues where something worked just because it was perhaps 
> indirectly causing a layout that worked.

i tend to believe that the best strategy would be to generally do what 
other OSs do for PCI BAR sizing and PCI resource setup [on desktop 
systems that would be Windows in particular] - and i believe there are 
still a number of gratuitous-looking differences in our code that seem 
unnecessary. Especially on the myriads of desktop systems Windows is 
what gets tested primarily, and by deviating from that legacy layout we 
just set up ourselves for unnecessary failures.

To Linux the primary interest is in devices not failing due to 
unexpected layout and them not overlapping any magic areas - good 
resource compression is something that larger systems can opt-in into 
anyway if it's really needed. In that sense this commit that came 
through us failed that strict benchmark :-/

> So the reason I immediately reverted this is that it was simply 
> totally wrong. If somebody cares about multi-node systems, the onus of 
> making those work should be on *that*, not on old systems that already 
> work.
> 
> Ingo, Thomas: I would _seriously_ suggest that you don't consider the 
> x86 PCI setup code to be "x86" code. Because it isn't. Not in that 
> sense. Just don't take patches to it.

yeah, we stopped doing that in this window (the commits you got form us 
in this window were all leftovers and acked by Jesse) - and we've 
already bounced over all PCI-looking patches to Jesse and asked Jesse 
about all PCI affecting pulls as well in this window. Even this window's 
leftovers we made separate topics and sent separate pull requests for 
them (all tested and acked by Jesse) because it's not really arch/x86 
and PCI commits just need to be considered separately from all other 
changes.

	Ingo

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

* Re: regression fixed by using pci=rom
  2008-05-09  6:29     ` Jesse Barnes
@ 2008-05-09 16:05       ` Gary Hade
  0 siblings, 0 replies; 10+ messages in thread
From: Gary Hade @ 2008-05-09 16:05 UTC (permalink / raw)
  To: Jesse Barnes
  Cc: Linus Torvalds, Dave Airlie, kernel list, Gary Hade, Ingo Molnar,
	Thomas Gleixner

On Thu, May 08, 2008 at 11:29:39PM -0700, Jesse Barnes wrote:
> On Thursday, May 08, 2008 6:46 pm Linus Torvalds wrote:
> > On Thu, 8 May 2008, Jesse Barnes wrote:
> > > Hm, yeah in many cases we definitely *do* want to try to get the
> > > expansion ROM space allocated.  But maybe it should be a lower priority
> > > than other BARs... Gary?
> >
> > The thing is, a lot of these things have been done this way because not
> > doing them that way breaks.
> >
> > We want to allocate expansion ROM space - even if we don't enable it -
> > because not doing so will screw up bus sizing etc, and can make it
> > impossible to allocate later.
> >
> > In general, changing PCI allocation strategy is really _really_ dangerous,
> > even when it is "right", because it tends to expose a lot of issues where
> > something worked just because it was perhaps indirectly causing a layout
> > that worked.
> 
> Yeah, that was my first impression too, but the patch went upstream awhile ago 
> and I didn't see any background except for the changelog.
> 
> If anything, we should have a pci=norom option instead, so that big systems 
> that don't need the ROMs can use their address space more efficiently.

This is actually the solution I was going to suggest.  I will 
work on it.

Gary

-- 
Gary Hade
System x Enablement
IBM Linux Technology Center
503-578-4503  IBM T/L: 775-4503
garyhade@us.ibm.com
http://www.ibm.com/linux/ltc

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

* Re: regression fixed by using pci=rom
  2008-05-09  6:44     ` Ingo Molnar
@ 2008-05-09 16:45       ` Gary Hade
  2008-05-09 17:26         ` Linus Torvalds
  0 siblings, 1 reply; 10+ messages in thread
From: Gary Hade @ 2008-05-09 16:45 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linus Torvalds, Jesse Barnes, Dave Airlie, kernel list, Gary Hade,
	Thomas Gleixner

On Fri, May 09, 2008 at 08:44:03AM +0200, Ingo Molnar wrote:
> 
> * Linus Torvalds <torvalds@linux-foundation.org> wrote:
> 
> > On Thu, 8 May 2008, Jesse Barnes wrote:
> > > 
> > > Hm, yeah in many cases we definitely *do* want to try to get the 
> > > expansion ROM space allocated.  But maybe it should be a lower 
> > > priority than other BARs...  Gary?
> > 
> > The thing is, a lot of these things have been done this way because 
> > not doing them that way breaks.
> > 
> > We want to allocate expansion ROM space - even if we don't enable it - 
> > because not doing so will screw up bus sizing etc, and can make it 
> > impossible to allocate later.
> > 
> > In general, changing PCI allocation strategy is really _really_ 
> > dangerous, even when it is "right", because it tends to expose a lot 
> > of issues where something worked just because it was perhaps 
> > indirectly causing a layout that worked.
> 
> i tend to believe that the best strategy would be to generally do what 
> other OSs do for PCI BAR sizing and PCI resource setup [on desktop 
> systems that would be Windows in particular] - and i believe there are 
> still a number of gratuitous-looking differences in our code that seem 
> unnecessary. Especially on the myriads of desktop systems Windows is 
> what gets tested primarily, and by deviating from that legacy layout we 
> just set up ourselves for unnecessary failures.

Ingo, Would you (or others listening to this discussion) know
exactly what Windows does with respect to BIOS unassigned
expansion ROMs?  Does Windows attempt to obtain space for the
expansion ROMs at boot-time or does it perhaps have some sort
of strategy where space is allocated on an "as needed" basis
at run-time?

Gary

-- 
Gary Hade
System x Enablement
IBM Linux Technology Center
503-578-4503  IBM T/L: 775-4503
garyhade@us.ibm.com
http://www.ibm.com/linux/ltc

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

* Re: regression fixed by using pci=rom
  2008-05-09 16:45       ` Gary Hade
@ 2008-05-09 17:26         ` Linus Torvalds
  2008-05-09 18:54           ` Gary Hade
  0 siblings, 1 reply; 10+ messages in thread
From: Linus Torvalds @ 2008-05-09 17:26 UTC (permalink / raw)
  To: Gary Hade
  Cc: Ingo Molnar, Jesse Barnes, Dave Airlie, kernel list,
	Thomas Gleixner



On Fri, 9 May 2008, Gary Hade wrote:
> 
> Ingo, Would you (or others listening to this discussion) know
> exactly what Windows does with respect to BIOS unassigned
> expansion ROMs?

Nobody really seems to know what windows does for *any* resources. And it 
probably depends on windows version too, and on detailed chipset issues 
(ie does Windows do the same thing as Linux wrt transparent bridges that 
still have bus translation resources set up?).

So the "try to do what Windows does" is something we strive for in 
particular cases, but it's not an absolute thing, and probably can never 
even be that in theory. It's more a guideline, especially when we don't 
know which particular choice is better and both seem otherwise equally 
good.

But "doesn't work" always trumps "that's what windows does". Because even 
if something works under Windows, sometimes Linux drivers simply then act 
differently (ie they may use PIO vs MMIO, or in the case of graphics they 
may need ROMs for re-POST'ing while a windows driver is written by the 
chipset vendor and DTRT without even looking at the BIOS tables)

			Linus

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

* Re: regression fixed by using pci=rom
  2008-05-09 17:26         ` Linus Torvalds
@ 2008-05-09 18:54           ` Gary Hade
  0 siblings, 0 replies; 10+ messages in thread
From: Gary Hade @ 2008-05-09 18:54 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Gary Hade, Ingo Molnar, Jesse Barnes, Dave Airlie, kernel list,
	Thomas Gleixner

On Fri, May 09, 2008 at 10:26:47AM -0700, Linus Torvalds wrote:
> 
> 
> On Fri, 9 May 2008, Gary Hade wrote:
> > 
> > Ingo, Would you (or others listening to this discussion) know
> > exactly what Windows does with respect to BIOS unassigned
> > expansion ROMs?
> 
> Nobody really seems to know what windows does for *any* resources. And it 
> probably depends on windows version too, and on detailed chipset issues 
> (ie does Windows do the same thing as Linux wrt transparent bridges that 
> still have bus translation resources set up?).
> 
> So the "try to do what Windows does" is something we strive for in 
> particular cases, but it's not an absolute thing, and probably can never 
> even be that in theory. It's more a guideline, especially when we don't 
> know which particular choice is better and both seem otherwise equally 
> good.
> 
> But "doesn't work" always trumps "that's what windows does". Because even 
> if something works under Windows, sometimes Linux drivers simply then act 
> differently (ie they may use PIO vs MMIO, or in the case of graphics they 
> may need ROMs for re-POST'ing while a windows driver is written by the 
> chipset vendor and DTRT without even looking at the BIOS tables)

Yea, this is probably a good explanation of why Windows does run,
presumably without PCI resource allocation issues, on those same
systems where we have struggling with the expansion ROM resource
allocation failures from Linux.

Thanks.

Gary

-- 
Gary Hade
System x Enablement
IBM Linux Technology Center
503-578-4503  IBM T/L: 775-4503
garyhade@us.ibm.com
http://www.ibm.com/linux/ltc


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

end of thread, other threads:[~2008-05-09 18:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-08 23:54 regression fixed by using pci=rom Dave Airlie
2008-05-09  0:17 ` Jesse Barnes
2008-05-09  1:46   ` Linus Torvalds
2008-05-09  6:29     ` Jesse Barnes
2008-05-09 16:05       ` Gary Hade
2008-05-09  6:44     ` Ingo Molnar
2008-05-09 16:45       ` Gary Hade
2008-05-09 17:26         ` Linus Torvalds
2008-05-09 18:54           ` Gary Hade
2008-05-09  1:36 ` Linus Torvalds

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox