From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 1ED1BB7B70 for ; Tue, 22 Sep 2009 20:13:52 +1000 (EST) Subject: Re: [PATCH] Re: [405EX] Bad page map in process ... From: Benjamin Herrenschmidt To: "Weirich, Bernhard" In-Reply-To: <1253614035.7103.223.camel@pasglop> References: <1253614035.7103.223.camel@pasglop> Content-Type: text/plain Date: Tue, 22 Sep 2009 20:13:46 +1000 Message-Id: <1253614427.7103.225.camel@pasglop> Mime-Version: 1.0 Cc: "linuxppc-dev@lists.ozlabs.org" List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Tue, 2009-09-22 at 20:07 +1000, Benjamin Herrenschmidt wrote: > On Tue, 2009-09-22 at 11:29 +0200, Weirich, Bernhard wrote: > > Hello, > > > > I found the cause of the problem. > > My architecture does not define the _PAGE_SPECIAL macro, thus in pte-common.h line 32, it is defined as 0 > > And then in line 180, since _PAGE_SPECIAL is defined, the macro __HAVE_ARCH_PTE_SPECIAL is erroneously defined. > > This makes any ppc architecture to act as if it has a pte special bit! > > I suggest the following simple patch to fix this. > > Thank ! That looks indeed like a bug. > > Note that with 2.6.32, we should be able to use 0x20 as _PAGE_SPECIAL on > 40x which would improve performances in some areas. I had a quick look at it seems like 2.6.30 also has that bit free. In fact, 8xx also appears to have a few bits free. Maybe we should just define _PAGE_SPECIAL for all the "missing" processor types (I think that's really the only 2 ones) and remove the condition around #define __HAVE_ARCH_PTE_SPECIAL Care to send a patch ? :-) Cheers, Ben. > Cheers, > Ben. > > > Bernhard WEIRICH > > Software Development > > > > > > Signed-off-by: Bernhard Weirich > > --- linux/arch/powerpc/include/asm/pte-common.h 2009-09-16 11:23:44.000000000 +0200 > > +++ linux/arch/powerpc/include/asm/pte-common.h 2009-09-22 11:13:08.000000000 +0200 > > @@ -176,7 +176,7 @@ > > #define HAVE_PAGE_AGP > > > > /* Advertise support for _PAGE_SPECIAL */ > > -#ifdef _PAGE_SPECIAL > > +#if _PAGE_SPECIAL != 0 > > #define __HAVE_ARCH_PTE_SPECIAL > > #endif > > > > _______________________________________________ > > Linuxppc-dev mailing list > > Linuxppc-dev@lists.ozlabs.org > > https://lists.ozlabs.org/listinfo/linuxppc-dev