Re: [PATCH] Replace completions with semaphores

From: Jens Axboe
Date: Mon Apr 14 2008 - 12:55:07 EST


On Sun, Apr 13 2008, Matthew Wilcox wrote:
> On Sun, Apr 13, 2008 at 09:05:13AM +0200, Ingo Molnar wrote:
> > there's also another aspect: completions are faster a bit
> > in theory, because they know that they will schedule most of the time -
> > while semaphores assume that they will _not_ schedule. (And that's
> > exactly because the intent of the developer when using a completion is
> > crystal clear.)
>
> In practice though, the current implementation is slower. Of course,
> that's fixable, and I strongly suspect that the current users of
> completions simply don't care about speed -- the normal use of
> completions is in startup and shutdown paths where a millisecond extra
> isn't going to be noticable.

I'd be surprised if it was in that range, milisecond range would
definetely mean that something was completely bused in that area :-).
IOW, I'd be surprised if you can measure much of a difference, even in
microbencmarks.

And performance does matter somewhat, it's not ONLY used in
startup/shutdown scenarios. The block layer uses it for sync requests,
for instance.

--
Jens Axboe

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