Print this page
5042 stop using deprecated atomic functions
@@ -1216,19 +1216,20 @@
* it (i.e. it blocked at some point in its past) has finished running
* its handler. intr_thread() updated the interrupt statistic for its
* PIL and zeroed its timestamp. Since there was no pinned thread to
* return to, swtch() gets called and we end up here.
*
- * Note that we use atomic ops below (cas64 and atomic_add_64), which
- * we don't use in the functions above, because we're not called
- * with interrupts blocked, but the epilog/prolog functions are.
+ * Note that we use atomic ops below (atomic_cas_64 and
+ * atomic_add_64), which we don't use in the functions above,
+ * because we're not called with interrupts blocked, but the
+ * epilog/prolog functions are.
*/
if (t->t_intr_start) {
do {
start = t->t_intr_start;
interval = tsc_read() - start;
- } while (cas64(&t->t_intr_start, start, 0) != start);
+ } while (atomic_cas_64(&t->t_intr_start, start, 0) != start);
cpu = CPU;
cpu->cpu_m.intrstat[t->t_pil][0] += interval;
atomic_add_64((uint64_t *)&cpu->cpu_intracct[cpu->cpu_mstate],
interval);
@@ -1248,11 +1249,11 @@
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, tsc_read()) != ts);
+ } while (atomic_cas_64(&t->t_intr_start, ts, tsc_read()) != ts);
}
/*
* Dispatch a hilevel interrupt (one above LOCK_LEVEL)
*/