> A file under /sys/fs/mshare can be opened and read from. A read from > this file returns two long values - (1) starting address, and (2) > size of the mshare'd region. > > -- > int mshare_unlink(char *name) > > A shared address range created by mshare() can be destroyed using > mshare_unlink() which removes the shared named object. Once all > processes have unmapped the shared object, the shared address range > references are de-allocated and destroyed. > mshare_unlink() returns 0 on success or -1 on error. I am still struggling with the user scenarios of these new APIs. This patch supposes multiple processes will have same virtual address for the shared area? How can this be guaranteed while different processes can map different stack, heap, libraries, files? BTW, it seems you have different intention with the below? Shared page tables during fork[1] [1] https://lwn.net/Articles/861547/ Thanks Barry