[PATCH 01/17] lightnvm: break the loop when rqd is not null
From: Matias Bjørling <hidden>
Date: 2016-07-07 07:54:41
Also in:
lkml
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Matias Bjørling <hidden>
Date: 2016-07-07 07:54:41
Also in:
lkml
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Wenwei Tao <redacted> Break the loop when rqd is not null to reduce an unnecessary schedule. Signed-off-by: Wenwei Tao <redacted> Signed-off-by: Matias Bjørling <redacted> --- drivers/lightnvm/rrpc.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/lightnvm/rrpc.c b/drivers/lightnvm/rrpc.c
index de86d72..736e669 100644
--- a/drivers/lightnvm/rrpc.c
+++ b/drivers/lightnvm/rrpc.c@@ -96,10 +96,13 @@ static void rrpc_discard(struct rrpc *rrpc, struct bio *bio) sector_t len = bio->bi_iter.bi_size / RRPC_EXPOSED_PAGE_SIZE; struct nvm_rq *rqd; - do { + while (1) { rqd = rrpc_inflight_laddr_acquire(rrpc, slba, len); + if (rqd) + break; + schedule(); - } while (!rqd); + } if (IS_ERR(rqd)) { pr_err("rrpc: unable to acquire inflight IO\n");
--
2.1.4