On Fri, Nov 4, 2011 at 12:44 AM, Jimmy Pan <dspjm1@xxxxxxxxx> wrote: >> I try to understand why the kernel uses mutex to protect the >> address_space structure. I checked the critical areas protected by >> i_mmap_mutex, and didn't see these areas use IO. I don't see why we >> can't use spin locks. Do I miss something? It seems most of critical >> areas provided by i_mmap_mutex aren't very large. > > In my knowledge, when you use mutex, you can go to sleep, if you use spin lock, > the thread has to busy wait, spin lock causes cpu waste, while mutex > cannot be used > under interrupt context. Right. The problem is that the critical areas protected by the mutex are pretty small. There is no reason to switch context, which just causes more overhead, unless I miss something. Thanks, Da _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies