Re: [PATCH] sched/completion: completion_done() should serialize with complete()

2015-02-16 Thread Oleg Nesterov
On 02/16, Peter Zijlstra wrote: > > On Thu, Feb 12, 2015 at 08:59:13PM +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() > > > >

Re: [PATCH] sched/completion: completion_done() should serialize with complete()

2015-02-16 Thread Peter Zijlstra
On Thu, Feb 12, 2015 at 08:59:13PM +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()) >

Re: [PATCH] sched/completion: completion_done() should serialize with complete()

2015-02-13 Thread Davidlohr Bueso
On Fri, 2015-02-13 at 13:56 -0800, Davidlohr Bueso wrote: > 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_inact

Re: [PATCH] sched/completion: completion_done() should serialize with complete()

2015-02-13 Thread Davidlohr Bueso
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()) > cp

Re: [PATCH] sched/completion: completion_done() should serialize with complete()

2015-02-13 Thread Paul E. McKenney
On Thu, Feb 12, 2015 at 08:59:13PM +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()) >

[PATCH] sched/completion: completion_done() should serialize with complete()

2015-02-12 Thread Oleg Nesterov
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_unloc