lkml.org 
[lkml]   [2008]   [Apr]   [26]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateSat, 26 Apr 2008 10:56:00 +0200
FromIngo Molnar <>
SubjectRe: [git pull] x86 PAT changes
* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Fri, 25 Apr 2008, H. Peter Anvin wrote:
> > 
> > The problem is that that can create cached/uncached aliases, which 
> > can cause some processors to lock up (especially AMD is known to 
> > have a lot of errata in this area.)
> 
> Umm.. I don't think you understand. Right now, NONPROMISC_DEVMEM 
> doesn't just disable mmap() on /dev/mem, it disables totally regular 
> reads and writes too. That seems pretty damn excessive.
> 
> If it was just mmap(), I don't think it would matter much. I don't 
> think we traditionally even supported mmap() on real RAM (because the 
> page counting would get confused), and that actually got supported 
> only thanks to VM changes that made it possible.
> 
> But read/write has always been supported, and shouldn't cause any 
> cached/uncached aliases!

You are right, there should be no architectural need to make PAT 
dependent on nonpromisc-devmem, and thus the patch below should be safe.

In theory even mmap() of /dev/mem should be safe this way - as all 
memtypes are properly tracked.

The thinking behind this dependency was three-fold:

- historic: from the days when the PAT patchset didnt do fully correct 
  tracking yet

- practical: that PAT would be utilized in newer distros on newer 
  systems - with older distros on older systems not really wanting 
  (or needing) neither /dev/mem restrictions nor PAT

- paranoia: one less degree of freedom to take into account

	Ingo

----------------------->
Subject: x86 PAT: decouple from nonpromisc devmem
From: Ingo Molnar <mingo@elte.hu>
Date: Sat Apr 26 10:26:52 CEST 2008
Linus pointed it out that PAT should not depend on NONPROMISC_DEVMEM.

Also make PAT non-default.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 arch/x86/Kconfig |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Index: linux-x86.q/arch/x86/Kconfig
===================================================================
--- linux-x86.q.orig/arch/x86/Kconfig
+++ linux-x86.q/arch/x86/Kconfig
@@ -1042,9 +1042,9 @@ config MTRR
 	  See <file:Documentation/mtrr.txt> for more information.
 
 config X86_PAT
-	def_bool y
+	bool
 	prompt "x86 PAT support"
-	depends on MTRR && NONPROMISC_DEVMEM
+	depends on MTRR
 	help
 	  Use PAT attributes to setup page level cache control.
 

\
 
 \ /
  Last update: 2008-04-26 10:59    [from the cache]
©2003-2008