All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH BUGFIX 0/3] null_blk: fix throughout losses and hangs
@ 2015-11-02 14:31 Paolo Valente
  2015-11-02 14:31 ` [PATCH BUGFIX 1/3] null_blk: set a separate timer for each command Paolo Valente
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Paolo Valente @ 2015-11-02 14:31 UTC (permalink / raw)
  To: Jens Axboe, Matias Bjørling, Arianna Avanzini
  Cc: Paolo Valente, Akinobu Mita, Luis R. Rodriguez, Ming Lei,
	Mike Krinkin, linux-kernel

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


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2015-12-01 17:52 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-02 14:31 [PATCH BUGFIX 0/3] null_blk: fix throughout losses and hangs Paolo Valente
2015-11-02 14:31 ` [PATCH BUGFIX 1/3] null_blk: set a separate timer for each command Paolo Valente
2015-11-02 16:14   ` Jens Axboe
2015-11-03  9:01     ` Paolo Valente
2015-11-29 17:27       ` Paolo Valente
2015-11-30 15:55         ` Jens Axboe
2015-12-01 10:48           ` [PATCH BUGFIX V2 0/3] null_blk: fix throughput losses and hangs Paolo Valente
2015-12-01 10:48             ` [PATCH BUGFIX V2 1/3] null_blk: set a separate timer for each command Paolo Valente
2015-12-01 10:48             ` [PATCH BUGFIX V2 2/3] null_blk: guarantee device restart in all irq modes Paolo Valente
2015-12-01 10:48             ` [PATCH BUGFIX V2 3/3] null_blk: change type of completion_nsec to unsigned long Paolo Valente
2015-12-01 17:52             ` [PATCH BUGFIX V2 0/3] null_blk: fix throughput losses and hangs Jens Axboe
2015-11-02 14:31 ` [PATCH BUGFIX 2/3] null_blk: guarantee device restart in all irq modes Paolo Valente
2015-11-02 16:25   ` Jens Axboe
2015-11-03  9:02     ` Paolo Valente
2015-11-02 14:31 ` [PATCH BUGFIX 3/3] null_blk: change type of completion_nsec to unsigned long Paolo Valente

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.