Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759540AbdDSFBo (ORCPT ); Wed, 19 Apr 2017 01:01:44 -0400 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:3577 "EHLO esa1.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759376AbdDSFBl (ORCPT ); Wed, 19 Apr 2017 01:01:41 -0400 X-IronPort-AV: E=Sophos;i="5.37,219,1488816000"; d="scan'208";a="113953407" From: Bart Van Assche To: Paolo Valente CC: "aherrmann@suse.com" , "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" , "axboe@kernel.dk" Subject: Re: bfq-mq performance comparison to cfq Thread-Topic: bfq-mq performance comparison to cfq Thread-Index: AQHSsdm2Eefag5Pjc0GpWkttf0cWdQ== Date: Wed, 19 Apr 2017 05:01:36 +0000 Message-ID: References: <20170410090538.GA11473@suselix.suse.de> <82BCEB46-8D05-42DA-AE06-3426895A7842@linaro.org> <1491837330.4199.1.camel@sandisk.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=sandisk.com; x-originating-ip: [76.102.111.178] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;CY1PR0401MB1534;7:ndbI//eZnCYv40uAGBtaLSAynRM3qG/31KTAC4IgLdIqRykLTGvt08prwItszttpNJ0hr7RIJjn6VxvExyEzpnydrXGxlAlhjSWvz2eT/0l69u1KXnKOZm0c6EMnoR9/wPOJ2qiTCVNy2SpXXP2el8lvMtkaR3Nbp08rUGdNPPYSkifNhmLdrgc+231WB1LjitO9kIzro5+5wFq017o3v3qm/cEqCrRCZDPw/wj3Wxj5quM5CwAbT3pasaYK2dbmFNAKJrNpPJzY6T0gKnRrOGsbifkpaU2J7b19LpKx43uCoyhw/7/zE2QUhemQylcX7hXzJYGqpXeLsmMEtnCZhg==;20:Iw04W5Kj5a2k5k330kJoTF57snsH3ACs4uhKsehGjiu/r/oZ//EKphbjRCRR4C7P2m/1LUwOL4OlvcHKC+C1cj1nHNhDxCzs30k8wVX09+cxFnYYhA4+1gibL88zb5bHK4DZyAZ9PCSXdpPwzQXQ1t88P1N2ptaosiQbJWWjxv0= x-ms-office365-filtering-correlation-id: 56cd73d9-d145-407d-3889-08d486e1287e x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081)(201702281549075);SRVR:CY1PR0401MB1534; wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(278428928389397)(42932892334569); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041248)(20161123560025)(20161123555025)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(6072148);SRVR:CY1PR0401MB1534;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0401MB1534; x-forefront-prvs: 028256169F x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(39400400002)(39410400002)(39840400002)(39860400002)(39850400002)(39450400003)(377424004)(24454002)(50986999)(6116002)(7696004)(3846002)(102836003)(2900100001)(86362001)(229853002)(74316002)(3280700002)(6916009)(66066001)(76176999)(4326008)(81166006)(77096006)(25786009)(53546009)(99286003)(55016002)(54906002)(8936002)(189998001)(110136004)(6436002)(5660300001)(93886004)(33656002)(6506006)(9686003)(38730400002)(6246003)(8676002)(7736002)(2906002)(54356999)(305945005)(3660700001)(53936002)(122556002);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0401MB1534;H:CY1PR0401MB1536.namprd04.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Apr 2017 05:01:36.9754 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0401MB1534 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v3J51rO4015294 Content-Length: 1770 Lines: 37 On 04/11/17 00:29, Paolo Valente wrote: > >> Il giorno 10 apr 2017, alle ore 17:15, Bart Van Assche ha scritto: >> >> On Mon, 2017-04-10 at 11:55 +0200, Paolo Valente wrote: >>> That said, if you do always want maximum throughput, even at the >>> expense of latency, then just switch off low-latency heuristics, i.e., >>> set low_latency to 0. Depending on the device, setting slice_ilde to >>> 0 may help a lot too (as well as with CFQ). If the throughput is >>> still low also after forcing BFQ to an only-throughput mode, then you >>> hit some bug, and I'll have a little more work to do ... >> >> Has it been considered to make applications tell the I/O scheduler >> whether to optimize for latency or for throughput? It shouldn't be that >> hard for window managers and shells to figure out whether or not a new >> application that is being started is interactive or not. This would >> require a mechanism that allows applications to provide such information >> to the I/O scheduler. Wouldn't that be a better approach than the I/O >> scheduler trying to guess whether or not an application is an interactive >> application? > > IMO that would be an (or maybe the) optimal solution, in terms of both > throughput and latency. We have even developed a prototype doing what > you propose, for Android. Unfortunately, I have not yet succeeded in > getting support, to turn it into candidate production code, or to make > a similar solution for lsb-compliant systems. Hello Paolo, What API was used by the Android application to tell the I/O scheduler to optimize for latency? Do you think that it would be sufficient if the application uses the ioprio_set() system call to set the I/O priority to IOPRIO_CLASS_RT? Thanks, Bart.