On 05/19/2016 08:38 AM, Wenwei Tao wrote:
From: Wenwei Tao <ww.tao0...@gmail.com>

Break the loop when rqd is not null to reduce
unnecessary schedule.

Signed-off-by: Wenwei Tao <ww.tao0...@gmail.com>
---
  drivers/lightnvm/rrpc.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/drivers/lightnvm/rrpc.c b/drivers/lightnvm/rrpc.c
index 2103e97..2915e39 100644
--- a/drivers/lightnvm/rrpc.c
+++ b/drivers/lightnvm/rrpc.c
@@ -98,6 +98,9 @@ static void rrpc_discard(struct rrpc *rrpc, struct bio *bio)

        do {
                rqd = rrpc_inflight_laddr_acquire(rrpc, slba, len);
+               if (rqd)
+                       break;
+
                schedule();
        } while (!rqd);



If that case, mind if I convert the do..while to while?

while(1) {
        rqd = rrpc_inflight_laddr_acquire(rrpc, slba, len);
        if (rqd)
                break;
        schedule();
}

Reply via email to