RE: [patch 2/4] x86: PAT followup - Remove KERNPG_TABLE from pte entry

Pallipadi, Venkatesh
2008-01-16T18:17:26Z

>-----Original Message-----
>From: Mika Penttilä [mailto:mika.penttila@kolumbus.fi]
>Sent: Wednesday, January 16, 2008 12:14 AM
>To: Pallipadi, Venkatesh
>Cc: ak@muc.de; ebiederm@xmission.com; rdreier@cisco.com;
>torvalds@linux-foundation.org; gregkh@suse.de;
>airlied@skynet.ie; davej@redhat.com; mingo@elte.hu;
>tglx@linutronix.de; hpa@zytor.com; akpm@linux-foundation.org;
>arjan@infradead.org; Barnes, Jesse; davem@davemloft.net;
>linux-kernel@vger.kernel.org; Siddha, Suresh B
>Subject: Re: [patch 2/4] x86: PAT followup - Remove
>KERNPG_TABLE from pte entry
>
>venkatesh.pallipadi@intel.com kirjoitti:
>> KERNPG_TABLE was a bug in earlier patch. Remove it from pte.
>> pte_val() check is redundant as this routine is called
>immediately after a
>> ptepage is allocated afresh.
>>
>> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
>> Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
>>
>> Index: linux-2.6.git/arch/x86/mm/init_64.c
>> ===================================================================
>> --- linux-2.6.git.orig/arch/x86/mm/init_64.c 2008-01-15
>11:02:23.000000000 -0800
>> +++ linux-2.6.git/arch/x86/mm/init_64.c 2008-01-15
>11:06:37.000000000 -0800
>> @@ -541,9 +541,6 @@
>> if (address >= end)
>> break;
>>
>> - if (pte_val(*pte))
>> - continue;
>> -
>> /* Nothing to map. Map the null page */
>> if (!(address & (~PAGE_MASK)) &&
>> (address + PAGE_SIZE <= end) &&
>> @@ -561,9 +558,9 @@
>> }
>>
>> if (exec)
>> - entry =
>_PAGE_NX|_KERNPG_TABLE|_PAGE_GLOBAL|address;
>> + entry = _PAGE_NX|_PAGE_GLOBAL|address;
>> else
>> - entry = _KERNPG_TABLE|_PAGE_GLOBAL|address;
>> + entry = _PAGE_GLOBAL|address;
>> entry &= __supported_pte_mask;
>> set_pte(pte, __pte(entry));
>> }
>>
>>
>
>Hmm then what's the point of mapping not present 4k pages for
>valid mem
>here?
>

My bad... Thanks for the catch.
I had to replace KERNPG_TABLE by PAGE_KERNEL here.

Thanks,
Venki