| .. | .. |
|---|
| 1 | | - |
|---|
| 2 | | -On atomic bitops. |
|---|
| 3 | | - |
|---|
| 1 | +============= |
|---|
| 2 | +Atomic bitops |
|---|
| 3 | +============= |
|---|
| 4 | 4 | |
|---|
| 5 | 5 | While our bitmap_{}() functions are non-atomic, we have a number of operations |
|---|
| 6 | 6 | operating on single bits in a bitmap that are atomic. |
|---|
| .. | .. |
|---|
| 59 | 59 | - RMW operations that have a return value are fully ordered. |
|---|
| 60 | 60 | |
|---|
| 61 | 61 | - RMW operations that are conditional are unordered on FAILURE, |
|---|
| 62 | | - otherwise the above rules apply. In the case of test_and_{}_bit() operations, |
|---|
| 62 | + otherwise the above rules apply. In the case of test_and_set_bit_lock(), |
|---|
| 63 | 63 | if the bit in memory is unchanged by the operation then it is deemed to have |
|---|
| 64 | 64 | failed. |
|---|
| 65 | 65 | |
|---|