login
Header Space

 
 

Re: [patch] x86, voyager: fix ioremap_nocache()

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Arjan van de Ven <arjan@...>
Cc: David Miller <davem@...>, <jeff@...>, <mingo@...>, <tglx@...>, <linux-kernel@...>, <hpa@...>, <torvalds@...>
Date: Wednesday, April 30, 2008 - 5:44 pm

On Sun, 2008-04-27 at 16:01 -0700, Arjan van de Ven wrote:

OK, but look; this is why you broke me.

The former meaning of ioremap() was give me whatever caching the mtrrs
set up (assuming you actually have mtrrs.  For voyager, we don't so it
always meant give me cached memory).

The change broke the QIC ioremap area because it absolutely *requires*
cached memory.   It drops performance on the Q720 SCSI cards because
caching was used essentially like write combining to reduce the
unbursted traffic across the MCA bus.

When the Voyagers were designed, the only way to get them better
performace with the slow bus technology was to do a massive amount of
caching, so they're optimised to the point where every element on the
voyager bus (sort of like the intel frontside bus) is a primary
participant in the caching algorithm, and this includes the MCA
controllers.  So for me, I want every invocation of ioremap to mean
ioremap_cached() otherwise I don't benefit from the added caches.

I can fully understand that bus technology has got worse in terms of
caching since the voyager heydays.  However, I'd rather not be penalised
for everyone else's hardware failings.  Since the old ioremap is only
used in the IORESOURCE_CACHABLE case for PCI, and since that used to
defer to the mtrr settings anyway, it probably does make sense to keep
it as ioremap_cache() as long as that still defers to the mtrr settings.

I suppose I could think about an ioremap platform override for voyager
since, by and large, ioremap_nocache() is the wrong thing on the
platform.

James


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Breakage caused by unreviewed patch in x86 tree, James Bottomley, (Sun Apr 27, 4:51 pm)
Re: Breakage caused by unreviewed patch in x86 tree, Arjan van de Ven, (Sun Apr 27, 6:58 pm)
Re: Breakage caused by unreviewed patch in x86 tree, James Bottomley, (Sun Apr 27, 7:03 pm)
Re: Breakage caused by unreviewed patch in x86 tree, H. Peter Anvin, (Sun Apr 27, 7:17 pm)
Re: Breakage caused by unreviewed patch in x86 tree, Arjan van de Ven, (Sun Apr 27, 7:11 pm)
Re: Breakage caused by unreviewed patch in x86 tree, David Miller, (Sun Apr 27, 7:00 pm)
Re: Breakage caused by unreviewed patch in x86 tree, Arjan van de Ven, (Sun Apr 27, 7:07 pm)
Re: Breakage caused by unreviewed patch in x86 tree, H. Peter Anvin, (Sun Apr 27, 6:00 pm)
Re: Breakage caused by unreviewed patch in x86 tree, James Bottomley, (Sun Apr 27, 6:10 pm)
Re: Breakage caused by unreviewed patch in x86 tree, H. Peter Anvin, (Sun Apr 27, 6:13 pm)
Re: Breakage caused by unreviewed patch in x86 tree, James Bottomley, (Sun Apr 27, 6:18 pm)
Re: Breakage caused by unreviewed patch in x86 tree, H. Peter Anvin, (Sun Apr 27, 6:31 pm)
[patch] x86, voyager: fix ioremap_nocache(), Ingo Molnar, (Sun Apr 27, 5:48 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), James Bottomley, (Sun Apr 27, 6:34 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Jeff Garzik, (Sun Apr 27, 6:39 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Arjan van de Ven, (Mon Apr 28, 10:10 am)
Re: [patch] x86, voyager: fix ioremap_nocache(), James Bottomley, (Mon Apr 28, 10:29 am)
Re: [patch] x86, voyager: fix ioremap_nocache(), Arjan van de Ven, (Mon Apr 28, 11:07 am)
Re: [patch] x86, voyager: fix ioremap_nocache(), H. Peter Anvin, (Mon Apr 28, 3:59 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Thomas Gleixner, (Sun Apr 27, 7:01 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), David Miller, (Sun Apr 27, 6:46 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Arjan van de Ven, (Sun Apr 27, 7:01 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), James Bottomley, (Wed Apr 30, 5:44 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), H. Peter Anvin, (Wed Apr 30, 6:39 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Jeff Garzik, (Sun Apr 27, 6:53 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), H. Peter Anvin, (Sun Apr 27, 6:56 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Jeff Garzik, (Sun Apr 27, 7:02 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Arjan van de Ven, (Sun Apr 27, 7:14 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), David Miller, (Sun Apr 27, 6:59 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), H. Peter Anvin, (Sun Apr 27, 6:52 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Jeff Garzik, (Sun Apr 27, 7:34 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), H. Peter Anvin, (Sun Apr 27, 7:39 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), David Miller, (Sun Apr 27, 6:58 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), H. Peter Anvin, (Sun Apr 27, 7:04 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Eric W. Biederman, (Wed Apr 30, 4:35 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), H. Peter Anvin, (Sun Apr 27, 6:44 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), James Bottomley, (Sun Apr 27, 6:05 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Ingo Molnar, (Sun Apr 27, 7:18 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Christoph Hellwig, (Mon Apr 28, 2:10 am)
Re: [patch] x86, voyager: fix ioremap_nocache(), H. Peter Anvin, (Mon Apr 28, 12:55 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), David Miller, (Sun Apr 27, 7:31 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Alan Cox, (Mon Apr 28, 5:01 am)
Re: [patch] x86, voyager: fix ioremap_nocache(), David Miller, (Mon Apr 28, 5:17 am)
Re: [patch] x86, voyager: fix ioremap_nocache(), Ingo Molnar, (Mon Apr 28, 7:50 am)
Re: [patch] x86, voyager: fix ioremap_nocache(), Adrian Bunk, (Mon Apr 28, 5:48 am)
Re: [patch] x86, voyager: fix ioremap_nocache(), Rik van Riel, (Sun Apr 27, 8:31 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Al Viro, (Sun Apr 27, 8:45 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), H. Peter Anvin, (Sun Apr 27, 8:52 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Ingo Molnar, (Sun Apr 27, 6:41 pm)
Re: [patch] x86, voyager: fix ioremap_nocache(), Willy Tarreau, (Sun Apr 27, 6:36 pm)
Re: Breakage caused by unreviewed patch in x86 tree, David Miller, (Sun Apr 27, 4:53 pm)
speck-geostationary