All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Jens Axboe <jaxboe@fusionio.com>
Cc: Tejun Heo <tj@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/2] blk-throttle: Take blkcg->lock while traversing blkcg->policy_list
Date: Tue, 25 Oct 2011 15:01:51 -0400	[thread overview]
Message-ID: <20111025190151.GH23292@redhat.com> (raw)
In-Reply-To: <4EA6C3F7.20604@fusionio.com>

On Tue, Oct 25, 2011 at 04:13:11PM +0200, Jens Axboe wrote:
> On 2011-10-21 14:10, Vivek Goyal wrote:
> > On Thu, Oct 20, 2011 at 02:29:58PM -0700, Tejun Heo wrote:
> >> Hello,
> >>
> >> On Thu, Oct 20, 2011 at 05:20:21PM -0400, Vivek Goyal wrote:
> >>> The only problem with this approach is that it will cleanup per device
> >>> weight rules also at elevator_exit() time which is not same as device
> >>> removal and one might device to bring CFQ back on device and we will
> >>> need the rules again.
> >>
> >> I actually think removoing those rules on elevator detach would be the
> >> right thing to do.  We don't try to keep cfq setting across elevator
> >> switch.  When we're switching from cfq, we're detaching iocg policy
> >> too.  The settings going away is perfectly fine.  I actually think
> >> it's a pretty bad idea to implement ad-hoc setting persistence in
> >> kernel.  Just making sure that userland is notified is far better
> >> approach.  Userland has all the facilities to deal with this type of
> >> situations.
> >>
> >> When switching from cfq to deadline, we lose the whole proportional io
> >> control.  It's way more confusing to have lingering settings which
> >> don't do anything.
> > 
> > I am not so sure about this. Suppose tomorrow another IO sheduler starts
> > taking into account the cgroup gloabl weight or cgroup per device weight
> > to do some kind of IO prioritization, then removing the rules upon
> > changing the IO schduler will not make sense.
> > 
> > IOW, rules are per cgroup per device and not per cgroup per IO scheduler
> > and more than one IO scheduler should be able to share the rules.
> 
> FWIW, I agree with Tejun here. A switch operation is a reset, start from
> scratch. We don't preserve other per IO-scheduler settings on a switch,
> preserving _some_ settings is just confusing.

Ok. But this is more of a per queue setting (per cgroup, per device) and
not per IO scheduler one. That's a different thing that currently only CFQ
makes use of it. 

If we start looking at them just as CFQ specific weigths, then it is a 
different story. My thought process about these files was per cgroup per
device weights. 

Thanks
Vivek

  reply	other threads:[~2011-10-25 19:01 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-20 21:08 [PATCH 1/2] blk-throttle: Free up policy node associated with deleted rule Vivek Goyal
2011-10-20 21:08 ` [PATCH 2/2] blk-throttle: Take blkcg->lock while traversing blkcg->policy_list Vivek Goyal
2011-10-20 21:11   ` Tejun Heo
2011-10-20 21:20     ` Vivek Goyal
2011-10-20 21:29       ` Tejun Heo
2011-10-21 12:10         ` Vivek Goyal
2011-10-25 14:13           ` Jens Axboe
2011-10-25 19:01             ` Vivek Goyal [this message]
2011-10-20 21:09 ` [PATCH 1/2] blk-throttle: Free up policy node associated with deleted rule Tejun Heo
2011-10-25 13:36 ` Vivek Goyal
2011-10-25 13:45   ` Jens Axboe

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=20111025190151.GH23292@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=jaxboe@fusionio.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tj@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.