Re: [PATCH] completion: Document that reinit_completion() must be called after complete_all()

From: Steven Rostedt
Date: Wed Aug 16 2017 - 12:59:42 EST


On Wed, 16 Aug 2017 09:47:38 -0700
Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Wed, Aug 16, 2017 at 8:27 AM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> > The function complete_all() modifies the completion "done" variable to
> > UINT_MAX, and no other caller (wait_for_completion(), etc) will modify
> > it back to zero. That means that any call to complete_all() must have a
> > reinit_completion() before that completion can be used again.
> >
> > Document this fact by the complete_all() function.
>
> I think this is misleading.
>
> People reading that comment will just say "why doesn't complete_all()
> just reinit the thing then?"
>
> So the comment should probably say that it needs to be reinited after
> all the existing completion users have actually woken up, so that it
> explains why the reinit isn't just done by complete_all().
>

Agreed. I'll send a v2.

Thanks,

-- Steve