Print this page
5042 stop using deprecated atomic functions
*** 548,558 ****
*/
if (t->t_intr_start) {
do {
start = t->t_intr_start;
interval = CLOCK_TICK_COUNTER() - start;
! } while (cas64(&t->t_intr_start, start, 0) != start);
cpu = CPU;
if (cpu->cpu_m.divisor > 1)
interval *= cpu->cpu_m.divisor;
cpu->cpu_m.intrstat[t->t_pil][0] += interval;
--- 548,558 ----
*/
if (t->t_intr_start) {
do {
start = t->t_intr_start;
interval = CLOCK_TICK_COUNTER() - start;
! } while (atomic_cas_64(&t->t_intr_start, start, 0) != start);
cpu = CPU;
if (cpu->cpu_m.divisor > 1)
interval *= cpu->cpu_m.divisor;
cpu->cpu_m.intrstat[t->t_pil][0] += interval;
*** 575,585 ****
ASSERT((t->t_flag & T_INTR_THREAD) != 0);
ASSERT(t->t_pil > 0 && t->t_pil <= LOCK_LEVEL);
do {
ts = t->t_intr_start;
! } while (cas64(&t->t_intr_start, ts, CLOCK_TICK_COUNTER()) != ts);
}
int
blacklist(int cmd, const char *scheme, nvlist_t *fmri, const char *class)
--- 575,586 ----
ASSERT((t->t_flag & T_INTR_THREAD) != 0);
ASSERT(t->t_pil > 0 && t->t_pil <= LOCK_LEVEL);
do {
ts = t->t_intr_start;
! } while (atomic_cas_64(&t->t_intr_start, ts, CLOCK_TICK_COUNTER()) !=
! ts);
}
int
blacklist(int cmd, const char *scheme, nvlist_t *fmri, const char *class)