[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170630061920.GA61856@inn.lkp.intel.com>
Date: Fri, 30 Jun 2017 14:19:20 +0800
From: kernel test robot <xiaolong.ye@...el.com>
To: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc: Oleg Nesterov <oleg@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Will Deacon <will.deacon@....com>,
Peter Zijlstra <peterz@...radead.org>,
Alan Stern <stern@...land.harvard.edu>,
Andrea Parri <parri.andrea@...il.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
LKML <linux-kernel@...r.kernel.org>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>, lkp@...org
Subject: [task_work] 46a4746d9a:
inconsistent{IN-HARDIRQ-W}->{HARDIRQ-ON-W}usage
FYI, we noticed the following commit:
commit: 46a4746d9a364a9b0267c19be0f8419e9b72ad37 ("task_work: Replace spin_unlock_wait() with lock/unlock pair")
https://git.kernel.org/cgit/linux/kernel/git/paulmck/linux-rcu.git spin_unlock_wait_no.2017.06.29c
in testcase: boot
on test machine: qemu-system-x86_64 -enable-kvm -cpu host -smp 2 -m 1G
caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
+-------------------------------------------------+------------+------------+
| | ee4c0fbd46 | 46a4746d9a |
+-------------------------------------------------+------------+------------+
| boot_successes | 6 | 0 |
| boot_failures | 0 | 10 |
| inconsistent{IN-HARDIRQ-W}->{HARDIRQ-ON-W}usage | 0 | 8 |
| inconsistent{IN-SOFTIRQ-W}->{SOFTIRQ-ON-W}usage | 0 | 2 |
+-------------------------------------------------+------------+------------+
[ 4.784726] WARNING: inconsistent lock state
[ 4.785206] 4.12.0-rc4-00090-g46a4746 #86 Not tainted
[ 4.785733] --------------------------------
[ 4.786203] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
[ 4.786815] modprobe/143 [HC0[0]:SC0[0]:HE1:SE1] takes:
[ 4.787377] (&p->pi_lock){?.-.-.}, at: [<ffffffffb31016b7>] task_work_run+0x6e/0xa8
[ 4.788202] {IN-HARDIRQ-W} state was registered at:
[ 4.788711] __lock_acquire+0x3a9/0xed4
[ 4.789151] lock_acquire+0x125/0x1be
[ 4.789571] _raw_spin_lock_irqsave+0x49/0x84
[ 4.790048] try_to_wake_up+0x35/0x25b
[ 4.790478] wake_up_process+0x15/0x17
[ 4.790910] watchdog_timer_fn+0x51/0x1e3
[ 4.791368] __hrtimer_run_queues+0x164/0x30e
[ 4.791848] hrtimer_interrupt+0x75/0x143
[ 4.792296] local_apic_timer_interrupt+0x4b/0x4e
[ 4.792800] smp_apic_timer_interrupt+0x29/0x39
[ 4.800188] apic_timer_interrupt+0x93/0xa0
[ 4.800649] do_raw_spin_trylock+0x1c/0x3e
[ 4.801107] _raw_spin_lock+0x3c/0x6a
[ 4.801531] lockref_put_or_lock+0xd/0x2c
[ 4.801984] dput+0x4d/0x1e1
[ 4.802343] path_put+0x16/0x21
[ 4.802723] terminate_walk+0x26/0x88
[ 4.803160] path_lookupat+0x179/0x18b
[ 4.803589] filename_lookup+0x7d/0xfa
[ 4.804021] user_path_at_empty+0x37/0x3d
[ 4.804470] vfs_statx+0x72/0xb6
[ 4.804868] clean_path+0x38/0x72
[ 4.805260] do_name+0x7a/0x29e
[ 4.805640] write_buffer+0x28/0x39
[ 4.806053] flush_buffer+0x39/0x91
[ 4.806459] __gunzip+0x271/0x311
[ 4.806856] gunzip+0x11/0x13
[ 4.807234] unpack_to_rootfs+0x14c/0x274
[ 4.807688] populate_rootfs+0x61/0x106
[ 4.808128] do_one_initcall+0x90/0x138
[ 4.808563] kernel_init_freeable+0x1d5/0x25d
[ 4.809049] kernel_init+0xe/0xfa
[ 4.809441] ret_from_fork+0x2a/0x40
[ 4.809863] irq event stamp: 789
[ 4.810244] hardirqs last enabled at (789): [<ffffffffb3003800>] prepare_exit_to_usermode+0x69/0xd4
[ 4.811174] hardirqs last disabled at (788): [<ffffffffb30039c5>] syscall_return_slowpath+0x15a/0x1c6
[ 4.812113] softirqs last enabled at (0): [<ffffffffb30e4759>] copy_process+0x60f/0x19c0
[ 4.813012] softirqs last disabled at (0): [< (null)>] (null)
[ 4.813802]
[ 4.813802] other info that might help us debug this:
[ 4.814520] Possible unsafe locking scenario:
[ 4.814520]
[ 4.815204] CPU0
[ 4.815523] ----
[ 4.815847] lock(&p->pi_lock);
[ 4.816226] <Interrupt>
[ 4.816559] lock(&p->pi_lock);
[ 4.816956]
[ 4.816956] *** DEADLOCK ***
[ 4.816956]
[ 4.817706] no locks held by modprobe/143.
[ 4.818155]
[ 4.818155] stack backtrace:
[ 4.818710] CPU: 0 PID: 143 Comm: modprobe Not tainted 4.12.0-rc4-00090-g46a4746 #86
[ 4.819538] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
[ 4.820542] Call Trace:
[ 4.820870] dump_stack+0x82/0xb8
[ 4.821258] print_usage_bug+0x1bc/0x1d1
[ 4.821692] ? check_usage_forwards+0xba/0xba
[ 4.822164] mark_lock+0x10b/0x1ec
[ 4.822559] __lock_acquire+0x411/0xed4
[ 4.822991] ? mark_lock+0x24/0x1ec
[ 4.823407] ? unmap_region+0xdb/0xff
[ 4.823834] ? __lock_is_held+0x47/0x7a
[ 4.824264] lock_acquire+0x125/0x1be
[ 4.824676] ? lock_acquire+0x125/0x1be
[ 4.825107] ? task_work_run+0x6e/0xa8
[ 4.825529] _raw_spin_lock+0x34/0x6a
[ 4.825946] ? task_work_run+0x6e/0xa8
[ 4.826366] task_work_run+0x6e/0xa8
[ 4.826774] prepare_exit_to_usermode+0xae/0xd4
[ 4.827270] syscall_return_slowpath+0x162/0x1c6
[ 4.827760] entry_SYSCALL_64_fastpath+0xbc/0xbe
[ 4.828252] RIP: 0033:0x7f424ae4b087
[ 4.828659] RSP: 002b:00007ffe825c1df8 EFLAGS: 00000206 ORIG_RAX: 000000000000000b
[ 4.829463] RAX: 0000000000000000 RBX: 00007f424b057168 RCX: 00007f424ae4b087
[ 4.830146] RDX: 0000000300000000 RSI: 00000000000028ec RDI: 00007f424b050000
[ 4.830827] RBP: 00007ffe825c1ee0 R08: 0000000000000000 R09: 00007f424b0544c0
[ 4.831523] R10: 00007f424b056030 R11: 0000000000000206 R12: 000000037d3220bf
[ 4.832207] R13: 00007f424b0569d8 R14: 00007f424b04e700 R15: 00000000ffffffff
[ 4.833444] modprobe (143) used greatest stack depth: 14056 bytes left
[ 4.834174] lp: driver loaded but no devices found
[ 4.834715] Applicom driver: $Id: ac.c,v 1.30 2000/03/22 16:03:57 dwmw2 Exp $
[ 4.835450] ac.o: No PCI boards found.
[ 4.835892] ac.o: For an ISA board you must supply memory and irq parameters.
[ 4.836908] Non-volatile memory driver v1.3
[ 4.838510] ppdev: user-space parallel port driver
[ 4.839062] telclk_interrupt = 0xf non-mcpbl0010 hw.
[ 4.839646] smapi::smapi_init, ERROR invalid usSmapiID
[ 4.840202] mwave: tp3780i::tp3780I_InitializeBoardData: Error: SMAPI is not available on this machine
[ 4.841165] mwave: mwavedd::mwave_init: Error: Failed to initialize board data
[ 4.841962] mwave: mwavedd::mwave_init: Error: Failed to initialize
[ 4.842592] Linux agpgart interface v0.103
[ 4.843319] SyncLink PC Card driver $Revision: 4.34 $, tty major#238
To reproduce:
git clone https://github.com/01org/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email
Thanks,
Kernel Test Robot
View attachment "config-4.12.0-rc4-00090-g46a4746" of type "text/plain" (160036 bytes)
View attachment "job-script" of type "text/plain" (4188 bytes)
Download attachment "dmesg.xz" of type "application/octet-stream" (29284 bytes)
Powered by blists - more mailing lists