Okay, so we support per-process memory paging/protection today. I've been wondering for years what sort of benefit is gained by offering page-level protections to what is arguably the smallest execution unit our OSes support today: threads. This question on Software Transactional Memory brought it back to the forefront for me.
Benefits to having page-level thread-ownership
- OS support for locking the page when accessed
- In theory, protection against memory corruption if the OS had a mechanism to take ownership for the lifetime of a thread.
Downsides:
- Deadlock detection with standard locking techniques is already difficult enough
- debugger/OS support for determining page-level ownership
Any other downsides, upsides that you can see from supporting such a model?