Index: sys/dev/ixl/if_ixl.c =================================================================== --- sys/dev/ixl/if_ixl.c +++ sys/dev/ixl/if_ixl.c @@ -1991,9 +1991,13 @@ static void ixl_init_taskqueues(struct ixl_pf *pf) { - struct ixl_vsi *vsi = &pf->vsi; - struct ixl_queue *que = vsi->queues; - device_t dev = pf->dev; + struct ixl_vsi *vsi = &pf->vsi; + struct ixl_queue *que = vsi->queues; + device_t dev = pf->dev; +#ifdef RSS + int cpu_id; + cpuset_t cpu_mask; +#endif /* Tasklet for Admin Queue */ TASK_INIT(&pf->adminq, 0, ixl_do_adminq, pf); @@ -2015,6 +2019,7 @@ que->tq = taskqueue_create_fast("ixl_que", M_NOWAIT, taskqueue_thread_enqueue, &que->tq); #ifdef RSS + cpu_id = rss_getcpu(i % rss_getnumbuckets()); CPU_SETOF(cpu_id, &cpu_mask); taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET, &cpu_mask, "%s (bucket %d)", @@ -2054,9 +2059,6 @@ struct ixl_queue *que = vsi->queues; struct tx_ring *txr; int error, rid, vector = 0; -#ifdef RSS - cpuset_t cpu_mask; -#endif /* Admin Que is vector 0*/ rid = vector + 1;