Re: [Bug? Report] kref problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 16, 2006 at 09:08:56PM +0300, Artem B. Bityutskiy wrote:
> Greg KH wrote:
> >If you use decl_subsys(), you should be fine for this.  Use that instead
> >of trying to roll your own subsystem kobjects please.  That
> >infrastructure was written for a reason...
> Ok, I see, thanks. I just thought that this subsystem stuff will oblige 
> me to use the device/driver/bus model which does not suit me.

decl_subsys() is in the sysfs.h header file, not the device.h file.
Just stay away from anything in there if you hate the driver core so
much :)

> >Data (kobjects) have a different lifespan than code (modules).
> >Seperating them is a good idea, and if not, your reference counting
> >issues can be quite nasty.  See the recent EDAC fiasco for a good
> >example of how easy it is to mess things up in this manner.
> 
> My logic was that the lifetime of that kobject = lifetime of my module 
> because I cannot remove the module because every it's user increments 
> the module's refcount. So, if refcount of my module is zero then the 
> kobject's refcount is zero. Why this doesn't this work?

It "should" work in theory, but in real-life, the odds of getting all of
that lifetime logic correct...  :)

You can do it, but in general, it's easier to think about kobjects as
being dynamic devices, as that is what they are.  So making them dynamic
for real is a better thing to do to reinforce that principle.

Again, what are you doing that you can't use the driver core for?

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux