[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CY1PR0401MB15362FAB3D841CDF2C421A2981180@CY1PR0401MB1536.namprd04.prod.outlook.com>
Date: Wed, 19 Apr 2017 05:01:36 +0000
From: Bart Van Assche <Bart.VanAssche@...disk.com>
To: Paolo Valente <paolo.valente@...aro.org>
CC: "aherrmann@...e.com" <aherrmann@...e.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-block@...r.kernel.org" <linux-block@...r.kernel.org>,
"axboe@...nel.dk" <axboe@...nel.dk>
Subject: Re: bfq-mq performance comparison to cfq
On 04/11/17 00:29, Paolo Valente wrote:
>
>> Il giorno 10 apr 2017, alle ore 17:15, Bart Van Assche <bart.vanassche@...disk.com> 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.
Powered by blists - more mailing lists