| 637 | } |
| 638 | |
| 639 | static __inline void |
| 640 | atomic_subtract_64(volatile uint64_t *p, uint64_t v) |
| 641 | { |
| 642 | uint64_t t; |
| 643 | |
| 644 | for (;;) { |
| 645 | t = *p; |
| 646 | if (atomic_cmpset_64(p, t, t - v)) |
| 647 | break; |
| 648 | } |
| 649 | } |
| 650 | |
| 651 | #endif /* _KERNEL */ |
| 652 |
no test coverage detected