On Tue, Apr 24 2007, Vasily Tarasov wrote: > From: Vasily Tarasov <[EMAIL PROTECTED]> > > cfq hash is no more necessary. We always can get cfqq from io context. > cfq_get_io_context_noalloc() function is introduced, because we don't want to > allocate cic on merging and checking may_queue. > In order to identify sync queue we've used hash key = CFQ_KEY_ASYNC. Since > hash > is eliminated we need to use other criterion: sync flag for queue is added. > In all places where we dig in rb_tree we're in current context, so no > additional locking is required. > > > Advantages of this patch: no additional memory for hash, no seeking in hash, > code is cleaner. But it is necessary now to seek cic in per-ioc rbtree, but > it is faster: > - most processes work only with few devices > - most systems have only few block devices > - it is a rb-tree
Vasily, thanks for doing this, it's a good cleanup. One request, though - care to rebase this against the cfq devel branch? I'm afraid it's nowhere near applying right now. -- Jens Axboe - 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/