Re: [PATCH RFC] mm: add MAP_EXCLUSIVE to create exclusive user mappings

From: Dave Hansen
Date: Wed Oct 30 2019 - 13:58:52 EST


On 10/30/19 10:48 AM, Edgecombe, Rick P wrote:
> On Wed, 2019-10-30 at 11:04 +0100, Peter Zijlstra wrote:
>>> You mean shatter performance?
>>
>> Shatter (all) large pages.
>
> So it looks like this is already happening then to some degree. It's not just
> BPF either, any module_alloc() user is going to do something similar with the
> direct map alias of the page they got for the text.
>
> So there must be at least some usages where breaking the direct map down, for
> like a page to store a key or something, isn't totally horrible.

The systems that really need large pages are the large ones. They have
the same TLBs and data structures as really little systems, but orders
of magnitude more address space. Modules and BPF are a (hopefully) drop
in the bucket on small systems and they're really inconsequential on
really big systems.

Modules also require privilege.

Allowing random user apps to fracture the direct map for every page of
their memory or *lots* of pages of their memory is an entirely different
kind of problem from modules. It takes a "drop in the bucket"
fracturing and turns it into the common case.