lkml.org 
[lkml]   [2008]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Breakage caused by unreviewed patch in x86 tree
On Sun, 27 Apr 2008 16:51:25 -0400
James Bottomley <James.Bottomley@HansenPartnership.com> wrote:

> This patch:
>
> commit 6371b495991debfd1417b17c2bc4f7d7bae05739
> Author: Ingo Molnar <mingo@elte.hu>
> Date: Wed Jan 30 13:33:40 2008 +0100
>
> x86: change ioremap() to default to uncached
>
> As far as I can tell went blindly into the x86 tree without being
> shared on any mailing list at all. How can something that completely
> alters the semantics of ioremap on x86 platforms go in without any
> review.

it changed from "whatever coinflip you got" to "predictable outcome".
What you got before was uncached (most of the time), or if the bios was
creative, write combining. Or if the bios was broken in how it set up MTRR's, you could suddenly
get "cached".

When you're mapping device memory, uncached is the safe default.

With the switch to PAT (and phasing out of MTRR), the kernel needs to pick one of the three
(cached, writecombining, uncached) since you can no longer really depend on MTRRs saving
your bacon there.
Drivers in general, with VERY few exceptions, want uncached. Any other choice would have been deadly...

I'd like to ask you which one you would pick... you maintain a whole bunch of drivers as scsi maintainer, what would
you have picked?
The answer "whatever the MTRR set up" no longer holds ;(

>
> I might add that the intel
> SAPIC functions in roughly the same manner, so this might break more
> than just voyager.

Apics are uncached...


--
If you want to reach me at my work email, use arjan@linux.intel.com
For development, discussion and tips for power savings,
visit http://www.lesswatts.org


\
 
 \ /
  Last update: 2008-04-28 01:01    [W:0.257 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site