How to synchronize processes without using locks?
Anonimo
Netapp kernel has coarse grained locking mechanism where every process is tied with a domain. And their kernel imposes a restriction that only one process can run inside a domain at a time. Domains are identified in such a way that No two domains will access same data structure. And if a process need to access a data structure of different domain. it switches to that domain. In this way the kernel will be fast since it is almost lock-less kernel.