Re: [PATCH 09/13] lightnvm: pblk: Kick writer for flush requests

Javier González
2019-03-04T08:08:30Z

[-- Attachment #1: Type: text/plain, Size: 1161 bytes --]

> On 27 Feb 2019, at 18.14, Igor Konopko <igor.j.konopko@intel.com> wrote:
>
> In case when there is no enough sector available in rwb
> and there is flush request send we should kick write thread
> which is not a case in current implementation. This patch
> fixes that issue.
>
> Signed-off-by: Igor Konopko <igor.j.konopko@intel.com>
> ---
> drivers/lightnvm/pblk-core.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/lightnvm/pblk-core.c b/drivers/lightnvm/pblk-core.c
> index 78b1eea4ab67..f48f2e77f770 100644
> --- a/drivers/lightnvm/pblk-core.c
> +++ b/drivers/lightnvm/pblk-core.c
> @@ -375,8 +375,9 @@ void pblk_write_timer_fn(struct timer_list *t)
> void pblk_write_should_kick(struct pblk *pblk)
> {
> unsigned int secs_avail = pblk_rb_read_count(&pblk->rwb);
> + unsigned int secs_to_flush = pblk_rb_flush_point_count(&pblk->rwb);
>
> - if (secs_avail >= pblk->min_write_pgs_data)
> + if (secs_avail >= pblk->min_write_pgs_data || secs_to_flush)
> pblk_write_kick(pblk);
> }
>
> --
> 2.17.1

We already kick the write thread in case of REQ_PREFLUSH in
pblk_write_cache(), so no need to kick again.

Javier

[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]