Re: [PATCH] Replace completions with semaphores

From: Daniel Walker
Date: Sat Apr 12 2008 - 02:43:33 EST



On Fri, 2008-04-11 at 15:00 -0600, Matthew Wilcox wrote:

> So does it make sense to retain the completion as a primitive
> in Linux? On the one hand, it clearly denotes how one uses it --
> that it's initially 'locked' and becomes 'unlocked' later. On the
> other hand, it is Yet Another Thing to be maintained; I had to
> add wait_for_completion_killable(), probably there needs to be a
> wait_for_completion_killable_timeout() too.

>From my perspective it should be keep completions , and remove
semaphores.. The problem with semaphores is the lack of a strict API,
and loose usage. I've seen a lot of "creative" locking in the kernel,
and if we allow that we're just asking for continued maintainability
problems in the code that uses semaphores. At times I've spent hours
trying to figure out what a semaphore is doing, or suppose to be doing.
If we enforce strict usage of semaphores, then we'll basically reproduce
mutex usage, and we have a generic mutex already..

Daniel


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