From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>,
linux-kernel@vger.kernel.org, linux-rt-users@vger.kernel.org
Subject: Re: v2.6.20-rt1, yum/rpm
Date: Mon, 05 Feb 2007 22:29:50 +0100 [thread overview]
Message-ID: <45C7A1CE.7050903@googlemail.com> (raw)
In-Reply-To: <20070205134708.GA6318@elte.hu>
Ingo Molnar napisał(a):
> * Michal Piotrowski <michal.k.k.piotrowski@gmail.com> wrote:
>
>> It looks like a bug to me
>>
>> BUG: MAX_LOCKDEP_ENTRIES too low!
>> turning off the locking correctness validator.
>
> hm, the patch below should solve this.
Lockdep works. Thanks!
2.6.20-rt2
======================================================
[ INFO: hard-safe -> hard-unsafe lock order detected ]
[ 2.6.20-rt2 #2
------------------------------------------------------
softirq-timer/0/5 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
(console_sem.lock){--..}, at: [<c0311981>] rt_mutex_slowunlock+0xc/0x5b
and this task is already holding:
(xtime_lock){+...}, at: [<c012a8b8>] run_timer_softirq+0x47/0x9ad
which would create a new lock dependency:
(xtime_lock){+...} -> (console_sem.lock){--..}
but this new dependency connects a hard-irq-safe lock:
(xtime_lock){+...}
... which became hard-irq-safe at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dee5>] __lock_acquire+0x3b3/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c013a654>] tick_periodic+0x15/0x68
[<c013a6ba>] tick_handle_periodic+0x13/0x45
[<c010684f>] timer_interrupt+0x31/0x38
[<c0155912>] handle_IRQ_event+0x63/0xfc
[<c0157267>] handle_level_irq+0xa7/0xf0
[<c0105dc1>] do_IRQ+0xa3/0xce
[<c0103ac6>] common_interrupt+0x2e/0x34
[<c0312e57>] __spin_unlock_irqrestore+0x42/0x59
[<c0156075>] setup_irq+0x170/0x1e0
[<c04907e4>] time_init_hook+0x19/0x1b
[<c0488d87>] hpet_time_init+0xd/0xf
[<c0485667>] start_kernel+0x271/0x42a
[<ffffffff>] 0xffffffff
to a hard-irq-unsafe lock:
(console_sem.lock){--..}
... which became hard-irq-unsafe at:
... [<c013d124>] mark_lock+0x6b/0x40b
[<c013d50e>] mark_held_locks+0x4a/0x67
[<c013d6f1>] trace_hardirqs_on+0x10d/0x150
[<c0312e55>] __spin_unlock_irqrestore+0x40/0x59
[<c01431f4>] task_blocks_on_rt_mutex+0x1c4/0x20a
[<c0311cd0>] rt_mutex_slowlock+0x140/0x234
[<c03119fd>] rt_mutex_lock+0x2d/0x31
[<c014441a>] rt_down+0x11/0x28
[<c012290f>] acquire_console_sem+0x36/0x4c
[<c0209c10>] fb_flashcursor+0x1a/0x24d
[<c013177a>] run_workqueue+0x8b/0xd8
[<c0132309>] worker_thread+0xf8/0x124
[<c01344b4>] kthread+0xb5/0xe1
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
other info that might help us debug this:
1 lock held by softirq-timer/0/5:
#0: (xtime_lock){+...}, at: [<c012a8b8>] run_timer_softirq+0x47/0x9ad
the hard-irq-safe lock's dependencies:
-> (xtime_lock){+...} ops: 7875 {
initial-use at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dfb9>] __lock_acquire+0x487/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c04916fb>] timekeeping_init+0x25/0x143
[<c04855be>] start_kernel+0x1c8/0x42a
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dee5>] __lock_acquire+0x3b3/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c013a654>] tick_periodic+0x15/0x68
[<c013a6ba>] tick_handle_periodic+0x13/0x45
[<c010684f>] timer_interrupt+0x31/0x38
[<c0155912>] handle_IRQ_event+0x63/0xfc
[<c0157267>] handle_level_irq+0xa7/0xf0
[<c0105dc1>] do_IRQ+0xa3/0xce
[<c0103ac6>] common_interrupt+0x2e/0x34
[<c0312e57>] __spin_unlock_irqrestore+0x42/0x59
[<c0156075>] setup_irq+0x170/0x1e0
[<c04907e4>] time_init_hook+0x19/0x1b
[<c0488d87>] hpet_time_init+0xd/0xf
[<c0485667>] start_kernel+0x271/0x42a
[<ffffffff>] 0xffffffff
}
... key at: [<c046bb18>] xtime_lock+0x18/0x80
-> (clocksource_lock){....} ops: 3800 {
initial-use at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dfb9>] __lock_acquire+0x487/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c0312a40>] __spin_lock_irqsave+0x3e/0x4e
[<c0138c4b>] clocksource_get_next+0xd/0x43
[<c049170b>] timekeeping_init+0x35/0x143
[<c04855be>] start_kernel+0x1c8/0x42a
[<ffffffff>] 0xffffffff
}
... key at: [<c046bd94>] clocksource_lock+0x14/0x80
... acquired at:
[<c013c05b>] add_lock_to_list+0x65/0x89
[<c013e544>] __lock_acquire+0xa12/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c0312a40>] __spin_lock_irqsave+0x3e/0x4e
[<c0138c4b>] clocksource_get_next+0xd/0x43
[<c049170b>] timekeeping_init+0x35/0x143
[<c04855be>] start_kernel+0x1c8/0x42a
[<ffffffff>] 0xffffffff
-> (logbuf_lock){....} ops: 1544 {
initial-use at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dfb9>] __lock_acquire+0x487/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c0312a40>] __spin_lock_irqsave+0x3e/0x4e
[<c012273c>] release_console_sem+0x3c/0x1c5
[<c0122ed2>] vprintk+0x2cd/0x330
[<c0122f50>] printk+0x1b/0x1d
[<c0485456>] start_kernel+0x60/0x42a
[<ffffffff>] 0xffffffff
}
... key at: [<c046b694>] logbuf_lock+0x14/0x80
... acquired at:
[<c013c05b>] add_lock_to_list+0x65/0x89
[<c013e544>] __lock_acquire+0xa12/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c0312a40>] __spin_lock_irqsave+0x3e/0x4e
[<c012273c>] release_console_sem+0x3c/0x1c5
[<c0122ed2>] vprintk+0x2cd/0x330
[<c0122f50>] printk+0x1b/0x1d
[<c012aee1>] run_timer_softirq+0x670/0x9ad
[<c0127689>] ksoftirqd+0x121/0x205
[<c01344b4>] kthread+0xb5/0xe1
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
the hard-irq-unsafe lock's dependencies:
-> (console_sem.lock){--..} ops: 829 {
initial-use at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dfb9>] __lock_acquire+0x487/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c0312a40>] __spin_lock_irqsave+0x3e/0x4e
[<c0311981>] rt_mutex_slowunlock+0xc/0x5b
[<c03118e4>] rt_mutex_unlock+0x8/0xa
[<c014402c>] rt_up+0x25/0x45
[<c0122870>] release_console_sem+0x170/0x1c5
[<c0122ed2>] vprintk+0x2cd/0x330
[<c0122f50>] printk+0x1b/0x1d
[<c0485456>] start_kernel+0x60/0x42a
[<ffffffff>] 0xffffffff
softirq-on-W at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013d50e>] mark_held_locks+0x4a/0x67
[<c013d709>] trace_hardirqs_on+0x125/0x150
[<c0312e55>] __spin_unlock_irqrestore+0x40/0x59
[<c01431f4>] task_blocks_on_rt_mutex+0x1c4/0x20a
[<c0311cd0>] rt_mutex_slowlock+0x140/0x234
[<c03119fd>] rt_mutex_lock+0x2d/0x31
[<c014441a>] rt_down+0x11/0x28
[<c012290f>] acquire_console_sem+0x36/0x4c
[<c0209c10>] fb_flashcursor+0x1a/0x24d
[<c013177a>] run_workqueue+0x8b/0xd8
[<c0132309>] worker_thread+0xf8/0x124
[<c01344b4>] kthread+0xb5/0xe1
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
hardirq-on-W at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013d50e>] mark_held_locks+0x4a/0x67
[<c013d6f1>] trace_hardirqs_on+0x10d/0x150
[<c0312e55>] __spin_unlock_irqrestore+0x40/0x59
[<c01431f4>] task_blocks_on_rt_mutex+0x1c4/0x20a
[<c0311cd0>] rt_mutex_slowlock+0x140/0x234
[<c03119fd>] rt_mutex_lock+0x2d/0x31
[<c014441a>] rt_down+0x11/0x28
[<c012290f>] acquire_console_sem+0x36/0x4c
[<c0209c10>] fb_flashcursor+0x1a/0x24d
[<c013177a>] run_workqueue+0x8b/0xd8
[<c0132309>] worker_thread+0xf8/0x124
[<c01344b4>] kthread+0xb5/0xe1
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
}
... key at: [<c043c318>] console_sem+0x18/0x60
-> ((raw_spinlock_t *)(&p->pi_lock)){....} ops: 706 {
initial-use at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dfb9>] __lock_acquire+0x487/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c0312a40>] __spin_lock_irqsave+0x3e/0x4e
[<c011c7a5>] sched_setscheduler+0x13f/0x22e
[<c0135150>] posix_cpu_thread_call+0x88/0xff
[<c0491d70>] posix_cpu_thread_init+0x1c/0x3c
[<c01003fa>] init+0x4d/0x3c3
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
}
... key at: [<c04cc06c>] __key.24574+0x0/0x8
-> (&rq->rq_lock_key){+...} ops: 29636 {
initial-use at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dfb9>] __lock_acquire+0x487/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c0312a40>] __spin_lock_irqsave+0x3e/0x4e
[<c011be68>] init_idle+0x63/0x81
[<c0490c3e>] sched_init+0x1a9/0x1b0
[<c0485516>] start_kernel+0x120/0x42a
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dee5>] __lock_acquire+0x3b3/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c011b21f>] task_running_tick+0x2a/0x23d
[<c011e849>] scheduler_tick+0x92/0xee
[<c012b88a>] update_process_times+0x3e/0x63
[<c013a6a5>] tick_periodic+0x66/0x68
[<c013a6ba>] tick_handle_periodic+0x13/0x45
[<c010684f>] timer_interrupt+0x31/0x38
[<c0155912>] handle_IRQ_event+0x63/0xfc
[<c0157267>] handle_level_irq+0xa7/0xf0
[<c0105dc1>] do_IRQ+0xa3/0xce
[<c0103ac6>] common_interrupt+0x2e/0x34
[<c013e740>] lock_acquire+0x7a/0x82
[<c0312430>] rt_read_lock+0x2b/0x69
[<c0120925>] copy_process+0x6cc/0x136b
[<c0121e43>] fork_idle+0x3f/0x58
[<c0112023>] do_boot_cpu+0x3c/0x547
[<c048c4a0>] smp_prepare_cpus+0x477/0x5eb
[<c01003eb>] init+0x3e/0x3c3
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
}
... key at: [<c60686cc>] 0xc60686cc
-> (&rq->rq_lock_key#2){+...} ops: 30044 {
initial-use at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dfb9>] __lock_acquire+0x487/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c0312a40>] __spin_lock_irqsave+0x3e/0x4e
[<c011be68>] init_idle+0x63/0x81
[<c0121e53>] fork_idle+0x4f/0x58
[<c0112023>] do_boot_cpu+0x3c/0x547
[<c048c4a0>] smp_prepare_cpus+0x477/0x5eb
[<c01003eb>] init+0x3e/0x3c3
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dee5>] __lock_acquire+0x3b3/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c011b6be>] task_rq_lock+0x36/0x5d
[<c011ca30>] try_to_wake_up+0x29/0x3cf
[<c011ce79>] wake_up_process+0x19/0x1b
[<c0126af7>] wakeup_softirqd+0x30/0x34
[<c01277c6>] raise_softirq+0x59/0x77
[<c012b50e>] run_local_timers+0xd/0x14
[<c012b88f>] update_process_times+0x43/0x63
[<c013a6a5>] tick_periodic+0x66/0x68
[<c013a6ba>] tick_handle_periodic+0x13/0x45
[<c0113e30>] smp_apic_timer_interrupt+0xa6/0xb8
[<c0103ba7>] apic_timer_interrupt+0x33/0x38
[<c0101b16>] default_idle+0x49/0x62
[<c01013ec>] cpu_idle+0xd4/0x11e
[<c0112d05>] start_secondary+0x35a/0x362
[<ffffffff>] 0xffffffff
}
... key at: [<c60e86cc>] 0xc60e86cc
... acquired at:
[<c013c05b>] add_lock_to_list+0x65/0x89
[<c013e544>] __lock_acquire+0xa12/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c011b029>] double_rq_lock+0x33/0x37
[<c011b8ab>] __migrate_task+0x58/0x131
[<c011eb9f>] migration_thread+0x196/0x1e5
[<c01344b4>] kthread+0xb5/0xe1
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
... acquired at:
[<c013c05b>] add_lock_to_list+0x65/0x89
[<c013e544>] __lock_acquire+0xa12/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c011c7c3>] sched_setscheduler+0x15d/0x22e
[<c0135150>] posix_cpu_thread_call+0x88/0xff
[<c0491d70>] posix_cpu_thread_init+0x1c/0x3c
[<c01003fa>] init+0x4d/0x3c3
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
-> (&rq->rq_lock_key#2){+...} ops: 30044 {
initial-use at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dfb9>] __lock_acquire+0x487/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c0312a40>] __spin_lock_irqsave+0x3e/0x4e
[<c011be68>] init_idle+0x63/0x81
[<c0121e53>] fork_idle+0x4f/0x58
[<c0112023>] do_boot_cpu+0x3c/0x547
[<c048c4a0>] smp_prepare_cpus+0x477/0x5eb
[<c01003eb>] init+0x3e/0x3c3
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dee5>] __lock_acquire+0x3b3/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c011b6be>] task_rq_lock+0x36/0x5d
[<c011ca30>] try_to_wake_up+0x29/0x3cf
[<c011ce79>] wake_up_process+0x19/0x1b
[<c0126af7>] wakeup_softirqd+0x30/0x34
[<c01277c6>] raise_softirq+0x59/0x77
[<c012b50e>] run_local_timers+0xd/0x14
[<c012b88f>] update_process_times+0x43/0x63
[<c013a6a5>] tick_periodic+0x66/0x68
[<c013a6ba>] tick_handle_periodic+0x13/0x45
[<c0113e30>] smp_apic_timer_interrupt+0xa6/0xb8
[<c0103ba7>] apic_timer_interrupt+0x33/0x38
[<c0101b16>] default_idle+0x49/0x62
[<c01013ec>] cpu_idle+0xd4/0x11e
[<c0112d05>] start_secondary+0x35a/0x362
[<ffffffff>] 0xffffffff
}
... key at: [<c60e86cc>] 0xc60e86cc
... acquired at:
[<c013c05b>] add_lock_to_list+0x65/0x89
[<c013e544>] __lock_acquire+0xa12/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c011c7c3>] sched_setscheduler+0x15d/0x22e
[<c0135150>] posix_cpu_thread_call+0x88/0xff
[<c012ec53>] notifier_call_chain+0x20/0x31
[<c012ec80>] raw_notifier_call_chain+0x8/0xa
[<c0144569>] _cpu_up+0x3d/0xbf
[<c0144611>] cpu_up+0x26/0x38
[<c010043e>] init+0x91/0x3c3
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
... acquired at:
[<c013c05b>] add_lock_to_list+0x65/0x89
[<c013e544>] __lock_acquire+0xa12/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c0143055>] task_blocks_on_rt_mutex+0x25/0x20a
[<c0311cd0>] rt_mutex_slowlock+0x140/0x234
[<c03119fd>] rt_mutex_lock+0x2d/0x31
[<c014441a>] rt_down+0x11/0x28
[<c012290f>] acquire_console_sem+0x36/0x4c
[<c0209c10>] fb_flashcursor+0x1a/0x24d
[<c013177a>] run_workqueue+0x8b/0xd8
[<c0132309>] worker_thread+0xf8/0x124
[<c01344b4>] kthread+0xb5/0xe1
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
-> (&rq->rq_lock_key#2){+...} ops: 30044 {
initial-use at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dfb9>] __lock_acquire+0x487/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c0312a40>] __spin_lock_irqsave+0x3e/0x4e
[<c011be68>] init_idle+0x63/0x81
[<c0121e53>] fork_idle+0x4f/0x58
[<c0112023>] do_boot_cpu+0x3c/0x547
[<c048c4a0>] smp_prepare_cpus+0x477/0x5eb
[<c01003eb>] init+0x3e/0x3c3
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
in-hardirq-W at:
[<c013d124>] mark_lock+0x6b/0x40b
[<c013dee5>] __lock_acquire+0x3b3/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c011b6be>] task_rq_lock+0x36/0x5d
[<c011ca30>] try_to_wake_up+0x29/0x3cf
[<c011ce79>] wake_up_process+0x19/0x1b
[<c0126af7>] wakeup_softirqd+0x30/0x34
[<c01277c6>] raise_softirq+0x59/0x77
[<c012b50e>] run_local_timers+0xd/0x14
[<c012b88f>] update_process_times+0x43/0x63
[<c013a6a5>] tick_periodic+0x66/0x68
[<c013a6ba>] tick_handle_periodic+0x13/0x45
[<c0113e30>] smp_apic_timer_interrupt+0xa6/0xb8
[<c0103ba7>] apic_timer_interrupt+0x33/0x38
[<c0101b16>] default_idle+0x49/0x62
[<c01013ec>] cpu_idle+0xd4/0x11e
[<c0112d05>] start_secondary+0x35a/0x362
[<ffffffff>] 0xffffffff
}
... key at: [<c60e86cc>] 0xc60e86cc
... acquired at:
[<c013c05b>] add_lock_to_list+0x65/0x89
[<c013e544>] __lock_acquire+0xa12/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c03127d3>] __spin_lock+0x35/0x42
[<c011b6be>] task_rq_lock+0x36/0x5d
[<c011ca30>] try_to_wake_up+0x29/0x3cf
[<c011ce79>] wake_up_process+0x19/0x1b
[<c014281e>] wakeup_next_waiter+0x1d9/0x1e1
[<c03119b8>] rt_mutex_slowunlock+0x43/0x5b
[<c03118e4>] rt_mutex_unlock+0x8/0xa
[<c014402c>] rt_up+0x25/0x45
[<c0122870>] release_console_sem+0x170/0x1c5
[<c0122ed2>] vprintk+0x2cd/0x330
[<c0122f50>] printk+0x1b/0x1d
[<c0288c89>] usb_register_driver+0xa3/0xeb
[<c049c440>] usb_usual_init+0xf/0x29
[<c01004df>] init+0x132/0x3c3
[<c0103dab>] kernel_thread_helper+0x7/0x10
[<ffffffff>] 0xffffffff
stack backtrace:
[<c01041a3>] dump_trace+0x63/0x1eb
[<c0104348>] show_trace_log_lvl+0x1d/0x3a
[<c0104a23>] show_trace+0x12/0x14
[<c0104ab6>] dump_stack+0x16/0x18
[<c013da8f>] check_usage+0x241/0x24b
[<c013e451>] __lock_acquire+0x91f/0xb94
[<c013e72e>] lock_acquire+0x68/0x82
[<c0312a40>] __spin_lock_irqsave+0x3e/0x4e
[<c0311981>] rt_mutex_slowunlock+0xc/0x5b
[<c03118e4>] rt_mutex_unlock+0x8/0xa
[<c014402c>] rt_up+0x25/0x45
[<c0122870>] release_console_sem+0x170/0x1c5
[<c0122ed2>] vprintk+0x2cd/0x330
[<c0122f50>] printk+0x1b/0x1d
[<c012aee1>] run_timer_softirq+0x670/0x9ad
[<c0127689>] ksoftirqd+0x121/0x205
[<c01344b4>] kthread+0xb5/0xe1
[<c0103dab>] kernel_thread_helper+0x7/0x10
=======================
---------------------------
| preempt count: 00000003 ]
| 3-level deep critical section nesting:
----------------------------------------
.. [<c03127b1>] .... __spin_lock+0x13/0x42
.....[<c012a8b8>] .. ( <= run_timer_softirq+0x47/0x9ad)
.. [<c0144017>] .... rt_up+0x10/0x45
.....[<c0122870>] .. ( <= release_console_sem+0x170/0x1c5)
.. [<c0312a1e>] .... __spin_lock_irqsave+0x1c/0x4e
.....[<c0311981>] .. ( <= rt_mutex_slowunlock+0xc/0x5b)
0xc03127b1 is in __spin_lock (kernel/spinlock.c:218).
213 EXPORT_SYMBOL(__write_lock_bh);
214
215 void __lockfunc __spin_lock(raw_spinlock_t *lock)
216 {
217 preempt_disable();
218 spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
219 _raw_spin_lock(lock);
220 }
221
222 EXPORT_SYMBOL(__spin_lock);
0xc012a8b8 is in run_timer_softirq (include/linux/seqlock.h:148).
143 }
144
145 static __always_inline void __write_seqlock_raw(raw_seqlock_t *sl)
146 {
147 spin_lock(&sl->lock);
148 ++sl->sequence;
149 smp_wmb();
150 }
151
152 static __always_inline void __write_sequnlock_raw(raw_seqlock_t *sl)
0xc0144017 is in rt_up (include/asm/atomic.h:189).
184 if(unlikely(boot_cpu_data.x86==3))
185 goto no_xadd;
186 #endif
187 /* Modern 486+ processor */
188 __i = i;
189 __asm__ __volatile__(
190 LOCK_PREFIX "xaddl %0, %1"
191 :"+r" (i), "+m" (v->counter)
192 : : "memory");
193 return i + __i;
0xc0122870 is in release_console_sem (kernel/printk.c:864).
859 * up only if we are in a preemptible section. We normally dont
860 * printk from non-preemptible sections so this is for the emergency
861 * case only.
862 */
863 #ifdef CONFIG_PREEMPT_RT
864 if (!in_atomic() && !irqs_disabled())
865 #endif
866 if (wake_klogd && !oops_in_progress && waitqueue_active(&log_wait))
867 wake_up_interruptible(&log_wait);
868 }
0xc0312a1e is in __spin_lock_irqsave (kernel/spinlock.c:122).
117 {
118 unsigned long flags;
119
120 local_irq_save(flags);
121 preempt_disable();
122 spin_acquire(&lock->dep_map, 0, 0, _RET_IP_);
123 /*
124 * On lockdep we dont want the hand-coded irq-enable of
125 * _raw_spin_lock_flags() code, because lockdep assumes
126 * that interrupts are not re-enabled during lock-acquire:
0xc0311981 is in rt_mutex_slowunlock (kernel/rtmutex.c:1053).
1048 static void __sched
1049 rt_mutex_slowunlock(struct rt_mutex *lock)
1050 {
1051 unsigned long flags;
1052
1053 spin_lock_irqsave(&lock->wait_lock, flags);
1054
1055 debug_rt_mutex_unlock(lock);
1056
1057 rt_mutex_deadlock_account_unlock(current);
http://www.stardust.webpages.pl/files/tbf/euridica/2.6.20-rt2/rt-config
http://www.stardust.webpages.pl/files/tbf/euridica/2.6.20-rt2/rt-dmesg
Regards,
Michal
--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/)
next prev parent reply other threads:[~2007-02-05 21:30 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-05 6:56 v2.6.20-rt1, yum/rpm Ingo Molnar
2007-02-05 9:18 ` Serge Belyshev
2007-02-05 9:02 ` Ingo Molnar
2007-02-05 10:36 ` Sunil Naidu
2007-02-05 10:42 ` Peter Zijlstra
2007-02-05 10:22 ` Ingo Molnar
2007-02-05 11:15 ` Sunil Naidu
2007-02-05 12:59 ` Michal Piotrowski
2007-02-05 13:47 ` Ingo Molnar
2007-02-05 21:29 ` Michal Piotrowski [this message]
2007-02-05 14:25 ` Karsten Wiese
2007-02-05 21:46 ` USX2Y 2.6.20-rt2 Oops on disconnect Rui Nuno Capela
2007-02-05 22:27 ` Karsten Wiese
2007-02-06 11:53 ` Takashi Iwai
2007-02-07 0:54 ` USX2Y 2.6.20-rt2 Oops on disconnect [SOLVED] Rui Nuno Capela
2007-02-07 10:26 ` Takashi Iwai
2007-02-10 1:29 ` us428control 0.4.5 [RFC] Rui Nuno Capela
2007-02-10 15:37 ` Rui Nuno Capela
2007-02-13 16:07 ` Q: How to detect which USx2y is connected? Rui Nuno Capela
2007-02-13 17:36 ` Karsten Wiese
2007-02-13 17:47 ` Karsten Wiese
2007-02-13 17:48 ` Takashi Iwai
2007-02-13 18:08 ` Rui Nuno Capela
2007-02-13 18:13 ` Rui Nuno Capela
2007-02-13 19:03 ` Karsten Wiese
2007-02-13 21:01 ` Rui Nuno Capela
2007-02-14 12:59 ` Takashi Iwai
2007-02-14 14:30 ` Rui Nuno Capela
2007-02-14 14:36 ` Takashi Iwai
2007-02-14 14:57 ` Rui Nuno Capela
2007-02-14 15:01 ` Takashi Iwai
2007-02-14 15:08 ` Rui Nuno Capela
2007-02-14 22:43 ` [PATCH] us428control 0.4.5 Rui Nuno Capela
2007-02-14 23:23 ` Takashi Iwai
2007-02-16 17:13 ` [PATCH] us428control 0.4.6 Rui Nuno Capela
2007-02-16 17:46 ` Takashi Iwai
2007-02-05 15:17 ` v2.6.20-rt1, yum/rpm Parag Warudkar
2007-02-05 21:50 ` Michal Piotrowski
2007-02-06 0:11 ` Michal Piotrowski
2007-02-06 1:14 ` Daniel Walker
2007-02-06 10:05 ` Pre-packaged version Alessio Igor Bogani
2007-02-06 10:10 ` v2.6.20-rt1, yum/rpm Arjan van de Ven
2007-02-07 12:32 ` Ingo Molnar
2007-02-06 10:30 ` Sunil Naidu
2007-02-06 19:38 ` Chuck Harding
2007-02-06 20:08 ` K.R. Foley
2007-02-27 17:39 ` K.R. Foley
2007-02-28 8:11 ` Ingo Molnar
2007-02-28 10:16 ` K.R. Foley
2007-04-26 13:57 ` v2.6.21-rt1 Ingo Molnar
2007-04-26 20:53 ` v2.6.21-rt1 Free Ekanayaka
2007-05-03 19:16 ` v2.6.21-rt1 - bug in asm-mips/atomic.h Tim Bird
2007-05-03 19:35 ` v2.6.21-rt1 - mips compile bugs Tim Bird
2007-05-17 18:46 ` v2.6.21-rt1 emin ak
2007-02-05 15:06 v2.6.20-rt1, yum/rpm Milan Svoboda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45C7A1CE.7050903@googlemail.com \
--to=michal.k.k.piotrowski@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=mingo@elte.hu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.