Re: [PATCH 1/2] sched/wait: Break up long wake list walk
From: Tim Chen
Date: Thu Aug 24 2017 - 13:49:23 EST
On 08/23/2017 04:30 PM, Linus Torvalds wrote:
> On Wed, Aug 23, 2017 at 11:17 AM, Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>> On Wed, Aug 23, 2017 at 8:58 AM, Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> wrote:
>>>
>>> Will you still consider the original patch as a fail safe mechanism?
>>
>> I don't think we have much choice, although I would *really* want to
>> get this root-caused rather than just papering over the symptoms.
>
> Oh well. Apparently we're not making progress on that, so I looked at
> the patch again.
>
> Can we fix it up a bit? In particular, the "bookmark_wake_function()"
> thing added no value, and definitely shouldn't have been exported.
> Just use NULL instead.
>
> And the WAITQUEUE_WALK_BREAK_CNT thing should be internal to
> __wake_up_common(), not in some common header file. Again, there's no
> value in exporting it to anybody else.
>
> And doing
>
> if (curr->flags & WQ_FLAG_BOOKMARK)
>
> looks odd, when we just did
>
> unsigned flags = curr->flags;
>
> one line earlier, so that can be just simplified.
>
> So can you test that simplified version of the patch? I'm attaching my
> suggested edited patch, but you may just want to do those changes
> directly to your tree instead.
These changes look fine. We are testing them now.
Does the second patch in the series look okay to you?
Thanks.
Tim