On 1/18/22 1:19 PM, Khalid Aziz wrote:
This is a proposal to implement a mechanism in kernel to allow
userspace processes to opt into sharing PTEs. The proposal is to add
a new system call - mshare(), which can be used by a process to
create a region (we will call it mshare'd region) which can be used
by other processes to map same pages using shared PTEs. Other
process(es), assuming they have the right permissions, can then make
the mashare() system call to map the shared pages into their address
space using the shared PTEs.
One thing that went over my head here was that this allowing sharing of
relatively arbitrary *EXISTING* regions. The mshared'd region might be
anonymous or an plain mmap()'d file. It can even be a filesystem or
device DAX mmap().
In other words, donors can (ideally) share anything. Consumers have
must use msharefs to access the donated areas.
Right?
( btw... thanks to willy for the correction on IRC.)