Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/kern_cpuset.c
Show First 20 Lines • Show All 1,121 Lines • ▼ Show 20 Lines | case CPU_WHICH_PID: | ||||
thread_lock(ttd); | thread_lock(ttd); | ||||
set = cpuset_ref(ttd->td_cpuset); | set = cpuset_ref(ttd->td_cpuset); | ||||
thread_unlock(ttd); | thread_unlock(ttd); | ||||
break; | break; | ||||
case CPU_WHICH_CPUSET: | case CPU_WHICH_CPUSET: | ||||
case CPU_WHICH_JAIL: | case CPU_WHICH_JAIL: | ||||
break; | break; | ||||
case CPU_WHICH_IRQ: | case CPU_WHICH_IRQ: | ||||
case CPU_WHICH_INTRHANDLER: | |||||
case CPU_WHICH_ITHREAD: | |||||
case CPU_WHICH_DOMAIN: | case CPU_WHICH_DOMAIN: | ||||
error = EINVAL; | error = EINVAL; | ||||
goto out; | goto out; | ||||
} | } | ||||
if (level == CPU_LEVEL_ROOT) | if (level == CPU_LEVEL_ROOT) | ||||
nset = cpuset_refroot(set); | nset = cpuset_refroot(set); | ||||
else | else | ||||
nset = cpuset_refbase(set); | nset = cpuset_refbase(set); | ||||
Show All 14 Lines | case CPU_WHICH_PID: | ||||
thread_unlock(ttd); | thread_unlock(ttd); | ||||
} | } | ||||
break; | break; | ||||
case CPU_WHICH_CPUSET: | case CPU_WHICH_CPUSET: | ||||
case CPU_WHICH_JAIL: | case CPU_WHICH_JAIL: | ||||
CPU_COPY(&set->cs_mask, mask); | CPU_COPY(&set->cs_mask, mask); | ||||
break; | break; | ||||
case CPU_WHICH_IRQ: | case CPU_WHICH_IRQ: | ||||
error = intr_getaffinity(id, mask); | case CPU_WHICH_INTRHANDLER: | ||||
case CPU_WHICH_ITHREAD: | |||||
error = intr_getaffinity(id, which, mask); | |||||
break; | break; | ||||
case CPU_WHICH_DOMAIN: | case CPU_WHICH_DOMAIN: | ||||
if (id < 0 || id >= MAXMEMDOM) | if (id < 0 || id >= MAXMEMDOM) | ||||
error = ESRCH; | error = ESRCH; | ||||
else | else | ||||
CPU_COPY(&cpuset_domain[id], mask); | CPU_COPY(&cpuset_domain[id], mask); | ||||
break; | break; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 86 Lines • ▼ Show 20 Lines | case CPU_WHICH_PID: | ||||
set = cpuset_ref(ttd->td_cpuset); | set = cpuset_ref(ttd->td_cpuset); | ||||
thread_unlock(ttd); | thread_unlock(ttd); | ||||
PROC_UNLOCK(p); | PROC_UNLOCK(p); | ||||
break; | break; | ||||
case CPU_WHICH_CPUSET: | case CPU_WHICH_CPUSET: | ||||
case CPU_WHICH_JAIL: | case CPU_WHICH_JAIL: | ||||
break; | break; | ||||
case CPU_WHICH_IRQ: | case CPU_WHICH_IRQ: | ||||
case CPU_WHICH_INTRHANDLER: | |||||
case CPU_WHICH_ITHREAD: | |||||
case CPU_WHICH_DOMAIN: | case CPU_WHICH_DOMAIN: | ||||
error = EINVAL; | error = EINVAL; | ||||
goto out; | goto out; | ||||
} | } | ||||
if (level == CPU_LEVEL_ROOT) | if (level == CPU_LEVEL_ROOT) | ||||
nset = cpuset_refroot(set); | nset = cpuset_refroot(set); | ||||
else | else | ||||
nset = cpuset_refbase(set); | nset = cpuset_refbase(set); | ||||
Show All 13 Lines | case CPU_LEVEL_WHICH: | ||||
case CPU_WHICH_JAIL: | case CPU_WHICH_JAIL: | ||||
error = cpuset_which(which, id, &p, &ttd, &set); | error = cpuset_which(which, id, &p, &ttd, &set); | ||||
if (error == 0) { | if (error == 0) { | ||||
error = cpuset_modify(set, mask); | error = cpuset_modify(set, mask); | ||||
cpuset_rel(set); | cpuset_rel(set); | ||||
} | } | ||||
break; | break; | ||||
case CPU_WHICH_IRQ: | case CPU_WHICH_IRQ: | ||||
error = intr_setaffinity(id, mask); | case CPU_WHICH_INTRHANDLER: | ||||
case CPU_WHICH_ITHREAD: | |||||
error = intr_setaffinity(id, which, mask); | |||||
break; | break; | ||||
default: | default: | ||||
error = EINVAL; | error = EINVAL; | ||||
break; | break; | ||||
} | } | ||||
break; | break; | ||||
default: | default: | ||||
error = EINVAL; | error = EINVAL; | ||||
▲ Show 20 Lines • Show All 42 Lines • Show Last 20 Lines |