[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20130917135258.GB17015@localhost>
Date: Tue, 17 Sep 2013 21:52:58 +0800
From: Fengguang Wu <fengguang.wu@...el.com>
To: fengguang.wu@...el.com, Russell King <rmk+kernel@....linux.org.uk>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Lai Jiangshan <laijs@...fujitsu.com>,
Frederic Weisbecker <fweisbec@...il.com>,
"Paul E. McKenney" <paul.mckenney@...aro.org>,
linux-kernel@...r.kernel.org
Subject: [rcu_gp_kthread] WARNING: CPU: 1 PID: 9 at lib/list_debug.c:33
__list_add()
Greetings,
I got the below dmesg and the first bad commit is
commit c817a67ecba7c3c2aaa104796d78f160af60920d
Author: Russell King <rmk+kernel@....linux.org.uk>
Date: Thu Jun 27 15:06:14 2013 +0100
kobject: delayed kobject release: help find buggy drivers
Implement debugging for kobject release functions. kobjects are
reference counted, so the drop of the last reference to them is not
predictable. However, the common case is for the last reference to be
the kobject's removal from a subsystem, which results in the release
function being immediately called.
This can hide subtle bugs, which can occur when another thread holds a
reference to the kobject at the same time that a kobject is removed.
This results in the release method being delayed.
In order to make these kinds of problems more visible, the following
patch implements a delayed release; this has the effect that the
release function will be out of order with respect to the removal of
the kobject in the same manner that it would be if a reference was
being held.
This provides us with an easy way to allow driver writers to debug
their drivers and fix otherwise hidden problems.
Signed-off-by: Russell King <rmk+kernel@....linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
[ 4.230561] init: Temporary process spawn error: No space left on device
[ 4.260052] ------------[ cut here ]------------
[ 4.260720] WARNING: CPU: 1 PID: 9 at lib/list_debug.c:33 __list_add+0x6c/0xae()
[ 4.261993] list_add corruption. prev->next should be next (78100408), but was 716c92f0. (prev=781ac170).
[ 4.263266] Modules linked in:
[ 4.263712] CPU: 1 PID: 9 Comm: rcu_sched Not tainted 3.11.0-02563-gf74a274 #188
[ 4.264702] 00000000 00000000 78067df4 7920b4c3 78067e34 78067e24 79030823 792f0a64
[ 4.265894] 78067e50 00000009 792f0a3a 00000021 79105213 79105213 781ac170 78100408
[ 4.267087] 78067ea0 78067e3c 79030868 00000009 78067e34 792f0a64 78067e50 78067e68
[ 4.268281] Call Trace:
[ 4.268633] [<7920b4c3>] dump_stack+0x4b/0x66
[ 4.269237] [<79030823>] warn_slowpath_common+0x74/0x8b
[ 4.269956] [<79105213>] ? __list_add+0x6c/0xae
[ 4.270014] [<79105213>] ? __list_add+0x6c/0xae
[ 4.270014] [<79030868>] warn_slowpath_fmt+0x2e/0x30
[ 4.270014] [<79105213>] __list_add+0x6c/0xae
[ 4.270014] [<79036b0e>] __internal_add_timer+0x8a/0x8e
[ 4.270014] [<79036b20>] internal_add_timer+0xe/0x26
[ 4.270014] [<7920bcce>] schedule_timeout+0x126/0x16e
[ 4.270014] [<79036bda>] ? cascade+0x5a/0x5a
[ 4.270014] [<7907b60a>] rcu_gp_kthread+0x299/0x467
[ 4.270014] [<79045a1c>] ? abort_exclusive_wait+0x63/0x63
[ 4.270014] [<7907b371>] ? rcu_gp_fqs+0x53/0x53
[ 4.270014] [<79045276>] kthread+0x95/0x9a
[ 4.270014] [<79040000>] ? __flush_work+0x101/0x1e2
[ 4.270014] [<7921093b>] ret_from_kernel_thread+0x1b/0x30
[ 4.270014] [<790451e1>] ? kthread_stop+0x4e/0x4e
[ 4.270014] ---[ end trace 4267c218318dfa80 ]---
git bisect start f74a274c8b0b0a3837d5706d1b7bd1d120a226bb v3.11 --
git bisect good 91121c103ae93ef117e58712786864270d7f488e # 22:37 420+ staging: dwc2: make dwc2_core_params documentation more complete
git bisect good 1d1fdd95df681f0c065d90ffaafa215a0e8825e2 # 04:27 420+ Merge tag 'char-misc-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
git bisect bad f66c83d059d1ed90968caa81d401f160912b063a # 04:33 3- Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
git bisect good 2d1d3f3ae985ec5676fb56ff2c7acad2e1c4e6eb # 04:46 420+ hvc_xen: Remove unnecessary __GFP_ZERO from kzalloc
git bisect bad 542a086ac72fb193cbc1b996963a572269e57743 # 04:52 12- Merge tag 'driver-core-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
git bisect bad 879f1bec8e136c7bc71e38715e62a73b75f91d78 # 04:57 13- drivers: base: remove unneeded variable
git bisect bad e70b0915124942204dec8064bb25756e8723b81a # 05:03 7- tile / cpu topology: remove stale Macro arch_provides_topology_pointers
git bisect bad d79fd03fd651bd91a081fc97f5f0d221557f8cbb # 05:09 1- video: backlight: lcd: convert class code to use dev_groups
git bisect good e56341ad380114454119ac043e6d710ddbbb7710 # 05:29 420+ staging: comedi: convert class code to use dev_groups
git bisect bad 58b267d3e3f3ce87c3e559e4c330c8c03e905f5e # 05:35 4- dma: convert dma_devclass to use dev_groups
git bisect good 7c42721fe0c58a848849b43ff558cf2fb86aa35a # 05:59 420+ char: tile-srom: fix build error
git bisect bad c817a67ecba7c3c2aaa104796d78f160af60920d # 06:10 0- kobject: delayed kobject release: help find buggy drivers
git bisect good 7c42721fe0c58a848849b43ff558cf2fb86aa35a # 15:07 1260+ char: tile-srom: fix build error
git bisect good 7c42721fe0c58a848849b43ff558cf2fb86aa35a # 15:07 1260+ char: tile-srom: fix build error
git bisect bad 272b98c6455f00884f0350f775c5342358ebb73f # 15:14 0- Linux 3.12-rc1
Thanks,
Fengguang
View attachment "dmesg-quantal-bay-1:20130915142709:3.11.0-02563-gf74a274:188" of type "text/plain" (36704 bytes)
Download attachment "bisect-f74a274c8b0b0a3837d5706d1b7bd1d120a226bb-i386-randconfig-i002-0912-WARNING:-CPU:-58265.log" of type "application/octet-stream" (38045 bytes)
View attachment "config-3.11.0-02563-gf74a274" of type "text/plain" (69464 bytes)
Powered by blists - more mailing lists