No, I have no idea how a path invoked by fsck and a path invoked by acpi managed to cross paths. Lot of scheduler and acpi function names in the tracebacks, so, tossing it to everybody plausible in MAINTAINERS. Saw this during boot this morning: [ 87.294863] ======================================================= [ 87.295177] [ INFO: possible circular locking dependency detected ] [ 87.295402] 2.6.39-rc5-mmotm0429 #1 [ 87.295531] ------------------------------------------------------- [ 87.295727] fsck/3150 is trying to acquire lock: [ 87.295727] (rcu_node_level_0){..-...}, at: [] rcu_read_unlock_special+0x8c/0x1d5 [ 87.295727] [ 87.295727] but task is already holding lock: [ 87.295727] (&rq->lock){-.-.-.}, at: [] scheduler_ipi+0x34/0x5d [ 87.295727] [ 87.295727] which lock already depends on the new lock. [ 87.295727] [ 87.295727] [ 87.295727] the existing dependency chain (in reverse order) is: [ 87.295727] [ 87.295727] -> #2 (&rq->lock){-.-.-.}: [ 87.295727] [] check_prevs_add+0x8b/0x104 [ 87.295727] [] validate_chain+0x36f/0x3ab [ 87.295727] [] __lock_acquire+0x369/0x3e2 [ 87.295727] [] lock_acquire+0xfc/0x14c [ 87.295727] [] _raw_spin_lock+0x36/0x45 [ 87.295727] [] __task_rq_lock+0x8b/0xd3 [ 87.295727] [] wake_up_new_task+0x41/0x108 [ 87.295727] [] do_fork+0x265/0x33f [ 87.295727] [] kernel_thread+0x6b/0x6d [ 87.295727] [] rest_init+0x21/0xd2 [ 87.295727] [] start_kernel+0x3bb/0x3c6 [ 87.295727] [] x86_64_start_reservations+0xaf/0xb3 [ 87.295727] [] x86_64_start_kernel+0xf0/0xf7 [ 87.295727] [ 87.295727] -> #1 (&p->pi_lock){-.-.-.}: [ 87.295727] [] check_prevs_add+0x8b/0x104 [ 87.295727] [] validate_chain+0x36f/0x3ab [ 87.295727] [] __lock_acquire+0x369/0x3e2 [ 87.295727] [] lock_acquire+0xfc/0x14c [ 87.295727] [] _raw_spin_lock_irqsave+0x44/0x57 [ 87.295727] [] try_to_wake_up+0x29/0x1aa [ 87.295727] [] wake_up_process+0x10/0x12 [ 87.295727] [] rcu_cpu_kthread_timer+0x44/0x58 [ 87.295727] [] call_timer_fn+0xac/0x1e9 [ 87.295727] [] run_timer_softirq+0x1aa/0x1f2 [ 87.295727] [] __do_softirq+0x109/0x26a [ 87.295727] [] call_softirq+0x1c/0x30 [ 87.295727] [] do_softirq+0x44/0xf1 [ 87.295727] [] irq_exit+0x58/0xc8 [ 87.295727] [] smp_apic_timer_interrupt+0x79/0x87 [ 87.295727] [] apic_timer_interrupt+0x13/0x20 [ 87.295727] [] up+0x55/0x5d [ 87.295727] [] acpi_os_signal_semaphore+0x1c/0x27 [ 87.295727] [] acpi_ut_release_mutex+0x59/0x5d [ 87.295727] [] acpi_ns_walk_namespace+0x94/0x17b [ 87.295727] [] acpi_ev_install_space_handler+0x20f/0x225 [ 87.295727] [] acpi_ev_install_region_handlers+0x3e/0x77 [ 87.295727] [] acpi_enable_subsystem+0x64/0x8b [ 87.295727] [] acpi_bus_init+0x18/0x12a [ 87.295727] [] acpi_init+0x6e/0xb4 [ 87.295727] [] do_one_initcall+0x7a/0x130 [ 87.295727] [] kernel_init+0xe1/0x15b [ 87.295727] [] kernel_thread_helper+0x4/0x10 [ 87.295727] [ 87.295727] -> #0 (rcu_node_level_0){..-...}: [ 87.295727] [] check_prev_add+0x68/0x20e [ 87.295727] [] check_prevs_add+0x8b/0x104 [ 87.295727] [] validate_chain+0x36f/0x3ab [ 87.295727] [] __lock_acquire+0x369/0x3e2 [ 87.295727] [] lock_acquire+0xfc/0x14c [ 87.295727] [] _raw_spin_lock+0x36/0x45 [ 87.295727] [] rcu_read_unlock_special+0x8c/0x1d5 [ 87.295727] [] __rcu_read_unlock+0x4f/0xd7 [ 87.295727] [] rcu_read_unlock+0x21/0x23 [ 87.295727] [] cpuacct_charge+0x6c/0x75 [ 87.295727] [] update_curr+0x101/0x12e [ 87.295727] [] check_preempt_wakeup+0xf7/0x23b [ 87.295727] [] check_preempt_curr+0x2b/0x68 [ 87.295727] [] ttwu_do_wakeup+0x76/0x128 [ 87.295727] [] ttwu_do_activate.constprop.63+0x57/0x5c [ 87.295727] [] scheduler_ipi+0x48/0x5d [ 87.295727] [] smp_reschedule_interrupt+0x16/0x18 [ 87.295727] [] reschedule_interrupt+0x13/0x20 [ 87.295727] [] rcu_read_unlock+0x21/0x23 [ 87.295727] [] find_get_page+0xa9/0xb9 [ 87.295727] [] do_generic_file_read.constprop.13+0xae/0x46a [ 87.295727] [] generic_file_aio_read+0x1cd/0x232 [ 87.295727] [] do_sync_read+0xba/0xfa [ 87.295727] [] vfs_read+0xde/0x129 [ 87.295727] [] sys_read+0x45/0x69 [ 87.295727] [] system_call_fastpath+0x16/0x1b [ 87.295727] [ 87.295727] other info that might help us debug this: [ 87.295727] [ 87.295727] Chain exists of: [ 87.295727] rcu_node_level_0 --> &p->pi_lock --> &rq->lock [ 87.295727] [ 87.295727] Possible unsafe locking scenario: [ 87.295727] [ 87.295727] CPU0 CPU1 [ 87.295727] ---- ---- [ 87.295727] lock(&rq->lock); [ 87.295727] lock(&p->pi_lock); [ 87.295727] lock(&rq->lock); [ 87.295727] lock(rcu_node_level_0); [ 87.295727] [ 87.295727] *** DEADLOCK *** [ 87.295727] [ 87.295727] 1 lock held by fsck/3150: [ 87.295727] #0: (&rq->lock){-.-.-.}, at: [] scheduler_ipi+0x34/0x5d [ 87.295727] [ 87.295727] stack backtrace: [ 87.295727] Pid: 3150, comm: fsck Not tainted 2.6.39-rc5-mmotm0429 #1 [ 87.295727] Call Trace: [ 87.295727] [] print_circular_bug+0xc8/0xd9 [ 87.295727] [] check_prev_add+0x68/0x20e [ 87.295727] [] ? scsi_request_fn+0x30d/0x3de [ 87.295727] [] check_prevs_add+0x8b/0x104 [ 87.295727] [] validate_chain+0x36f/0x3ab [ 87.295727] [] __lock_acquire+0x369/0x3e2 [ 87.295727] [] ? trace_hardirqs_on_caller+0xfd/0x13b [ 87.295727] [] ? _raw_spin_unlock_irqrestore+0x7b/0x80 [ 87.295727] [] ? rcu_read_unlock_special+0x8c/0x1d5 [ 87.295727] [] lock_acquire+0xfc/0x14c [ 87.295727] [] ? rcu_read_unlock_special+0x8c/0x1d5 [ 87.295727] [] _raw_spin_lock+0x36/0x45 [ 87.295727] [] ? rcu_read_unlock_special+0x8c/0x1d5 [ 87.295727] [] rcu_read_unlock_special+0x8c/0x1d5 [ 87.295727] [] ? __lock_release+0x8c/0x9c [ 87.295727] [] __rcu_read_unlock+0x4f/0xd7 [ 87.295727] [] rcu_read_unlock+0x21/0x23 [ 87.295727] [] cpuacct_charge+0x6c/0x75 [ 87.295727] [] update_curr+0x101/0x12e [ 87.295727] [] check_preempt_wakeup+0xf7/0x23b [ 87.295727] [] check_preempt_curr+0x2b/0x68 [ 87.295727] [] ttwu_do_wakeup+0x76/0x128 [ 87.295727] [] ttwu_do_activate.constprop.63+0x57/0x5c [ 87.295727] [] scheduler_ipi+0x48/0x5d [ 87.295727] [] smp_reschedule_interrupt+0x16/0x18 [ 87.295727] [] reschedule_interrupt+0x13/0x20 [ 87.295727] [] ? rcu_read_unlock_special+0x1/0x1d5 [ 87.295727] [] ? __rcu_read_unlock+0x4f/0xd7 [ 87.295727] [] rcu_read_unlock+0x21/0x23 [ 87.295727] [] find_get_page+0xa9/0xb9 [ 87.295727] [] do_generic_file_read.constprop.13+0xae/0x46a [ 87.295727] [] generic_file_aio_read+0x1cd/0x232 [ 87.295727] [] do_sync_read+0xba/0xfa [ 87.295727] [] ? rw_verify_area+0x13e/0x161 [ 87.295727] [] vfs_read+0xde/0x129 [ 87.295727] [] sys_read+0x45/0x69 [ 87.295727] [] system_call_fastpath+0x16/0x1b