On Tue, Mar 15, 2016 at 07:29:59PM +0530, Chetan Nanda wrote: > On 15-Mar-2016 7:19 pm, "Cihangir Akturk" <cakturk@xxxxxxxxx> wrote: > > > > On Thu, Mar 10, 2016 at 02:59:31PM +0530, Chetan Nanda wrote: > > > Hi, > > > > > > As per book (Linux kernel development) > > > > > > "Whoever locked a mutex must unlock it.That is, you cannot lock a mutex > in one > > > context and then unlock it in another > > > " > > > but 'mutex_unlock' code is not checking the owner field at all. > > > > If you look at the definition of mutex structure in mutex.h:50, > > you'll see that the owner field will be compiled in if one of > > CONFIG_DEBUG_MUTEXES or CONFIG_MUTEX_SPIN_ON_OWNER is defined. > > > > And debug_mutex_unlock function in mutex-debug.c:72 will check > > the owner and emits warning if it finds out that the mutex isn't > > unlocked by its owner. > > > > http://lxr.free-electrons.com/source/include/linux/mutex.h#L50 > > http://lxr.free-electrons.com/source/kernel/locking/mutex-debug.c#L72 > > > Thanks for your mail, in my kernel CONFIG_MUTEX_SPIN_ON_OWNER is enabled > but CONFIG_DEBUG_MUTEX is not enabled. > So there are no warning messages in logs. I am not an expert but this might be related to debug_locks variable defined in http://lxr.free-electrons.com/source/lib/debug_locks.c#L24 > > Also, it don't seems to be a real performance hit by adding a single check > of owner with current in unlock code. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies