[lkml]   [2008]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    SubjectRe: [git pull] x86 PAT changes

    * Linus Torvalds <> 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


    Subject: x86 PAT: decouple from nonpromisc devmem
    From: Ingo Molnar <>
    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 <>
    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
    Use PAT attributes to setup page level cache control.

     \ /
      Last update: 2008-04-26 10:59    [W:0.046 / U:4.496 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site