why does the kernel use mutex to protect the address_space structure

Zheng Da zhengda1936 at gmail.com
Sun Nov 13 15:08:33 EST 2011


On Fri, Nov 4, 2011 at 12:44 AM, Jimmy Pan <dspjm1 at gmail.com> 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



More information about the Kernelnewbies mailing list