From: Vivek Goyal <vgoyal@redhat.com>
To: Hillf Danton <dhillf@gmail.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] add rb_next in block throttle
Date: Tue, 30 Nov 2010 09:36:31 -0500 [thread overview]
Message-ID: <20101130143631.GC26758@redhat.com> (raw)
In-Reply-To: <AANLkTimV=6=Je=k6UW=ivJtmR0ONoTrscM2i8YJd5JjA@mail.gmail.com>
On Fri, Nov 26, 2010 at 10:06:27PM +0800, Hillf Danton wrote:
> When selecting group for dispatching, the first entry of the service
> tree is sequentially dequeued, then the first entry is recomputed by
> calling rb_first().
>
> When the first is removed from service tree, new first could also be
> computed with rb_next(), since it could be faster than rb_first in
> this special environment.
>
> Signed-off-by: Hillf Danton <dhillf@gmail.com>
> ---
Ok. So set the leftmost element with the help of rb_next() at the time of
deletion of existing leftmost element. Not sure whether it is cheaper or
not but does not harm doing it this way.
Have you tested it to make sure nothing is broken?
Thanks
Vivek
>
> --- a/block/blk-throttle.c 2010-11-01 19:54:12.000000000 +0800
> +++ b/block/blk-throttle.c 2010-11-26 21:27:40.000000000 +0800
> @@ -251,7 +251,7 @@ static void rb_erase_init(struct rb_node
> static void throtl_rb_erase(struct rb_node *n, struct throtl_rb_root *root)
> {
> if (root->left == n)
> - root->left = NULL;
> + root->left = rb_next(n);
> rb_erase_init(n, &root->rb);
> --root->count;
> }
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2010-11-30 14:36 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-26 14:06 [PATCH] add rb_next in block throttle Hillf Danton
2010-11-30 14:36 ` Vivek Goyal [this message]
2010-12-01 13:11 ` Hillf Danton
2010-12-01 14:42 ` Vivek Goyal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101130143631.GC26758@redhat.com \
--to=vgoyal@redhat.com \
--cc=dhillf@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.