diff mbox

[1/2] lightnvm: break the loop when rqd is not null

Message ID 1463639921-1824-1-git-send-email-wwtao0320@163.com (mailing list archive)
State New, archived
Headers show

Commit Message

Wenwei Tao May 19, 2016, 6:38 a.m. UTC
From: Wenwei Tao <ww.tao0320@gmail.com>

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

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

Comments

Matias Bjorling May 19, 2016, 12:40 p.m. UTC | #1
On 05/19/2016 08:38 AM, Wenwei Tao wrote:
> From: Wenwei Tao <ww.tao0320@gmail.com>
>
> Break the loop when rqd is not null to reduce
> unnecessary schedule.
>
> Signed-off-by: Wenwei Tao <ww.tao0320@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();
}
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wenwei Tao May 19, 2016, 3:17 p.m. UTC | #2
That is okay with me.

2016-05-19 20:40 GMT+08:00 Matias Bjørling <mb@lightnvm.io>:
> On 05/19/2016 08:38 AM, Wenwei Tao wrote:
>>
>> From: Wenwei Tao <ww.tao0320@gmail.com>
>>
>> Break the loop when rqd is not null to reduce
>> unnecessary schedule.
>>
>> Signed-off-by: Wenwei Tao <ww.tao0320@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();
> }
--
To unsubscribe from this list: send the line "unsubscribe linux-block" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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);