Re: Some doubts on MUTEX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Subin,

On Tue, Feb 22, 2011 at 4:00 PM, subin gangadharan
<subingangadharan@xxxxxxxxx> wrote:
> Hi All,
> I am trying to understand how to use mutex API's properly,so while going
> through the documentation,
> there is section mentioning fast path and slow path for mutexes.
> For your reference I am pasting this here.(kernel/mutex.c)
> /*
>  * We split the mutex lock/unlock logic into separate fastpath and
>  * slowpath functions, to reduce the register pressure on the fastpath.
>  * We also put the fastpath first in the kernel image, to make sure the
>  * branch is predicted by the CPU as default-untaken.
>  */
> static __used noinline void __sched
> __mutex_lock_slowpath(atomic_t *lock_count);
>
> Can someone help me to understand what is the difference between fastpath
> lock and slowpath lock?

The fastpath is taken when nobody else is holding the lock (so the
caller acquires the mutex without blocking).

The slowpath is taken when somebody else is holding the lock and the
caller needs to block (i.e. sleep) until the mutex is released.

Dave Hylands

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux