Re: [GIT PULL] x86/uapi for 3.8

From: H. Peter Anvin
Date: Mon Dec 17 2012 - 12:15:54 EST


On 12/17/2012 09:03 AM, Jan Beulich wrote:
>>>> On 17.12.12 at 17:39, "H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx> wrote:
>> Right, I think you nailed this one. This patch copies PTEs from the
>> kernel PTEs and thus they will have the global bit set. It obviously
>> makes no sense to *copy* PTEs from the kernel and yet leaving the global
>> bit set, which means there are two ways of fixing it: either sharing
>> page tables and use the cr4.pge off/on trick that Jan mentioned -- this
>> would also be my preference -- and the other is to copy the PTEs but
>> strip the global bit, which has the advantage that the actual kernel
>> mappings will survive.
>
> PTE copying is only one half of it. I think additionally L4 entries
> get copied for the 1:1 mapping, and you can't strip the global
> bits there without allocating separate page tables.
>

The point right now is that it *does* allocate separate page tables, but
doesn't take advantage of it. What I say is I think we should take the
flush for the advantage of sharing page tables. If we are allocating
new page tables then we should of course make them non-global.

Do we know how often this gets called? I presume the most common case
is when we have an EFI RTC? Unless there is a use case where this
happens a lot sharing seems much easier...

-hpa


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/