Message ID | cover.1730123433.git.lorenzo.stoakes@oracle.com (mailing list archive) |
---|---|
Headers | show |
Series | implement lightweight guard pages | expand |
On Mon, 28 Oct 2024 14:13:26 +0000 Lorenzo Stoakes <lorenzo.stoakes@oracle.com> wrote: > 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/ ;) Thanks, SJ [...]
On Mon, Oct 28, 2024 at 11:24:13AM -0700, SeongJae Park wrote: > On Mon, 28 Oct 2024 14:13:26 +0000 Lorenzo Stoakes <lorenzo.stoakes@oracle.com> wrote: > > > 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 > > [...]