On Fri, May 04, 2007 at 12:57:03PM +0200, Franck Bui-Huu wrote: > From: Franck Bui-Huu <fbuihuu@xxxxxxxxx> > > Since both kernel and process page tables are never allocated in > highmem these 2 macros were doing unnecessary extra works for getting > a pte from a pmd. > > This patch also clean up pte allocation functions by passing > __GFP_ZERO to alloc_pages() and by removing a useless local variable. > > With this patch the size of the kernel is slighly reduced. These hook allows general mapping of pagetables, not just highmem. On MIPS that's useful because fancy mapping stuff allows a faster implementation of TLB exception handlers. That was more or less the official strategy for the R2000. Then the R4000 came and broke this scheme with virtual aliases which was hard to fix back then so I had to switch to the current pagetable and TLB reload mechanism. If you care about the details, take a look at Linux/MIPS 2.1.1. The fact that getting this to work again would also allow putting pagetables into highmem at virtually no extra effort is a nice side effect, of course. Ralf