All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Justin TerAvest <teravest@google.com>
Cc: Chad Talbott <ctalbott@google.com>,
	Nauman Rafique <nauman@google.com>,
	Divyesh Shah <dpshah@google.com>,
	lkml <linux-kernel@vger.kernel.org>,
	Gui Jianfeng <guijianfeng@cn.fujitsu.com>,
	Jens Axboe <axboe@kernel.dk>,
	Corrado Zoccolo <czoccolo@gmail.com>
Subject: Re: RFC: default group_isolation to 1, remove option
Date: Tue, 1 Mar 2011 09:20:02 -0500	[thread overview]
Message-ID: <20110301142002.GB25699@redhat.com> (raw)
In-Reply-To: <AANLkTinXa4Zjg0zGbPQRZQi2QW_-0y+PBzQwcdjPLVKZ@mail.gmail.com>

On Mon, Feb 28, 2011 at 04:19:43PM -0800, Justin TerAvest wrote:
> Hi Vivek,
> 
> I'd like to propose removing the group_isolation setting and changing
> the default to 1. Do we know if anyone is using group_isolation=0 to get
> easy group separation between sequential readers and random readers?

CCing Corrado.

I like the idea of setting group_isolation = 1 to default. So far I have
not found anybody trying to use group_isolation=0 and every time I had
to say can you try setting group_isolation to 1 if you are not seeing
service differentiation.

I think I would not mind removing it completely altogether also. This will
also remove some code from CFQ. The reason we introduced group_isolation
because by default we idle on sync-noidle tree and on fast devices idling on
every syn-noidle tree can be very harmful for throughput, especially on faster
storage like storage arrays.

One of the soutions for that problem can be that run with slice idle
enabled on SATA disks and run with slice_idle=0 and possibly group_idle=0
also on faster storage. Setting idling to 0 will increase throughput but
at the same time reduce the isolation significantly. But I guess this
is the performance vs isolation trade off.

> 
> Allowing group_isolation complicates implementing per-cgroup request
> descriptor pools when a queue is moved to the root group. Specifically,
> if we have pools per-cgroup, we would be forced to use request
> descriptors from the pool for the "original" cgroup, while the requests
> are actually being serviced by the root cgroup.

I think creating per group request pool will complicate the implementation
further. (we have done that once in the past). Jens once mentioned that
he liked number of requests per iocontext limit better than overall queue
limit. So if we implement per iocontext limit, it will get rid of need 
of doing anything extra for group infrastructure.

Jens, do you think per iocontext per queue limit on request descriptors make
sense and we can get rid of per queue overall limit? 

Thanks
Vivek

  reply	other threads:[~2011-03-01 14:20 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-01  0:19 RFC: default group_isolation to 1, remove option Justin TerAvest
2011-03-01 14:20 ` Vivek Goyal [this message]
2011-03-01 18:44   ` Justin TerAvest
2011-03-02 21:28     ` Vivek Goyal
2011-03-06 16:06       ` Andrea Righi
2011-03-03  3:45   ` Jens Axboe
2011-03-03 15:30     ` Per iocontext request descriptor limits (Was: Re: RFC: default group_isolation to 1, remove option) Vivek Goyal
2011-03-03 15:44       ` Jens Axboe
2011-03-03 16:57         ` Vivek Goyal
2011-03-03 18:03           ` Vivek Goyal
2011-03-04 11:01             ` Jens Axboe
2011-03-04 21:31               ` Vivek Goyal
2011-03-04 21:34                 ` Jens Axboe
2011-03-07 18:20     ` RFC: default group_isolation to 1, remove option Justin TerAvest
2011-03-07 19:39       ` Jens Axboe
2011-03-07 20:24         ` Vivek Goyal
2011-03-07 20:32           ` Jens Axboe
2011-03-07 20:46             ` Vivek Goyal
2011-03-07 20:47               ` Jens Axboe
2011-03-07 23:41                 ` Justin TerAvest
2011-03-08  0:05             ` Vivek Goyal
2011-03-07 20:34           ` Vivek Goyal
2011-03-07 20:36             ` 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=20110301142002.GB25699@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=ctalbott@google.com \
    --cc=czoccolo@gmail.com \
    --cc=dpshah@google.com \
    --cc=guijianfeng@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nauman@google.com \
    --cc=teravest@google.com \
    /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.