lkml.org 
[lkml]   [2013]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: kobject: delayed kobject release: help find buggy drivers
Date
Greg KH <gregkh@linuxfoundation.org> writes:
> On Tue, Sep 03, 2013 at 04:44:42PM -0400, Dave Jones wrote:
>> On Tue, Sep 03, 2013 at 06:59:24PM +0000, Linux Kernel wrote:
>> > Gitweb: http://git.kernel.org/linus/;a=commit;h=c817a67ecba7c3c2aaa104796d78f160af60920d
>> > Commit: c817a67ecba7c3c2aaa104796d78f160af60920d
>> > Parent: 7c42721fe0c58a848849b43ff558cf2fb86aa35a
>> > Author: Russell King <rmk+kernel@arm.linux.org.uk>
>> > AuthorDate: Thu Jun 27 15:06:14 2013 +0100
>> > Committer: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> > CommitDate: Thu Jul 25 15:39:04 2013 -0700
>> >
>> > 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@arm.linux.org.uk>
>> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>>
>> With this enabled, I get a bunch of scrolling oopses immediately after
>> exiting the bootloader. It happens so early I can't even capture them
>> over usb-serial, or earlyprintk=dbgp.
>>
>> And for whatever reason, the printk path while oopsing ignores boot_delay parameter,
>> so I can't even use that.
>>
>> any ideas ?
>
> The first big bug found with this was with the module kobject code, and
> a fix for that should be going in through Rusty's tree to Linus for this
> merge window (right Rusty?)

Yep, just sent pull request. The fix was the final commit there...

Cheers,
Rusty.


\
 
 \ /
  Last update: 2013-09-04 08:01    [W:0.069 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site