linux-mips
[Top] [All Lists]

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

To: Kevin Cernekee <cernekee@gmail.com>
Subject: Re: [PATCH] Revert fixrange_init() limiting to the FIXMAP region.
From: "Yegoshin, Leonid" <yegoshin@mips.com>
Date: Tue, 10 Apr 2012 04:36:32 +0000
Accept-language: en-US
Cc: "Hill, Steven" <sjhill@mips.com>, "linux-mips@linux-mips.org" <linux-mips@linux-mips.org>, "ralf@linux-mips.org" <ralf@linux-mips.org>
In-reply-to: <CAJiQ=7Dm0JBzxbL_ueZvvLWAQZPMY_swy0icVj_od95t3V3VOQ@mail.gmail.com>
References: <1333988075-1289-1-git-send-email-sjhill@mips.com> <CAJiQ=7A-Bmn9ULb3+YXaXgYTKiHZm1Dbsd-NQBjeL0TLjKAafQ@mail.gmail.com> <3cvb8sm16wfjrw35b2tyxnfu.1334026758779@email.android.com>,<CAJiQ=7Dm0JBzxbL_ueZvvLWAQZPMY_swy0icVj_od95t3V3VOQ@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org
Thread-index: AQHNFmvjyxzTeoUc7kiyOTfHHJfdRZaT0n6A//+Mh9eAAIXyAP//lTTZ
Thread-topic: [PATCH] Revert fixrange_init() limiting to the FIXMAP region.
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@gmail.com> wrote:

> On Mon, Apr 9, 2012 at 7:59 PM, Yegoshin, Leonid <yegoshin@mips.com> 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.

<Prev in Thread] Current Thread [Next in Thread>