msc-queue: indentation, etc.
[model-checker-benchmarks.git] / mcs-queue / backoff.c
1 extern unsigned backoff;
2 extern unsigned backoff_base_bits;
3 extern unsigned backoff_cap_bits;
4 extern unsigned backoff_shift_bits;
5 extern unsigned backoff_base;
6 extern unsigned backoff_cap;
7 extern unsigned backoff_addend;
8
9 void init_backoff()
10 {
11         backoff_base = (1<<backoff_base_bits)-1;
12         backoff_cap = (1<<backoff_cap_bits)-1;
13         backoff_addend = (1<<backoff_shift_bits)-1;
14 }
15
16 unsigned backoff_delay()
17 {
18         unsigned i;
19
20         for (i=0; i<backoff; i++) ;
21         backoff <<= backoff_shift_bits;
22         backoff += backoff_addend;
23         backoff &= backoff_cap;
24         return i;
25 }