timer: fix synchronization in stress test
authorRobert Sanford <rsanford@akamai.com>
Mon, 27 Jul 2015 22:46:04 +0000 (18:46 -0400)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 3 Aug 2015 10:43:01 +0000 (12:43 +0200)
commita91311f45be8ea76e1d5bf33552e89734126582b
treeb41d748d706e21d1354c2de8aa36f6aec068d327
parentce10b21bf624303fa2c4a5689edaf1b4bf62e186
timer: fix synchronization in stress test

Fix app/test timer stress test 2: Sometimes this test fails and
seg-faults because the slave lcores get out of phase with the master.
The master uses a single int, 'ready', to synchronize multiple slave
lcores through multiple phases of the test.

To resolve, we construct simple synchronization primitives that use one
atomic-int state variable per slave. The master tells the slaves when to
start, and then waits for all of them to finish. Each slave waits for
the master to tell it to start, and then tells the master when it has
finished.

Signed-off-by: Robert Sanford <rsanford@akamai.com>
app/test/test_timer.c