Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752909AbYKNIDV (ORCPT ); Fri, 14 Nov 2008 03:03:21 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750986AbYKNIDM (ORCPT ); Fri, 14 Nov 2008 03:03:12 -0500 Received: from bombadil.infradead.org ([18.85.46.34]:52782 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750734AbYKNIDL (ORCPT ); Fri, 14 Nov 2008 03:03:11 -0500 Subject: RE: [patch 0/4] [RFC] Another proportional weight IO controller From: Peter Zijlstra To: Satoshi UCHIDA Cc: "'Vivek Goyal'" , "'Nauman Rafique'" , linux-kernel@vger.kernel.org, containers@lists.linux-foundation.org, virtualization@lists.linux-foundation.org, jens.axboe@oracle.com, "'Hirokazu Takahashi'" , "'Ryo Tsuruta'" , "'Andrea Righi'" , fernando@oss.ntt.co.jp, balbir@linux.vnet.ibm.com, "'Andrew Morton'" , menage@google.com, ngupta@google.com, "'Rik van Riel'" , "'Jeff Moyer'" , dpshah@google.com, "'Mike Waychison'" , rohitseth@google.com, "'Fabio Checconi'" , paolo.valente@unimore.it In-Reply-To: <002c01c94615$99061520$cb123f60$@jp.nec.com> References: <20081106163957.GB7461@redhat.com> <1225990327.7803.4776.camel@twins> <20081106170830.GD7461@redhat.com> <20081107141943.GC21884@redhat.com> <20081110141143.GC26956@redhat.com> <20081111223024.GA31527@redhat.com> <20081113180821.GF7542@redhat.com> <002c01c94615$99061520$cb123f60$@jp.nec.com> Content-Type: text/plain Content-Transfer-Encoding: 7bit Date: Fri, 14 Nov 2008 09:02:15 +0100 Message-Id: <1226649735.7685.6917.camel@twins> Mime-Version: 1.0 X-Mailer: Evolution 2.24.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1901 Lines: 52 On Fri, 2008-11-14 at 13:58 +0900, Satoshi UCHIDA wrote: > > I think Satoshi's cfq controller patches also do not seem to be considering > > A, B, C, D and E to be at same level, instead it treats cgroup "/" , D and > > E > > at same level and tries to do proportional BW division among these. > > Satoshi, please correct me, if that's not the case. > > > > Yes. > I think that a controller should be divided share among "/(root)" and two groups. > This reason is follows: > > * If these tasks are handled at same level, it is enough by using a traditional > CFQ scheduler. > If you want to make all tasks in the same group the same priority(parameter), > It is not I/O control but is parameter control. > > * I think that the group means the environment which makes some sense and > user want to control I/O per groups. > Next, the group is the environment. So, tasks within the group will have > priorities for themselves respectively as traditional environment. > Of course, group may not be need to control I/O. > In such time, a ioprio of tasks should be set the same priority. > > Therefore, our scheduler controls among group and then among tasks I would suggest abandoning this scheme as its different from how the CPU scheduler does it. The CPU scheduler is fully hierarchical and tasks in "/" are on the same level as groups in "/". That is, we do: root / | \ 1 2 A / \ B 3 / \ 4 5 Where digits are tasks, and letters are groups. Having the two bandwidth (CPU, I/O) doing different things wrt grouping can only be confusing at best. -- 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/