Re: [PATCH 2.6.25.10] pm_qos_params: change spinlock to rwlock

From: Jakub W. Jozwicki
Date: Sun Jul 13 2008 - 09:34:30 EST


Sunday, 13 of July 2008 10:28:16 Andrew Morton napisaÅ(a):
> On Sun, 13 Jul 2008 01:19:19 +0200 "Jakub W. Jozwicki" <jozwicki@xxxxxxxx>
wrote:
> > Concurrent calls to pm_qos_requirement shouldn't block each other. This
> > patch changes spinlock to rwlock and fixes issues with PREEMPT_RT.
>
> "fixes issues" is nowhere near an adequate description.
>
> Please provide complete descriptions for kernel patches. That includes
> describing the mysterious "issue" in full!
>
> Thanks.

[ 114.647010] BUG: sleeping function called from invalid context swapper(0)
at kernel/rtmutex.c:742
[ 114.647010] in_atomic():1 [00000001], irqs_disabled():0
[ 114.647010] Pid: 0, comm: swapper Not tainted 2.6.25.10-rtXXX #10
[ 114.647010] [<c0120fc4>] __might_sleep+0xf1/0xf8
[ 114.647010] [<c045499c>] __rt_spin_lock+0x24/0x61
[ 114.647010] [<c04549e1>] rt_spin_lock+0x8/0xa
[ 114.647010] [<c013ec8d>] pm_qos_requirement+0x10/0x29
[ 114.647010] [<c038ef36>] menu_select+0x5d/0x7f
[ 114.647010] [<c038e4d8>] cpuidle_idle_call+0x47/0x9b
[ 114.647010] [<c038e491>] ? cpuidle_idle_call+0x0/0x9b
[ 114.647010] [<c01060ff>] cpu_idle+0xaf/0x106
[ 114.647010] [<c0441c87>] rest_init+0x67/0x69
[ 114.647010] =======================
[ 115.649517] BUG: sleeping function called from invalid context swapper(0)
at kernel/rtmutex.c:742
[ 115.649517] in_atomic():1 [00000001], irqs_disabled():0
[ 115.649517] Pid: 0, comm: swapper Not tainted 2.6.25.10-rtXXX #10
[ 115.649517] [<c0120fc4>] __might_sleep+0xf1/0xf8
[ 115.649517] [<c045499c>] __rt_spin_lock+0x24/0x61
[ 115.649517] [<c04549e1>] rt_spin_lock+0x8/0xa
[ 115.649517] [<c013ec8d>] pm_qos_requirement+0x10/0x29
[ 115.649517] [<c038ef36>] menu_select+0x5d/0x7f
[ 115.649517] [<c038e4d8>] cpuidle_idle_call+0x47/0x9b
[ 115.649517] [<c038e491>] ? cpuidle_idle_call+0x0/0x9b
[ 115.649517] [<c01060ff>] cpu_idle+0xaf/0x106
[ 115.649517] [<c0441c87>] rest_init+0x67/0x69
[ 115.649517] =======================
[ 116.650040] BUG: sleeping function called from invalid context swapper(0)
at kernel/rtmutex.c:742
[ 116.650040] in_atomic():1 [00000001], irqs_disabled():0
[ 116.650040] Pid: 0, comm: swapper Not tainted 2.6.25.10-rtXXX #10
[ 116.650040] [<c0120fc4>] __might_sleep+0xf1/0xf8
[ 116.650040] [<c045499c>] __rt_spin_lock+0x24/0x61
[ 116.650040] [<c04549e1>] rt_spin_lock+0x8/0xa
[ 116.650040] [<c013ec8d>] pm_qos_requirement+0x10/0x29
[ 116.650040] [<c038ef36>] menu_select+0x5d/0x7f
[ 116.650040] [<c038e4d8>] cpuidle_idle_call+0x47/0x9b
[ 116.650040] [<c038e491>] ? cpuidle_idle_call+0x0/0x9b
[ 116.650040] [<c01060ff>] cpu_idle+0xaf/0x106
[ 116.650040] [<c0441c87>] rest_init+0x67/0x69
[ 116.650040] =======================

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/