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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 04.03.2019 10:39, Hans Holmberg wrote:
On Mon, Mar 4, 2019 at 9:08 AM Javier González <javier@xxxxxxxxxxx> wrote:


On 27 Feb 2019, at 18.14, Igor Konopko <igor.j.konopko@xxxxxxxxx> 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@xxxxxxxxx>
---
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.

Yeah, I thought i fixed this issue in:

cc9c9a00b10e ("lightnvm: pblk: kick writer on new flush points")

That commit brought down the test time of some of the xfs sync tests
with a factor of 20 or so.

Igor: Have you seen any case of delayed syncs?

I didn't noticed that in the code. My mistake. So definitely my commit does not make a sense and we can just forget about that one.



Javier



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux