OpenVZ Forum


Home » Mailing lists » Devel » [PATCH] cfq: get rid of cfqq hash
Re: [PATCH] cfq: get rid of cfqq hash [message #12294 is a reply to message #12291] Tue, 24 April 2007 12:51 Go to previous messageGo to previous message
Vasily Tarasov is currently offline  Vasily Tarasov
Messages: 1345
Registered: January 2006
Senior Member
>> From: Vasily Tarasov <vtaras@openvz.org>
>>
>> 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

Ouch, I see the sources are changed since the moment I was getting them...
I'll resend a fresh version!
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: [PATCH 0/7] Containers (V8): Generic Process Containers
Next Topic: [patch 0/8] mount ownership and unprivileged mount syscall (v4)
Goto Forum:
  


Current Time: Thu Aug 15 00:30:08 GMT 2024

Total time taken to generate the page: 0.02727 seconds