Changeset View
Changeset View
Standalone View
Standalone View
head/sys/mips/include/counter.h
Show First 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | counter_u64_zero_one_cpu(void *arg) | ||||
*((uint64_t *)((char *)arg + sizeof(struct pcpu) * | *((uint64_t *)((char *)arg + sizeof(struct pcpu) * | ||||
PCPU_GET(cpuid))) = 0; | PCPU_GET(cpuid))) = 0; | ||||
} | } | ||||
static inline void | static inline void | ||||
counter_u64_zero_inline(counter_u64_t c) | counter_u64_zero_inline(counter_u64_t c) | ||||
{ | { | ||||
smp_rendezvous(smp_no_rendevous_barrier, counter_u64_zero_one_cpu, | smp_rendezvous(smp_no_rendezvous_barrier, counter_u64_zero_one_cpu, | ||||
smp_no_rendevous_barrier, c); | smp_no_rendezvous_barrier, c); | ||||
} | } | ||||
#endif | #endif | ||||
#define counter_u64_add_protected(c, inc) do { \ | #define counter_u64_add_protected(c, inc) do { \ | ||||
CRITICAL_ASSERT(curthread); \ | CRITICAL_ASSERT(curthread); \ | ||||
*(uint64_t *)zpcpu_get(c) += (inc); \ | *(uint64_t *)zpcpu_get(c) += (inc); \ | ||||
} while (0) | } while (0) | ||||
Show All 10 Lines |