Re: [PATCH] Revert fixrange_init() limiting to the FIXMAP region.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.

[Linux MIPS Home]     [LKML Archive]     [Linux ARM]     [Linux]     [Git]     [Photo]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

Add to Google Powered by Linux