Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752618AbZI1RvY (ORCPT ); Mon, 28 Sep 2009 13:51:24 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752107AbZI1RvX (ORCPT ); Mon, 28 Sep 2009 13:51:23 -0400 Received: from mail.gmx.net ([213.165.64.20]:38805 "HELO mail.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751837AbZI1RvW (ORCPT ); Mon, 28 Sep 2009 13:51:22 -0400 X-Authenticated: #14349625 X-Provags-ID: V01U2FsdGVkX191tjpkK8l1Hq0TwokoYqXc9Bq3MNP6SAICikce4n t99V0ZhNbFHuOg Subject: Re: IO scheduler based IO controller V10 From: Mike Galbraith To: Corrado Zoccolo Cc: Vivek Goyal , Ulrich Lukas , linux-kernel@vger.kernel.org, containers@lists.linux-foundation.org, dm-devel@redhat.com, nauman@google.com, dpshah@google.com, lizf@cn.fujitsu.com, mikew@google.com, fchecconi@gmail.com, paolo.valente@unimore.it, ryov@valinux.co.jp, fernando@oss.ntt.co.jp, jmoyer@redhat.com, dhaval@linux.vnet.ibm.com, balbir@linux.vnet.ibm.com, righi.andrea@gmail.com, m-ikeda@ds.jp.nec.com, agk@redhat.com, akpm@linux-foundation.org, peterz@infradead.org, jmarchan@redhat.com, torvalds@linux-foundation.org, mingo@elte.hu, riel@redhat.com, jens.axboe@oracle.com, Tobias Oetiker In-Reply-To: <4e5e476b0909280835w3410d58aod93a29d1dcda8909@mail.gmail.com> References: <1253820332-10246-1-git-send-email-vgoyal@redhat.com> <4ABC28DE.7050809@datenparkplatz.de> <20090925202636.GC15007@redhat.com> <4e5e476b0909271000u69d79346s27cccad219e49902@mail.gmail.com> <20090928145655.GB8192@redhat.com> <4e5e476b0909280835w3410d58aod93a29d1dcda8909@mail.gmail.com> Content-Type: text/plain Date: Mon, 28 Sep 2009 19:51:14 +0200 Message-Id: <1254160274.9820.25.camel@marge.simson.net> Mime-Version: 1.0 X-Mailer: Evolution 2.24.1.1 Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.53 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2422 Lines: 48 On Mon, 2009-09-28 at 17:35 +0200, Corrado Zoccolo wrote: > Great. > Can you try the attached patch (on top of 2.6.31)? > It implements the alternative approach we discussed privately in july, > and it addresses the possible latency increase that could happen with > your patch. > > To summarize for everyone, we separate sync sequential queues, sync > seeky queues and async queues in three separate RR strucutres, and > alternate servicing requests between them. > > When servicing seeky queues (the ones that are usually penalized by > cfq, for which no fairness is usually provided), we do not idle > between them, but we do idle for the last queue (the idle can be > exited when any seeky queue has requests). This allows us to allocate > disk time globally for all seeky processes, and to reduce seeky > processes latencies. > > I tested with 'konsole -e exit', while doing a sequential write with > dd, and the start up time reduced from 37s to 7s, on an old laptop > disk. I was fiddling around trying to get IDLE class to behave at least, and getting a bit frustrated. Class/priority didn't seem to make much if any difference for konsole -e exit timings, and now I know why. I saw the reference to Vivek's patch, and gave it a shot. Makes a large difference. Avg perf stat 12.82 7.19 8.49 5.76 9.32 8.7 anticipatory 16.24 175.82 154.38 228.97 147.16 144.5 noop 43.23 57.39 96.13 148.25 180.09 105.0 deadline 9.15 14.51 9.39 15.06 9.90 11.6 cfq fairness=0 dd=nice 0 12.22 9.85 12.55 9.88 15.06 11.9 cfq fairness=0 dd=nice 19 9.77 13.19 11.78 17.40 9.51 11.9 cfq fairness=0 dd=SCHED_IDLE 4.59 2.74 4.70 3.45 4.69 4.0 cfq fairness=1 dd=nice 0 3.79 4.66 2.66 5.15 3.03 3.8 cfq fairness=1 dd=nice 19 2.79 4.73 2.79 4.02 2.50 3.3 cfq fairness=1 dd=SCHED_IDLE I'll give your patch a spin as well. -Mike -- 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/