Commit 33b04b9308959af7febc1c111c766fa3fd8b1934

Authored by Arjan van de Ven
Committed by Linus Torvalds
1 parent 85da1fb545

async: make async_synchronize_full() more serializing

turns out that there are real problems with allowing async
tasks that are scheduled from async tasks to run after
the async_synchronize_full() returns.

This patch makes the _full more strict and a complete
synchronization. Later I might need to add back a lighter
form of synchronization for other uses.. but not right now.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 1 changed file with 3 additions and 1 deletions Side-by-side Diff

... ... @@ -206,7 +206,9 @@
206 206  
207 207 void async_synchronize_full(void)
208 208 {
209   - async_synchronize_cookie(next_cookie);
  209 + do {
  210 + async_synchronize_cookie(next_cookie);
  211 + } while (!list_empty(&async_running) || !list_empty(&async_pending));
210 212 }
211 213 EXPORT_SYMBOL_GPL(async_synchronize_full);
212 214