Re: [PATCH v4] bcache: Don't reinvent the wheel but use existing llist API
From: Coly Li
Date: Mon Sep 04 2017 - 22:55:00 EST
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@xxxxxxx>
>>>> Acked-by: Coly Li <colyli@xxxxxxx>
>>>> ---
>>>> 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@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>