Messages in this thread | | | Date | Mon, 14 Jul 2008 17:17:05 -0700 | From | mark gross <> | Subject | Re: [PATCH 2.6.25.10] pm_qos_params: change spinlock to rwlock |
| |
On Sun, Jul 13, 2008 at 03:05:25PM +0200, Jakub W. Jozwicki wrote: > 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@aster.pl> > 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] =======================
Ah, this a PREEMPT_RT only issue. Let me study up on rwlocks a bit and get back to you on this.
--mgross
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |