Lines Matching full:round
35 * assigned roles to perform for each round of the barrier. Winners
36 * move on to the next round, while losers spin in their current rounds
37 * on their own flags. During the last round, the champion of the tournament
113 int round = 1; in ck_barrier_tournament() local
118 for (;; ++round) { in ck_barrier_tournament()
119 switch (rounds[state->vpid][round].role) { in ck_barrier_tournament()
127 while (ck_pr_load_uint(&rounds[state->vpid][round].flag) != state->sense) in ck_barrier_tournament()
130 ck_pr_store_uint(rounds[state->vpid][round].opponent, state->sense); in ck_barrier_tournament()
140 ck_pr_store_uint(rounds[state->vpid][round].opponent, state->sense); in ck_barrier_tournament()
141 while (ck_pr_load_uint(&rounds[state->vpid][round].flag) != state->sense) in ck_barrier_tournament()
148 * continue to the next round of the tournament. in ck_barrier_tournament()
150 while (ck_pr_load_uint(&rounds[state->vpid][round].flag) != state->sense) in ck_barrier_tournament()
157 for (round -= 1 ;; --round) { in ck_barrier_tournament()
158 switch (rounds[state->vpid][round].role) { in ck_barrier_tournament()
175 ck_pr_store_uint(rounds[state->vpid][round].opponent, state->sense); in ck_barrier_tournament()