Changeset View
Changeset View
Standalone View
Standalone View
head/sys/kern/subr_gtaskqueue.c
Show First 20 Lines • Show All 675 Lines • ▼ Show 20 Lines | taskqgroup_attach(struct taskqgroup *qgroup, struct grouptask *gtask, | ||||
gtask->gt_taskqueue = qgroup->tqg_queue[qid].tgc_taskq; | gtask->gt_taskqueue = qgroup->tqg_queue[qid].tgc_taskq; | ||||
if (irq != -1 && tqg_smp_started) { | if (irq != -1 && tqg_smp_started) { | ||||
gtask->gt_cpu = qgroup->tqg_queue[qid].tgc_cpu; | gtask->gt_cpu = qgroup->tqg_queue[qid].tgc_cpu; | ||||
CPU_ZERO(&mask); | CPU_ZERO(&mask); | ||||
CPU_SET(qgroup->tqg_queue[qid].tgc_cpu, &mask); | CPU_SET(qgroup->tqg_queue[qid].tgc_cpu, &mask); | ||||
mtx_unlock(&qgroup->tqg_lock); | mtx_unlock(&qgroup->tqg_lock); | ||||
error = intr_setaffinity(irq, CPU_WHICH_IRQ, &mask); | error = intr_setaffinity(irq, CPU_WHICH_IRQ, &mask); | ||||
if (error) | if (error) | ||||
printf("%s: setaffinity failed: %d\n", __func__, error); | printf("%s: setaffinity failed for %s: %d\n", __func__, gtask->gt_name, error); | ||||
} else | } else | ||||
mtx_unlock(&qgroup->tqg_lock); | mtx_unlock(&qgroup->tqg_lock); | ||||
} | } | ||||
static void | static void | ||||
taskqgroup_attach_deferred(struct taskqgroup *qgroup, struct grouptask *gtask) | taskqgroup_attach_deferred(struct taskqgroup *qgroup, struct grouptask *gtask) | ||||
{ | { | ||||
cpuset_t mask; | cpuset_t mask; | ||||
▲ Show 20 Lines • Show All 285 Lines • Show Last 20 Lines |