mbox series

[BUGFIX/IMPROVEMENT,0/4] block, bfq: series of fixes of bugs affecting service guarantees

Message ID 20170921090403.3217-1-paolo.valente@linaro.org
Headers show
Series block, bfq: series of fixes of bugs affecting service guarantees | expand

Message

Paolo Valente Sept. 21, 2017, 9:03 a.m. UTC
Hi,
the first patch in this series fixes a bug that causes bfq to fail to
guarantee a high responsiveness on some drives, if there is heavy
random read+write I/O in the background. More precisely, such a
failure allowed this bug to be found [1], but the bug may well cause
other yet unreported anomalies.

This fix uncovered other bugs that were concealed by the fixed bug,
for rather subtle reasons. These further bugs caused similar
responsiveness failures, but with sequential reaad+write workloads in
the background. The remaining three patches fix these further bugs.

The sum of these fixes makes responsiveness much stabler with BFQ. In
the presence of write hogs, it is however still impossible for an I/O
scheduler to guarantee perfect responsiveness in any circustance,
because of throttling issues in the virtual-memory management
subsystem, and in other higher-level components.

Thanks,
Paolo

[1] Background I/O Type: Random - Background I/O mix: Reads and writes
- Application to start: LibreOffice Writer in
http://www.phoronix.com/scan.php?page=news_item&px=Linux-4.13-IO-Laptop


Paolo Valente (4):
  block, bfq: fix wrong init of saved start time for weight raising
  block, bfq: check and switch back to interactive wr also on queue
    split
  block, bfq: let early-merged queues be weight-raised on split too
  block, bfq: decrease burst size when queues in burst exit

 block/bfq-iosched.c | 169 +++++++++++++++++++++++++++++++---------------------
 1 file changed, 102 insertions(+), 67 deletions(-)

--
2.10.0

Comments

Jens Axboe Oct. 3, 2017, 2:41 p.m. UTC | #1
On 09/21/2017 03:03 AM, Paolo Valente wrote:
> Hi,

> the first patch in this series fixes a bug that causes bfq to fail to

> guarantee a high responsiveness on some drives, if there is heavy

> random read+write I/O in the background. More precisely, such a

> failure allowed this bug to be found [1], but the bug may well cause

> other yet unreported anomalies.

> 

> This fix uncovered other bugs that were concealed by the fixed bug,

> for rather subtle reasons. These further bugs caused similar

> responsiveness failures, but with sequential reaad+write workloads in

> the background. The remaining three patches fix these further bugs.

> 

> The sum of these fixes makes responsiveness much stabler with BFQ. In

> the presence of write hogs, it is however still impossible for an I/O

> scheduler to guarantee perfect responsiveness in any circustance,

> because of throttling issues in the virtual-memory management

> subsystem, and in other higher-level components.


Added for 4.15, thanks.

-- 
Jens Axboe