On Mon, Oct 28, 2024 at 11:24:13AM -0700, SeongJae Park wrote:
On Mon, 28 Oct 2024 14:13:26 +0000 Lorenzo Stoakes [off-list ref] wrote:
quoted
Userland library functions such as allocators and threading implementations
often require regions of memory to act as 'guard pages' - mappings which,
when accessed, result in a fatal signal being sent to the accessing
process.
The current means by which these are implemented is via a PROT_NONE mmap()
mapping, which provides the required semantics however incur an overhead of
a VMA for each such region.
With a great many processes and threads, this can rapidly add up and incur
a significant memory penalty. It also has the added problem of preventing
merges that might otherwise be permitted.
This series takes a different approach - an idea suggested by Vlasimil
Babka (and before him David Hildenbrand and Jann Horn - perhaps more - the
Nit. s/Vlasimil/Vlastimil/ ;)
Ugh oops sorry Vlastimil! This was a silly typo... Andrew would you mind fixing
this up? I'll edit my local file for this so if I respin this will be corrected.
Thanks!
Thanks,
SJ
[...]