mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
[PATCH] Fix spinlock owner debugging
fix up the runqueue lock owner only if we truly did a context-switch with the runqueue lock held. Impacts ia64, mips, sparc64 and arm. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
33333373c4
commit
da04c03503
1 changed files with 4 additions and 4 deletions
|
@ -294,6 +294,10 @@ static inline void prepare_lock_switch(runqueue_t *rq, task_t *next)
|
||||||
|
|
||||||
static inline void finish_lock_switch(runqueue_t *rq, task_t *prev)
|
static inline void finish_lock_switch(runqueue_t *rq, task_t *prev)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_DEBUG_SPINLOCK
|
||||||
|
/* this is a valid case when another task releases the spinlock */
|
||||||
|
rq->lock.owner = current;
|
||||||
|
#endif
|
||||||
spin_unlock_irq(&rq->lock);
|
spin_unlock_irq(&rq->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1529,10 +1533,6 @@ static inline void finish_task_switch(runqueue_t *rq, task_t *prev)
|
||||||
* Manfred Spraul <manfred@colorfullife.com>
|
* Manfred Spraul <manfred@colorfullife.com>
|
||||||
*/
|
*/
|
||||||
prev_task_flags = prev->flags;
|
prev_task_flags = prev->flags;
|
||||||
#ifdef CONFIG_DEBUG_SPINLOCK
|
|
||||||
/* this is a valid case when another task releases the spinlock */
|
|
||||||
rq->lock.owner = current;
|
|
||||||
#endif
|
|
||||||
finish_arch_switch(prev);
|
finish_arch_switch(prev);
|
||||||
finish_lock_switch(rq, prev);
|
finish_lock_switch(rq, prev);
|
||||||
if (mm)
|
if (mm)
|
||||||
|
|
Loading…
Reference in a new issue