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) {
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to