linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4] bcache: Don't reinvent the wheel but use existing llist API
@ 2017-08-11  4:42 Byungchul Park
  2017-08-18  1:24 ` Byungchul Park
  0 siblings, 1 reply; 6+ messages in thread
From: Byungchul Park @ 2017-08-11  4:42 UTC (permalink / raw)
  To: kent.overstreet, shli
  Cc: linux-bcache, linux-raid, i, nborisov, linux-kernel, kernel-team

Although llist provides proper APIs, they are not used. Make them used.

Signed-off-by: Byungchul Park <byungchul.park@lge.com>
Acked-by: Coly Li <colyli@suse.de>
---
 drivers/md/bcache/closure.c | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
index 864e673..7d5286b 100644
--- a/drivers/md/bcache/closure.c
+++ b/drivers/md/bcache/closure.c
@@ -70,21 +70,10 @@ void __closure_wake_up(struct closure_waitlist *wait_list)
 	list = llist_del_all(&wait_list->list);
 
 	/* We first reverse the list to preserve FIFO ordering and fairness */
-
-	while (list) {
-		struct llist_node *t = list;
-		list = llist_next(list);
-
-		t->next = reverse;
-		reverse = t;
-	}
+	reverse = llist_reverse_order(list);
 
 	/* Then do the wakeups */
-
-	while (reverse) {
-		cl = container_of(reverse, struct closure, list);
-		reverse = llist_next(reverse);
-
+	llist_for_each_entry(cl, reverse, list) {
 		closure_set_waiting(cl, 0);
 		closure_sub(cl, CLOSURE_WAITING + 1);
 	}
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v4] bcache: Don't reinvent the wheel but use existing llist API
  2017-08-11  4:42 [PATCH v4] bcache: Don't reinvent the wheel but use existing llist API Byungchul Park
@ 2017-08-18  1:24 ` Byungchul Park
  2017-08-18  6:04   ` Coly Li
  0 siblings, 1 reply; 6+ messages in thread
From: Byungchul Park @ 2017-08-18  1:24 UTC (permalink / raw)
  To: kent.overstreet, shli
  Cc: linux-bcache, linux-raid, i, nborisov, linux-kernel, kernel-team

On Fri, Aug 11, 2017 at 01:42:23PM +0900, Byungchul Park wrote:
> Although llist provides proper APIs, they are not used. Make them used.

Any opinions about this?

> 
> Signed-off-by: Byungchul Park <byungchul.park@lge.com>
> Acked-by: Coly Li <colyli@suse.de>
> ---
>  drivers/md/bcache/closure.c | 15 ++-------------
>  1 file changed, 2 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
> index 864e673..7d5286b 100644
> --- a/drivers/md/bcache/closure.c
> +++ b/drivers/md/bcache/closure.c
> @@ -70,21 +70,10 @@ void __closure_wake_up(struct closure_waitlist *wait_list)
>  	list = llist_del_all(&wait_list->list);
>  
>  	/* We first reverse the list to preserve FIFO ordering and fairness */
> -
> -	while (list) {
> -		struct llist_node *t = list;
> -		list = llist_next(list);
> -
> -		t->next = reverse;
> -		reverse = t;
> -	}
> +	reverse = llist_reverse_order(list);
>  
>  	/* Then do the wakeups */
> -
> -	while (reverse) {
> -		cl = container_of(reverse, struct closure, list);
> -		reverse = llist_next(reverse);
> -
> +	llist_for_each_entry(cl, reverse, list) {
>  		closure_set_waiting(cl, 0);
>  		closure_sub(cl, CLOSURE_WAITING + 1);
>  	}
> -- 
> 1.9.1

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v4] bcache: Don't reinvent the wheel but use existing llist API
  2017-08-18  1:24 ` Byungchul Park
@ 2017-08-18  6:04   ` Coly Li
  2017-08-18  6:10     ` Byungchul Park
  2017-09-05  2:37     ` Byungchul Park
  0 siblings, 2 replies; 6+ messages in thread
From: Coly Li @ 2017-08-18  6:04 UTC (permalink / raw)
  To: Byungchul Park
  Cc: kent.overstreet, shli, linux-bcache, linux-raid, nborisov,
	linux-kernel, kernel-team

On 2017/8/18 上午9:24, Byungchul Park wrote:
> On Fri, Aug 11, 2017 at 01:42:23PM +0900, Byungchul Park wrote:
>> Although llist provides proper APIs, they are not used. Make them used.
> 
> Any opinions about this?
> 

The patch is good. If Eric has no time, I will take care of it later.

Thanks.

Coly

>>
>> Signed-off-by: Byungchul Park <byungchul.park@lge.com>
>> Acked-by: Coly Li <colyli@suse.de>
>> ---
>>  drivers/md/bcache/closure.c | 15 ++-------------
>>  1 file changed, 2 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
>> index 864e673..7d5286b 100644
>> --- a/drivers/md/bcache/closure.c
>> +++ b/drivers/md/bcache/closure.c
>> @@ -70,21 +70,10 @@ void __closure_wake_up(struct closure_waitlist *wait_list)
>>  	list = llist_del_all(&wait_list->list);
>>  
>>  	/* We first reverse the list to preserve FIFO ordering and fairness */
>> -
>> -	while (list) {
>> -		struct llist_node *t = list;
>> -		list = llist_next(list);
>> -
>> -		t->next = reverse;
>> -		reverse = t;
>> -	}
>> +	reverse = llist_reverse_order(list);
>>  
>>  	/* Then do the wakeups */
>> -
>> -	while (reverse) {
>> -		cl = container_of(reverse, struct closure, list);
>> -		reverse = llist_next(reverse);
>> -
>> +	llist_for_each_entry(cl, reverse, list) {
>>  		closure_set_waiting(cl, 0);
>>  		closure_sub(cl, CLOSURE_WAITING + 1);
>>  	}
>> -- 
>> 1.9.1

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v4] bcache: Don't reinvent the wheel but use existing llist API
  2017-08-18  6:04   ` Coly Li
@ 2017-08-18  6:10     ` Byungchul Park
  2017-09-05  2:37     ` Byungchul Park
  1 sibling, 0 replies; 6+ messages in thread
From: Byungchul Park @ 2017-08-18  6:10 UTC (permalink / raw)
  To: Coly Li
  Cc: kent.overstreet, shli, linux-bcache, linux-raid, nborisov,
	linux-kernel, kernel-team

On Fri, Aug 18, 2017 at 02:04:20PM +0800, Coly Li wrote:
> On 2017/8/18 上午9:24, Byungchul Park wrote:
> > On Fri, Aug 11, 2017 at 01:42:23PM +0900, Byungchul Park wrote:
> >> Although llist provides proper APIs, they are not used. Make them used.
> > 
> > Any opinions about this?
> > 
> 
> The patch is good. If Eric has no time, I will take care of it later.

Hi, Coly

Thanks a lot. :)

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v4] bcache: Don't reinvent the wheel but use existing llist API
  2017-08-18  6:04   ` Coly Li
  2017-08-18  6:10     ` Byungchul Park
@ 2017-09-05  2:37     ` Byungchul Park
  2017-09-05  2:54       ` Coly Li
  1 sibling, 1 reply; 6+ messages in thread
From: Byungchul Park @ 2017-09-05  2:37 UTC (permalink / raw)
  To: Coly Li
  Cc: kent.overstreet, shli, linux-bcache, linux-raid, nborisov,
	linux-kernel, kernel-team

On Fri, Aug 18, 2017 at 02:04:20PM +0800, Coly Li wrote:
> On 2017/8/18 上午9:24, Byungchul Park wrote:
> > On Fri, Aug 11, 2017 at 01:42:23PM +0900, Byungchul Park wrote:
> >> Although llist provides proper APIs, they are not used. Make them used.
> > 
> > Any opinions about this?
> > 
> 
> The patch is good. If Eric has no time, I will take care of it later.

I would be appriciated if you take this at this window :)

> Thanks.
> 
> Coly
> 
> >>
> >> Signed-off-by: Byungchul Park <byungchul.park@lge.com>
> >> Acked-by: Coly Li <colyli@suse.de>
> >> ---
> >>  drivers/md/bcache/closure.c | 15 ++-------------
> >>  1 file changed, 2 insertions(+), 13 deletions(-)
> >>
> >> diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
> >> index 864e673..7d5286b 100644
> >> --- a/drivers/md/bcache/closure.c
> >> +++ b/drivers/md/bcache/closure.c
> >> @@ -70,21 +70,10 @@ void __closure_wake_up(struct closure_waitlist *wait_list)
> >>  	list = llist_del_all(&wait_list->list);
> >>  
> >>  	/* We first reverse the list to preserve FIFO ordering and fairness */
> >> -
> >> -	while (list) {
> >> -		struct llist_node *t = list;
> >> -		list = llist_next(list);
> >> -
> >> -		t->next = reverse;
> >> -		reverse = t;
> >> -	}
> >> +	reverse = llist_reverse_order(list);
> >>  
> >>  	/* Then do the wakeups */
> >> -
> >> -	while (reverse) {
> >> -		cl = container_of(reverse, struct closure, list);
> >> -		reverse = llist_next(reverse);
> >> -
> >> +	llist_for_each_entry(cl, reverse, list) {
> >>  		closure_set_waiting(cl, 0);
> >>  		closure_sub(cl, CLOSURE_WAITING + 1);
> >>  	}
> >> -- 
> >> 1.9.1

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v4] bcache: Don't reinvent the wheel but use existing llist API
  2017-09-05  2:37     ` Byungchul Park
@ 2017-09-05  2:54       ` Coly Li
  0 siblings, 0 replies; 6+ messages in thread
From: Coly Li @ 2017-09-05  2:54 UTC (permalink / raw)
  To: Byungchul Park, Coly Li
  Cc: kent.overstreet, shli, linux-bcache, linux-raid, nborisov,
	linux-kernel, kernel-team

On 2017/9/5 上午10:37, Byungchul Park wrote:
> On Fri, Aug 18, 2017 at 02:04:20PM +0800, Coly Li wrote:
>> On 2017/8/18 上午9:24, Byungchul Park wrote:
>>> On Fri, Aug 11, 2017 at 01:42:23PM +0900, Byungchul Park wrote:
>>>> Although llist provides proper APIs, they are not used. Make them used.
>>>
>>> Any opinions about this?
>>>
>>
>> The patch is good. If Eric has no time, I will take care of it later.
> 
> I would be appriciated if you take this at this window :)

Sure, I am preparing a patch list to block maintainers which we are
missed in last merge window, your patch is in the list.

It will be in one or two days from my side.

Coly

>>>>
>>>> Signed-off-by: Byungchul Park <byungchul.park@lge.com>
>>>> Acked-by: Coly Li <colyli@suse.de>
>>>> ---
>>>>  drivers/md/bcache/closure.c | 15 ++-------------
>>>>  1 file changed, 2 insertions(+), 13 deletions(-)
>>>>
>>>> diff --git a/drivers/md/bcache/closure.c b/drivers/md/bcache/closure.c
>>>> index 864e673..7d5286b 100644
>>>> --- a/drivers/md/bcache/closure.c
>>>> +++ b/drivers/md/bcache/closure.c
>>>> @@ -70,21 +70,10 @@ void __closure_wake_up(struct closure_waitlist *wait_list)
>>>>  	list = llist_del_all(&wait_list->list);
>>>>  
>>>>  	/* We first reverse the list to preserve FIFO ordering and fairness */
>>>> -
>>>> -	while (list) {
>>>> -		struct llist_node *t = list;
>>>> -		list = llist_next(list);
>>>> -
>>>> -		t->next = reverse;
>>>> -		reverse = t;
>>>> -	}
>>>> +	reverse = llist_reverse_order(list);
>>>>  
>>>>  	/* Then do the wakeups */
>>>> -
>>>> -	while (reverse) {
>>>> -		cl = container_of(reverse, struct closure, list);
>>>> -		reverse = llist_next(reverse);
>>>> -
>>>> +	llist_for_each_entry(cl, reverse, list) {
>>>>  		closure_set_waiting(cl, 0);
>>>>  		closure_sub(cl, CLOSURE_WAITING + 1);
>>>>  	}
>>>> -- 
>>>> 1.9.1
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-09-05  2:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-11  4:42 [PATCH v4] bcache: Don't reinvent the wheel but use existing llist API Byungchul Park
2017-08-18  1:24 ` Byungchul Park
2017-08-18  6:04   ` Coly Li
2017-08-18  6:10     ` Byungchul Park
2017-09-05  2:37     ` Byungchul Park
2017-09-05  2:54       ` Coly Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).