Re: [PATCH] New operation for kref to help avoid locks

From: Nick Piggin
Date: Tue Mar 01 2005 - 19:36:32 EST


Corey Minyard wrote:
Nick Piggin wrote:

Is get_with_check actually going to be useful for anything? It
seems like it promotes complex and potentially unsafe schemes.


It is certainly more complex to use this, and I'm guessing that's why Greg rejected it. Certainly a valid problem.


eg. In your queue example, it would usually be better to have
a refcount for being on queue, and entry_completed would remove
the entry from the queue and accordingly drop the refcount. The
release function would then just free it.


True. But if things picked up entries of the queue and incremented their refcount, then you would need a lock. The same technique would apply. But your example would be the more common one, I would think.


Well, but you take a lock in your system too, to protect the
queue (ie. in get_working_entry()).

Nick

-
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/