On 02/24/2014 06:38 PM, Mindaugas Rasiukevicius wrote:
Yann Sionneau <[email protected]> wrote:
I've tried to understand how ci_mtx_count is supposed to be managed my
MD code, so far I failed to understand.
It seems some arch use spin_mutex and inc/dec ci_mtx_count upon
spin_mutex_enter/exit.
Some other archs do it in softint handling.
Could someone give my some clue (or documentation) about the intended
behaviour of curcpu()->ci_mtx_count please?
It is a reference count on the IPL raised by spin-mutexes. The IPL should
be lowered (straight to IPL_NONE) on a last reference. Notice that this is
a negative counter - mutex_spin_enter() decrements, while mutex_spin_exit()
incremenets. Not the other way round.
Hi Mindaugas,
if I have __HAVE_SIMPLE_MUTEXES set to 1, and __HAVE_MUTEX_STUBS is
undefined, then I should not care about ci_mtx_count in MD code at all,
right?
Thanks :)
Regards,
--
Yann Sionneau