Yes, MIPS HIGHMEM patch for cache aliasing systems (published today) works beyond PKMAP region - extended kmap_atomic. - Leonid. On Apr 9, 2012, at 8:58 PM, "Kevin Cernekee" <cernekee@xxxxxxxxx> wrote: > On Mon, Apr 9, 2012 at 7:59 PM, Yegoshin, Leonid <yegoshin@xxxxxxxx> wrote: >> Sorry, it was a couple of months ago while I worked on HIGHMEM with cache aliasing. I got a soak test failure and rollback of this patch helped. > > Is it possible that HIGHMEM / kmap was using pages above the PKMAP > range, and the bug was masked by re-enabling the old behavior (create > PMDs all the way up to the top of the virtual address space)? > >> Besides that it is clearly wrong to add unmodified memory area length to aligned start address of that memory. It seems easy to fix but I hadn't time. > > On the pre-464fd83e implementation, that would have been a problem > because of the "vaddr != end" terminating condition. > > On the post-464fd83e implementation, it should be fine because we are > checking for "vaddr < end" instead. This means we should get just > enough PMDs to cover the requested range. > > I just checked one of my systems and it is calling > fixrange_init(0xff000000, 0xff039000, pgd_base). This creates a > single PMD covering a 4MB range, as expected.