[$] Sharing page tables with mshare()

Post Syndicated from original https://lwn.net/Articles/895217/

The Linux kernel allows processes to share pages in memory, but the page
tables used to control that sharing are not, themselves, shared; as a
result, processes sharing memory maintain duplicate copies of the
page-table data. Normally this duplication imposes little overhead, but
there are situations where it can hurt. At the 2022 Linux Storage,
Filesystem, Memory-management and BPF Summit
(LSFMM), Khaled Aziz
(remotely) and Matthew Wilcox led a session to discuss a proposed mechanism
to allow those page tables to be shared between cooperating processes.