All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: linux-kernel@vger.kernel.org, jaxboe@fusionio.com, axboe@kernel.dk
Cc: dpshah@google.com
Subject: Re: [PATCH 00/13] blk-throttle: lockless bio processing for no throttle rule group [V2]
Date: Thu, 19 May 2011 15:58:59 -0400	[thread overview]
Message-ID: <20110519195859.GF12600@redhat.com> (raw)
In-Reply-To: <1305833911-7717-1-git-send-email-vgoyal@redhat.com>

On Thu, May 19, 2011 at 03:38:18PM -0400, Vivek Goyal wrote:
> Hi,
> 
> This is V2 of the patch. Changes from V1 are.
> 
> - Dropped first patch of the series which has already been merged.
> - Fixed couple of white space warnings.
> 
> Jens, I am sending this series on your both the ids. See if both produce
> warnings.
> 
> Block throttling code takes request queue lock for every incoming bio
> (blk_throtl_bio()). This is true even if there are no throttle rules in
> the group. This is a common case for root cgroup where distributions
> will have throttling support compiled in but a vast majority of users
> will not be specifying throttling rule.
> 
> This patch series tries to make bio processing lockless (no requeust
> queue lock), if there are no rules specified for the group. Once
> a bio is submitted, under rcu_read_lock() we search for the group,
> update the stats and release the rcu lock. request queue lock is taken
> only if there are throttling rules specified in the group.
> 
> I have made some of the dispatch stats per cpu so that these can be updated
> without taking request queue lock.

Also forgot to mention that now throttling path does not take blkg->stat_lock
at all. Throttling updates only 3 stats and all these 3 stats have been
converted to per cpu, hence we got rid of the need of taking blkg->stat_lock
also.

Divyesh, can you have a look at locking changes around stats and see if 
you have any concerns.

Thanks
Vivek

      parent reply	other threads:[~2011-05-19 19:59 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-19 19:38 [PATCH 00/13] blk-throttle: lockless bio processing for no throttle rule group [V2] Vivek Goyal
2011-05-19 19:38 ` [PATCH 01/13] blk-throttle: Do the new group initialization with the help of a function Vivek Goyal
2011-05-19 19:38 ` [PATCH 02/13] blk-cgroup: move some fields of unaccounted_time file under right config option Vivek Goyal
2011-05-19 19:38 ` [PATCH 03/13] cfq-iosched: Get rid of redundant function parameter "create" Vivek Goyal
2011-05-19 19:38 ` [PATCH 04/13] cfq-iosched: Fix a possible race with cfq cgroup removal code Vivek Goyal
2011-05-19 19:38 ` [PATCH 05/13] blk-cgroup: Allow sleeping while dynamically allocating a group Vivek Goyal
2011-05-19 19:38 ` [PATCH 06/13] blk-throttle: Dynamically allocate root group Vivek Goyal
2011-05-19 19:38 ` [PATCH 07/13] blk-throttle: Introduce a helper function to fill in device details Vivek Goyal
2011-05-19 19:38 ` [PATCH 08/13] blk-throttle: Use helper function to add root throtl group to lists Vivek Goyal
2011-05-19 19:38 ` [PATCH 09/13] blk-throttle: Free up a group only after one rcu grace period Vivek Goyal
2011-05-19 19:38 ` [PATCH 10/13] blk-throttle: Make dispatch stats per cpu Vivek Goyal
2011-05-19 19:38 ` [PATCH 11/13] blk-cgroup: Make 64bit per cpu stats safe on 32bit arch Vivek Goyal
2011-05-19 19:38 ` [PATCH 12/13] blk-cgroup: Make cgroup stat reset path blkg->lock free for dispatch stats Vivek Goyal
2011-05-19 19:38 ` [PATCH 13/13] blk-throttle: Make no throttling rule group processing lockless Vivek Goyal
2011-05-19 19:58 ` Vivek Goyal [this message]

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=20110519195859.GF12600@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=dpshah@google.com \
    --cc=jaxboe@fusionio.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.