Re: [PATCH] EDAC: core EDAC support code
- From: Dave Peterson <dsp@xxxxxxxx>
- Date: Tue, 7 Mar 2006 08:47:44 -0800
On Monday 06 March 2006 13:32, Al Viro wrote:
On Mon, Mar 06, 2006 at 01:01:37PM -0800, Dave Peterson wrote:
Regarding the above problem with the kobject reference count, this
was recently fixed in the -mm tree (see edac-kobject-sysfs-fixes.patch
in 2.6.16-rc5-mm2). The fix I implemented was to add a call to
complete() in edac_memctrl_master_release() and then have the module
cleanup code wait for the completion. I think there were a few other
instances of this type of problem that I also fixed in the
above-mentioned patch.
This is not a fix, this is a goddamn deadlock.
rmmod your_turd </sys/spew/from/your_turd
and there you go. rmmod can _NOT_ wait for sysfs references to go away.
Ok, how does this sound:
- Modify EDAC so it uses kmalloc() to create the kobject.
- Eliminate edac_memctrl_master_release(). Instead, use kfree() as
the release method for the kobject. Here, it's important to use a
function -outside- of EDAC as the release method since the core
EDAC module may have been unloaded by the time the release method
is called.
- Make similar modifications to the other places in EDAC where
kobjects are used.
At least this will keep the module unload operation from blocking
in the module cleanup function due to a nonzero kobject reference
count. I'm going to be away from my keyboard for most of the rest of
today. However, if there is general agreement that this is a
reasonable way to proceed, I'll make a patch that implements this
tomorrow.
Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [PATCH] EDAC: core EDAC support code
- From: Greg KH
- Re: [PATCH] EDAC: core EDAC support code
- References:
- Re: [PATCH] EDAC: core EDAC support code
- From: Dave Peterson
- Re: [PATCH] EDAC: core EDAC support code
- From: Al Viro
- Re: [PATCH] EDAC: core EDAC support code
- Prev by Date: Re: Problem: NIC transmit timeouts
- Next by Date: Re: [PATCH] udf: fix uid/gid options and add uid/gid=ignore and forget options
- Previous by thread: Re: [PATCH] EDAC: core EDAC support code
- Next by thread: Re: [PATCH] EDAC: core EDAC support code
- Index(es):
Relevant Pages
|