[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Mon, 11 Nov 2013 09:29:27 +0800
From: Fengguang Wu <fengguang.wu@...el.com>
To: John Stultz <john.stultz@...aro.org>
Cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>, linux-kernel@...r.kernel.org
Subject: [seqcount] INFO: trying to register non-static key.
Greetings,
I got the below dmesg and the first bad commit is
commit 1ca7d67cf5d5a2aef26a8d9afd789006fa098347
Author: John Stultz <john.stultz@...aro.org>
Date: Mon Oct 7 15:51:59 2013 -0700
seqcount: Add lockdep functionality to seqcount/seqlock structures
Currently seqlocks and seqcounts don't support lockdep.
After running across a seqcount related deadlock in the timekeeping
code, I used a less-refined and more focused variant of this patch
to narrow down the cause of the issue.
This is a first-pass attempt to properly enable lockdep functionality
on seqlocks and seqcounts.
Since seqcounts are used in the vdso gettimeofday code, I've provided
non-lockdep accessors for those needs.
I've also handled one case where there were nested seqlock writers
and there may be more edge cases.
Comments and feedback would be appreciated!
Signed-off-by: John Stultz <john.stultz@...aro.org>
Signed-off-by: Peter Zijlstra <peterz@...radead.org>
Cc: Eric Dumazet <eric.dumazet@...il.com>
Cc: Li Zefan <lizefan@...wei.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
Cc: Steven Rostedt <rostedt@...dmis.org>
Cc: "David S. Miller" <davem@...emloft.net>
Cc: netdev@...r.kernel.org
Link: http://lkml.kernel.org/r/1381186321-4906-3-git-send-email-john.stultz@linaro.org
Signed-off-by: Ingo Molnar <mingo@...nel.org>
+----------------------------------------+----+
| | |
+----------------------------------------+----+
| has_kernel_error_warning | 19 |
| INFO:trying_to_register_non-static_key | 19 |
+----------------------------------------+----+
[ 4.124336] uli526x: ULi M5261/M5263 net driver, version 0.9.3 (2005-7-29)
[ 4.125354] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[ 4.126299] e1000: Copyright (c) 1999-2006 Intel Corporation.
[ 4.127282] INFO: trying to register non-static key.
[ 4.128027] the code is fine but needs lockdep annotation.
[ 4.128027] turning off the locking correctness validator.
[ 4.128027] CPU: 0 PID: 96 Comm: kworker/u4:1 Not tainted 3.12.0-next-20131108-10601-gbad570d #2
[ 4.128027] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
[ 4.128027] Workqueue: events_unbound async_run_entry_fn
[ 4.128027] 7908e744 00000000 78019968 79dc7cf2 7a80e0a8 780199a0 7908953e 7a1b7f4d
[ 4.128027] 7a1b7fa7 7a1b7f7d 7f368608 00000000 00000011 44374011 0000a805 7f368110
[ 4.128027] 7f368110 85bf2a70 00000000 780199cc 7908a1c5 00000000 00000001 00000000
[ 4.128027] Call Trace:
[ 4.128027] [<7908e744>] ? console_unlock+0x353/0x380
[ 4.128027] [<79dc7cf2>] dump_stack+0x48/0x60
[ 4.128027] [<7908953e>] __lock_acquire.isra.26+0x7e3/0xceb
[ 4.128027] [<7908a1c5>] lock_acquire+0x71/0x9a
[ 4.128027] [<794079aa>] ? blk_throtl_bio+0x1c3/0x485
[ 4.128027] [<7940658b>] throtl_update_dispatch_stats+0x7c/0x153
[ 4.128027] [<794079aa>] ? blk_throtl_bio+0x1c3/0x485
[ 4.128027] [<794079aa>] blk_throtl_bio+0x1c3/0x485
[ 4.128027] [<7907c7f9>] ? sched_clock_local+0x17/0x106
[ 4.128027] [<7907ca8b>] ? sched_clock_cpu+0x105/0x113
[ 4.128027] [<793f2fee>] generic_make_request_checks+0x3ca/0x3e1
[ 4.128027] [<7907ca8b>] ? sched_clock_cpu+0x105/0x113
[ 4.128027] [<793f4613>] generic_make_request+0xf/0xb0
[ 4.128027] [<793f4723>] submit_bio+0x6f/0xd8
[ 4.128027] [<79116695>] _submit_bh+0x228/0x245
[ 4.128027] [<791166bc>] submit_bh+0xa/0xc
[ 4.128027] [<7911768e>] block_read_full_page+0x2a8/0x2c3
[ 4.128027] [<7911a555>] ? bio_dirty_fn+0x6f/0x6f
[ 4.128027] [<790bed0c>] ? add_to_page_cache_locked+0xb4/0xe2
[ 4.128027] [<7911a7eb>] ? blkdev_write_begin+0x20/0x20
[ 4.128027] [<7911a7eb>] ? blkdev_write_begin+0x20/0x20
[ 4.128027] [<7911a7fa>] blkdev_readpage+0xf/0x11
[ 4.128027] [<790bf877>] do_read_cache_page+0x6e/0x11b
[ 4.128027] [<790c0649>] read_cache_page_async+0x19/0x1e
[ 4.128027] [<7911a7eb>] ? blkdev_write_begin+0x20/0x20
[ 4.128027] [<790c067a>] read_cache_page+0xb/0x12
[ 4.128027] [<7940170d>] read_dev_sector+0x26/0x61
[ 4.128027] [<7940215b>] read_lba+0xae/0xf9
[ 4.128027] [<790e60b6>] ? kmem_cache_alloc+0xf9/0x12b
[ 4.128027] [<7940268b>] efi_partition+0x17a/0x9c0
[ 4.128027] [<790c4c4f>] ? __alloc_pages_nodemask+0xe3/0x61e
[ 4.128027] [<79415849>] ? string.isra.4+0x29/0x93
[ 4.128027] [<79415849>] ? string.isra.4+0x29/0x93
[ 4.128027] [<794165e9>] ? vsnprintf+0x81/0x28b
[ 4.128027] [<79416ab2>] ? snprintf+0x15/0x17
[ 4.128027] [<79401844>] check_partition+0xe4/0x178
[ 4.128027] [<79401844>] ? check_partition+0xe4/0x178
[ 4.128027] [<79401496>] rescan_partitions+0x89/0x267
[ 4.128027] [<7911a8df>] ? bdev_inode_switch_bdi+0xd2/0xe6
[ 4.128027] [<7911b696>] __blkdev_get+0x173/0x363
[ 4.128027] [<7911b8d1>] blkdev_get+0x4b/0x23d
[ 4.128027] [<7911af8f>] ? bdget+0xf8/0x105
[ 4.128027] [<796bc6c5>] ? put_device+0xf/0x11
[ 4.128027] [<793ff4c9>] add_disk+0x26b/0x3b5
[ 4.128027] [<796c4599>] ? __pm_runtime_use_autosuspend+0x4a/0x4f
[ 4.128027] [<797e4d73>] sd_probe_async+0x111/0x198
[ 4.128027] [<79075b0a>] async_run_entry_fn+0x59/0xff
[ 4.128027] [<7906cb54>] process_one_work+0x1ef/0x349
[ 4.128027] [<7906cafb>] ? process_one_work+0x196/0x349
[ 4.128027] [<7906d0a5>] worker_thread+0x1a3/0x274
[ 4.128027] [<7906cf02>] ? rescuer_thread+0x233/0x233
[ 4.128027] [<79071767>] kthread+0xa5/0xaa
[ 4.128027] [<79070000>] ? maybe_kfree_parameter+0xc/0x3d
[ 4.128027] [<79ddb6bb>] ret_from_kernel_thread+0x1b/0x30
[ 4.128027] [<790716c2>] ? __kthread_parkme+0x50/0x50
[ 4.178057] sda: unknown partition table
[ 4.182119] sd 0:0:0:0: [sda] Attached SCSI disk
[ 4.516964] e1000 0000:00:03.0 eth0: (PCI:33MHz:32-bit) 52:54:00:12:34:56
git bisect start e1e958029781a5f22a47807f9648ab9d221746f4 v3.12 --
git bisect good 513e72b3ae0e7d35b09b72c360e548781b345fe7 # 19:09 20+ 0 Merge remote-tracking branch 'pm/linux-next'
git bisect good a73f39d6bb13cd0eadf566e202dbfd114de2b9bc # 19:23 20+ 0 Merge remote-tracking branch 'virtio/virtio-next'
git bisect good 8d31e8536540635a1d56c9cd4a30eefe7f236644 # 19:40 20+ 0 Merge remote-tracking branch 'spi/for-next'
git bisect bad 47b8d9c8c38a956094e7f6b231371331dd2dd0d9 # 19:56 0- 4 Merge branch 'x86/hyperv'
git bisect good 8a4d0b56b031455adcbe4a9383c3b497456fcfac # 20:20 20+ 0 Merge branch 'uprobes/core' of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc into perf/core
git bisect good c90423d1de12fbeaf0c898e1db0e962de347302b # 20:37 20+ 0 Merge branch 'sched/core' into core/locking, to prepare the kernel/locking/ file move
git bisect bad 25c1bd1db04d58967bbd979bea71e82db2292407 # 20:53 0- 11 Merge branch 'timers/core'
git bisect good 8a749de5e32d2b72def93f7bd7a2745580d75872 # 21:12 20+ 0 Merge branch 'fortglx/3.13/time' of git://git.linaro.org/people/jstultz/linux into timers/core
git bisect bad 226e4c81385ac8d47962d5660c54ff9df629c15e # 21:30 0- 8 Merge branch 'irq/core'
git bisect bad 5ac68e7c34a4797aa4ca9615e5a6603bda1abe9b # 21:46 0- 4 ipv6: Fix possible ipv6 seqlock deadlock
git bisect good ed428bfc3caaa4b1e6cd15ea12c90c30291903f0 # 21:59 20+ 0 locking: Move the rwsem code to kernel/locking/
git bisect good 827da44c61419f29ae3be198c342e2147f1a10cb # 22:09 20+ 0 net: Explicitly initialize u64_stats_sync structures for lockdep
git bisect bad db751fe3ea6880ff5ac5abe60cb7b80deb5a4140 # 22:26 0- 1 cpuset: Fix potential deadlock w/ set_mems_allowed
git bisect bad 1ca7d67cf5d5a2aef26a8d9afd789006fa098347 # 22:31 0- 6 seqcount: Add lockdep functionality to seqcount/seqlock structures
git bisect good 827da44c61419f29ae3be198c342e2147f1a10cb # 22:33 60+ 0 net: Explicitly initialize u64_stats_sync structures for lockdep
git bisect bad bad570d77024cba808126d68a2072f6f8ce64c27 # 22:33 0- 19 Add linux-next specific files for 20131108
git bisect good 7b0833043b88a3188ffd2d6ea4b72bafb04ba4bd # 22:54 60+ 1 Revert "seqcount: Add lockdep functionality to seqcount/seqlock structures"
git bisect good 6c86ae2928f9e4cbf0d5844f5fcfd549e3450b8c # 23:03 60+ 0 Merge tag 'ftrace-urgent-3.12-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
git bisect bad bad570d77024cba808126d68a2072f6f8ce64c27 # 23:03 0- 19 Add linux-next specific files for 20131108
Thanks,
Fengguang
View attachment "dmesg-quantal-roam-7:20131109022732:i386-randconfig-j7-11082318:3.12.0-next-20131108-10601-gbad570d:2" of type "text/plain" (64246 bytes)
Download attachment "bisect-bad570d77024cba808126d68a2072f6f8ce64c27-i386-randconfig-j7-11082318-INFO:-trying-to-register-non-static-key--23799.log" of type "application/octet-stream" (63951 bytes)
View attachment "config-3.12.0-next-20131108-10601-gbad570d" of type "text/plain" (96808 bytes)
_______________________________________________
LKP mailing list
LKP@...ux.intel.com
Powered by blists - more mailing lists