Re: [PATCH/RFC] Shared page tables

Martin Bligh
2006-01-27T18:16:09Z

Andi Kleen wrote:
> On Tuesday 24 January 2006 08:06, Arjan van de Ven wrote:
>
>>>The randomization is not for cache coloring, but for security purposes
>>>(except for the old very small stack randomization that was used
>>>to avoid conflicts on HyperThreaded CPUs). I would be surprised if the
>>>mmap made much difference because it's page aligned and at least
>>>on x86 the L2 and larger caches are usually PI.
>>
>>randomization to a large degree is more important between machines than
>>within the same machine (except for setuid stuff but lets call that a
>>special category for now). Imo prelink is one of the better bets to get
>>"all code for a binary/lib on the same 2 mb page",
>
>
> Probably yes.
>
>
>>all distros ship
>>prelink nowadays anyway
>
>
> SUSE doesn't use it.
>
>
>>(it's too much of a win that nobody can afford
>>to not ship it ;)
>
>
> KDE and some other people disagree on that.
>
>
>>and within prelink the balance between randomization
>>for security and 2Mb sharing can be struck best. In fact it needs know
>>about the 2Mb thing anyway to place it there properly and for all
>>binaries... the kernel just can't do that.
>
>
> Well, we first have to figure out if the shared page tables
> are really worth all the ugly code, nasty locking and other problems
> (inefficient TLB flush etc.) I personally would prefer
> to make large pages work better before going down that path.

That needs defragmentation, etc, etc. etc. It also requires changes to
userspace apps. Large pages are crippled right now, and it looks like
they're going to stay that way. We need some sort of solution, and this
is pretty clean and transparent, by comparison.

m.