diff options
author | Javier González <javier@javigon.com> | 2019-02-11 13:25:08 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-02-11 08:18:08 -0700 |
commit | b4cdc4260edf7e03d8b6fabb88aec2cdda95917e (patch) | |
tree | 60a43e88ec0f1f66c94843b4e209b782347478d2 /.gitignore | |
parent | aa8759d80a755cb32f1707b360a265f3695770ef (diff) |
lightnvm: pblk: prevent stall due to wb threshold
In order to respect mw_cuinits, pblk's write buffer maintains a
backpointer to protect data not yet persisted; when writing to the write
buffer, this backpointer defines a threshold that pblk's rate-limiter
enforces.
On small PU configurations, the following scenarios might take place: (i)
the threshold is larger than the write buffer and (ii) the threshold is
smaller than the write buffer, but larger than the maximun allowed
split bio - 256KB at this moment (Note that writes are not always
split - we only do this when we the size of the buffer is smaller
than the buffer). In both cases, pblk's rate-limiter prevents the I/O to
be written to the buffer, thus stalling.
This patch fixes the original backpointer implementation by considering
the threshold both on buffer creation and on the rate-limiters path,
when bio_split is triggered (case (ii) above).
Fixes: 766c8ceb16fc ("lightnvm: pblk: guarantee that backpointer is respected on writer stall")
Signed-off-by: Javier González <javier@javigon.com>
Reviewed-by: Hans Holmberg <hans.holmberg@cnexlabs.com>
Signed-off-by: Matias Bjørling <mb@lightnvm.io>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to '.gitignore')
0 files changed, 0 insertions, 0 deletions