[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1448966899-3399-1-git-send-email-paolo.valente@unimore.it>
Date: Tue, 1 Dec 2015 11:48:16 +0100
From: Paolo Valente <paolo.valente@...more.it>
To: Jens Axboe <axboe@...com>,
Matias Bjørling <m@...rling.me>,
Arianna Avanzini <avanzini@...gle.com>
Cc: Paolo Valente <paolo.valente@...more.it>,
Akinobu Mita <akinobu.mita@...il.com>,
"Luis R. Rodriguez" <mcgrof@...e.com>,
Ming Lei <ming.lei@...onical.com>,
Mike Krinkin <krinkin.m.u@...il.com>,
linux-kernel@...r.kernel.org
Subject: [PATCH BUGFIX V2 0/3] null_blk: fix throughput losses and hangs
Hi,
here is an updated version of the patchset, differing from the
previous version only in that it reinstates the missing extra check
pointed out in [2]. For your convenience, the content of the cover
letter for the previous version follows.
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
[2] https://lkml.org/lkml/2015/11/2/433
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists