Source-Changes-D archive

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

Re: CVS commit: src/sys/kern



On Sat, Jan 09, 2010 at 01:38:04PM +0000, Mindaugas Rasiukevicius wrote:
> David Young <dyoung%pobox.com@localhost> wrote:
> > Previously, the code distinguished garbage collection, locking
> > acquisition, and resource-reclamation from each other by using
> > more, and more meaningful, subroutine names.  Also, in the common
> > case, it collected and reclaimed garbage immediately at the end of
> > config_detach(9) instead of at some arbitrary time in the future (for
> > example, in the next call to device_lookup()).
> > 
> > Your change obfuscates the code and needlessly postpones a lot of
> > garbage collection.  Please back it out.
> 
> Your code had local a list of devices to G/C - it is redundant.

Now there is a global list, and there is still a local list of devices
to garbage collect.  That is not more redundant?

> Having
> resource freeing/destroying tied with last unlock operation will make sure
> that it wont be done with locks held - that is a common way.  Perhaps
> names "lock/unlock" confuse you?  It can be "enter/exit" or similar.

The names are no longer descriptive.  "Enter" and "exit" are vague.

> Can you explain "arbitrary time in the future" and "needlessly postpones"?
> It does not change the previous behaviour.

You changed the previous behavior in two ways:

config_detach: used to collect the garbage it just created, in the
    common case where no other thread was in the device tree.  Now it
    does not.

device_lookup: collects garbage where previously it did not.

Back the changes out, and let's discuss how to achieve your purposes
with a smaller change.

Dave

-- 
David Young             OJC Technologies
dyoung%ojctech.com@localhost      Urbana, IL * (217) 278-3933


Home | Main Index | Thread Index | Old Index