lkml.org 
[lkml]   [2015]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH BUGFIX 0/3] null_blk: fix throughout losses and hangs
Date
Hi,
while doing some tests with the null_blk device driver, we bumped into
two problems: first, unjustified and in some cases high throughput
losses; second, actual hangs. These problems seem to be the
consequence of the combination of three causes, and this patchset
introduces a fix for each of these causes. In particular, changes
address:
. an apparent flaw in the logic with which delayed completions are
implemented: this flaw causes, with unlucky but non-pathological
workloads, actual request-completion delays to become arbitrarily
larger than the configured delay;
. the missing restart of the device queue on the completion of a request in
single-queue non-delayed mode;
. the overflow of the request-delay parameter, when extremely high values
are used (e.g., to spot bugs).

To avoid possible confusion, we stress that these fixes *do not* have
anything to do with the problems highlighted in [1] (tests of the
multiqueue xen-blkfront and xen-blkback modules with null_blk).

You can find more details in the patch descriptions.

Thanks,
Paolo and Arianna

[1] https://lkml.org/lkml/2015/8/19/181

Arianna Avanzini (2):
null_blk: guarantee device restart in all irq modes
null_blk: change type of completion_nsec to unsigned long

Paolo Valente (1):
null_blk: set a separate timer for each command

drivers/block/null_blk.c | 94 +++++++++++++++++-------------------------------
1 file changed, 33 insertions(+), 61 deletions(-)

--
1.9.1



\
 
 \ /
  Last update: 2015-11-02 16:21    [W:0.065 / U:0.724 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site