From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752984Ab0AZDU2 (ORCPT ); Mon, 25 Jan 2010 22:20:28 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751755Ab0AZDU1 (ORCPT ); Mon, 25 Jan 2010 22:20:27 -0500 Received: from fgwmail7.fujitsu.co.jp ([192.51.44.37]:56069 "EHLO fgwmail7.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751147Ab0AZDU0 (ORCPT ); Mon, 25 Jan 2010 22:20:26 -0500 X-SecurityPolicyCheck-FJ: OK by FujitsuOutboundMailChecker v1.3.1 From: KOSAKI Motohiro To: LKML , Oleg Nesterov Subject: [2.6.33-rc5] starting emacs makes lockdep warning Cc: kosaki.motohiro@jp.fujitsu.com, Alan Cox Message-Id: <20100126121618.5AA5.A69D9226@jp.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.50.07 [ja] Date: Tue, 26 Jan 2010 12:20:21 +0900 (JST) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Current linus tree made following lockdep warning when starting emacs command. Is this known issue? ========================================================= [ INFO: possible irq lock inversion dependency detected ] 2.6.33-rc5 #77 --------------------------------------------------------- emacs/1609 just changed the state of lock: (&(&tty->ctrl_lock)->rlock){+.....}, at: [] tty_fasync+0xe8/0x190 but this lock took another, HARDIRQ-unsafe lock in the past: (&(&sighand->siglock)->rlock){-.....} and interrupts could create inverse lock ordering between them. other info that might help us debug this: 1 lock held by emacs/1609: #0: (&(&tty->ctrl_lock)->rlock){+.....}, at: [] tty_fasync+0xe8/0x190 the shortest dependencies between 2nd lock and 1st lock: -> (&(&sighand->siglock)->rlock){-.....} ops: 50393 { IN-HARDIRQ-W at: [] __lock_acquire+0x7ae/0x15a0 [] lock_acquire+0x9f/0x120 [] _raw_spin_lock_irqsave+0x52/0x90 [] lock_task_sighand+0x79/0x100 [] do_send_sig_info+0x3f/0x90 [] group_send_sig_info+0x40/0x50 [] kill_pid_info+0x73/0xe0 [] it_real_fn+0x44/0xa0 [] __run_hrtimer+0x8e/0x1e0 [] hrtimer_interrupt+0xe6/0x250 [] smp_apic_timer_interrupt+0x69/0x9b [] apic_timer_interrupt+0x13/0x20 [] cpu_idle+0x66/0xd0 [] rest_init+0x92/0xa0 [] start_kernel+0x3b9/0x3c5 [] x86_64_start_reservations+0x120/0x124 [] x86_64_start_kernel+0xe4/0xeb INITIAL USE at: [] __lock_acquire+0x3e6/0x15a0 [] lock_acquire+0x9f/0x120 [] _raw_spin_lock_irqsave+0x52/0x90 [] flush_signals+0x2c/0x60 [] ignore_signals+0x33/0x40 [] kthreadd+0x37/0x180 [] kernel_thread_helper+0x4/0x10 } ... key at: [] __key.46539+0x0/0x8 ... acquired at: [] __lock_acquire+0x1056/0x15a0 [] lock_acquire+0x9f/0x120 [] _raw_spin_lock_irqsave+0x52/0x90 [] __proc_set_tty+0x3e/0x150 [] tty_open+0x51d/0x5e0 [] chrdev_open+0x170/0x290 [] __dentry_open+0x131/0x3a0 [] nameidata_to_filp+0x54/0x70 [] do_filp_open+0x948/0xcd0 [] do_sys_open+0x69/0x140 [] sys_open+0x20/0x30 [] system_call_fastpath+0x16/0x1b -> (&(&tty->ctrl_lock)->rlock){+.....} ops: 191 { HARDIRQ-ON-W at: [] mark_held_locks+0x73/0xa0 [] trace_hardirqs_on_caller+0x7b/0x1c0 [] trace_hardirqs_on+0xd/0x10 [] _raw_write_unlock_irq+0x30/0x60 [] f_modown+0x53/0xe0 [] __f_setown+0xe/0x20 [] tty_fasync+0x107/0x190 [] sys_fcntl+0x222/0x580 [] system_call_fastpath+0x16/0x1b INITIAL USE at: [] __lock_acquire+0x3e6/0x15a0 [] lock_acquire+0x9f/0x120 [] _raw_spin_lock_irqsave+0x52/0x90 [] __proc_set_tty+0x3e/0x150 [] tty_open+0x51d/0x5e0 [] chrdev_open+0x170/0x290 [] __dentry_open+0x131/0x3a0 [] nameidata_to_filp+0x54/0x70 [] do_filp_open+0x948/0xcd0 [] do_sys_open+0x69/0x140 [] sys_open+0x20/0x30 [] system_call_fastpath+0x16/0x1b } ... key at: [] __key.30033+0x0/0x8 ... acquired at: [] check_usage_backwards+0x93/0x100 [] mark_lock+0x1ca/0x420 [] mark_held_locks+0x73/0xa0 [] trace_hardirqs_on_caller+0x7b/0x1c0 [] trace_hardirqs_on+0xd/0x10 [] _raw_write_unlock_irq+0x30/0x60 [] f_modown+0x53/0xe0 [] __f_setown+0xe/0x20 [] tty_fasync+0x107/0x190 [] sys_fcntl+0x222/0x580 [] system_call_fastpath+0x16/0x1b stack backtrace: Pid: 1609, comm: emacs Not tainted 2.6.33-rc5 #77 Call Trace: [] print_irq_inversion_bug.clone.0+0x12d/0x140 [] ? check_usage_backwards+0x0/0x100 [] check_usage_backwards+0x93/0x100 [] ? f_modown+0x3c/0xe0 [] mark_lock+0x1ca/0x420 [] mark_held_locks+0x73/0xa0 [] ? _raw_write_unlock_irq+0x30/0x60 [] trace_hardirqs_on_caller+0x7b/0x1c0 [] trace_hardirqs_on+0xd/0x10 [] _raw_write_unlock_irq+0x30/0x60 [] f_modown+0x53/0xe0 [] __f_setown+0xe/0x20 [] tty_fasync+0x107/0x190 [] sys_fcntl+0x222/0x580 [] system_call_fastpath+0x16/0x1b