CPUF_RUNNING
KASSERT(ci->ci_flags & CPUF_RUNNING);
atomic_or_ulong(&ci->ci_flags, CPUF_RUNNING);
.ci_flags = CPUF_PRIMARY|CPUF_RUNNING,
ci->ci_flags |= CPUF_PRIMARY|CPUF_RUNNING;
while (!(ci->ci_flags & CPUF_RUNNING) && j++ < 10000)
if (!(ci->ci_flags & CPUF_RUNNING))
ci->ci_flags |= CPUF_RUNNING;
KASSERT(ci->ci_flags & CPUF_RUNNING);
if (ci != curcpu() && (ci->ci_flags & CPUF_RUNNING))
ci->ci_flags &= ~CPUF_RUNNING;
.ci_flags = CPUF_PRIMARY|CPUF_PRESENT|CPUF_RUNNING,
atomic_or_ulong(&ci->ci_flags, CPUF_RUNNING);
.ci_flags = CPUF_PRIMARY | CPUF_PRESENT | CPUF_RUNNING,
atomic_or_ulong(&ci->ci_flags, CPUF_RUNNING);
atomic_and_32(&ci->ci_flags, ~CPUF_RUNNING);
atomic_or_32(&ci->ci_flags, CPUF_RUNNING);
while ((ci->ci_flags & CPUF_RUNNING) == 0)
KASSERT((ci->ci_flags & CPUF_RUNNING) == 0);
atomic_or_32(&ci->ci_flags, CPUF_RUNNING);
atomic_or_32(&ci->ci_flags, CPUF_RUNNING);
for (i = 100000; (!(ci->ci_flags & CPUF_RUNNING)) && i > 0; i--) {
if ((ci->ci_flags & CPUF_RUNNING) == 0) {
if (__predict_false((ci->ci_flags & CPUF_RUNNING) == 0))
if ((ci->ci_flags & CPUF_RUNNING) == 0)
atomic_and_32(&ci->ci_flags, ~CPUF_RUNNING);
atomic_or_32(&ci->ci_flags, CPUF_RUNNING);
for (i = 100000; (!(ci->ci_flags & CPUF_RUNNING)) && i > 0; i--) {
if ((ci->ci_flags & CPUF_RUNNING) == 0) {
KASSERT((ci->ci_flags & CPUF_RUNNING) == 0);
if ((ci->ci_flags & CPUF_RUNNING) == 0) {
if (ci->ci_flags & (CPUF_RUNNING)) {