Messages in this thread | | | Subject | Re: [PATCH] sched/completion: completion_done() should serialize with complete() | From | Davidlohr Bueso <> | Date | Fri, 13 Feb 2015 13:56:22 -0800 |
| |
On Thu, 2015-02-12 at 20:59 +0100, Oleg Nesterov wrote: > Commit de30ec47302c "Remove unnecessary ->wait.lock serialization when > reading completion state" was not correct, without lock/unlock the code > like stop_machine_from_inactive_cpu() > > while (!completion_done()) > cpu_relax(); > > can return before complete() finishes its spin_unlock() which writes to > this memory. And spin_unlock_wait().
How about reverting the patch altogether?
This was never a problem nor have I ever seen a performance issues in completions that would merit these lockless checks. The commit changelog has *zero* information, so I don't know if this was ever a real issue.
Thanks, Davidlohr
| |