On Mon, 2 Sep 2019, Huaisheng Ye wrote: > From: Huaisheng Ye <yehs1@xxxxxxxxxx> > > The array bio_in_progress[2] only have chance to be increased and > decreased with ssd mode. For pmem mode, they are not involved at all. > So skip writecache_wait_for_ios in writecache_flush for pmem. > > Suggested-by: Doris Yu <tyu1@xxxxxxxxxx> > Signed-off-by: Huaisheng Ye <yehs1@xxxxxxxxxx> > --- > drivers/md/dm-writecache.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c > index c481947..d06b8aa 100644 > --- a/drivers/md/dm-writecache.c > +++ b/drivers/md/dm-writecache.c > @@ -726,7 +726,8 @@ static void writecache_flush(struct dm_writecache *wc) > } > writecache_commit_flushed(wc); > > - writecache_wait_for_ios(wc, WRITE); > + if (!WC_MODE_PMEM(wc)) > + writecache_wait_for_ios(wc, WRITE); > > wc->seq_count++; > pmem_assign(sb(wc)->seq_count, cpu_to_le64(wc->seq_count)); > -- > 1.8.3.1 I think this is not needed - wait_event in writecache_wait_for_ios exits immediatelly if the condition is true. This code path is not so hot that we would need microoptimizations like this to avoid function calls. Mikulas -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel