svn commit: r305267 - releng/11.0/sys/kern
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Fri Sep 2 01:41:58 UTC 2016
Author: nwhitehorn
Date: Fri Sep 2 01:41:57 2016
New Revision: 305267
URL: https://svnweb.freebsd.org/changeset/base/305267
Log:
MFS11 r305250:
MFC r305108,305109:
Refix operation on sparse CPU mappings as in r302372, temporarily broken
by r304716.
PR: kern/210106
Approved by: re (gjb)
Modified:
releng/11.0/sys/kern/subr_gtaskqueue.c
Directory Properties:
releng/11.0/ (props changed)
Modified: releng/11.0/sys/kern/subr_gtaskqueue.c
==============================================================================
--- releng/11.0/sys/kern/subr_gtaskqueue.c Fri Sep 2 00:45:43 2016 (r305266)
+++ releng/11.0/sys/kern/subr_gtaskqueue.c Fri Sep 2 01:41:57 2016 (r305267)
@@ -742,7 +742,7 @@ _taskqgroup_adjust(struct taskqgroup *qg
LIST_HEAD(, grouptask) gtask_head = LIST_HEAD_INITIALIZER(NULL);
cpuset_t mask;
struct grouptask *gtask;
- int i, old_cnt, qid;
+ int i, k, old_cnt, qid, cpu;
mtx_assert(&qgroup->tqg_lock, MA_OWNED);
@@ -806,8 +806,11 @@ _taskqgroup_adjust(struct taskqgroup *qg
/*
* Set new CPU and IRQ affinity
*/
+ cpu = CPU_FIRST();
for (i = 0; i < cnt; i++) {
- qgroup->tqg_queue[i].tgc_cpu = i * qgroup->tqg_stride;
+ qgroup->tqg_queue[i].tgc_cpu = cpu;
+ for (k = 0; k < qgroup->tqg_stride; k++)
+ cpu = CPU_NEXT(cpu);
CPU_ZERO(&mask);
CPU_SET(qgroup->tqg_queue[i].tgc_cpu, &mask);
LIST_FOREACH(gtask, &qgroup->tqg_queue[i].tgc_tasks, gt_list) {
More information about the svn-src-releng
mailing list