Change uses of taskqueue_start_threads_pinned() -> taskqueue_start_threads_cpuset()

Differential Revision:	https://reviews.freebsd.org/D1897
Reviewed by:	jfv
This commit is contained in:
Adrian Chadd 2015-02-24 22:17:12 +00:00
parent ef065d89e9
commit 9756bd5982
4 changed files with 28 additions and 8 deletions

View File

@ -2460,6 +2460,9 @@ igb_allocate_msix(struct adapter *adapter)
struct igb_queue *que = adapter->queues;
int error, rid, vector = 0;
int cpu_id = 0;
#ifdef RSS
cpuset_t cpu_mask;
#endif
/* Be sure to start with all interrupts disabled */
E1000_WRITE_REG(&adapter->hw, E1000_IMC, ~0);
@ -2566,8 +2569,10 @@ igb_allocate_msix(struct adapter *adapter)
* round-robin bucket -> queue -> CPU allocation.
*/
#ifdef RSS
taskqueue_start_threads_pinned(&que->tq, 1, PI_NET,
cpu_id,
CPU_ZERO(&cpu_mask);
CPU_SET(cpu_id, &cpu_mask);
taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET,
&cpu_mask,
"%s que (bucket %d)",
device_get_nameunit(adapter->dev),
cpu_id);

View File

@ -2373,6 +2373,9 @@ ixgbe_allocate_msix(struct adapter *adapter)
struct tx_ring *txr = adapter->tx_rings;
int error, rid, vector = 0;
int cpu_id = 0;
#ifdef RSS
cpuset_t cpu_mask;
#endif
#ifdef RSS
/*
@ -2460,8 +2463,10 @@ ixgbe_allocate_msix(struct adapter *adapter)
que->tq = taskqueue_create_fast("ixgbe_que", M_NOWAIT,
taskqueue_thread_enqueue, &que->tq);
#ifdef RSS
taskqueue_start_threads_pinned(&que->tq, 1, PI_NET,
cpu_id,
CPU_ZERO(&cpu_mask);
CPU_SET(cpu_id, &cpu_mask);
taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET,
&cpu_mask,
"%s (bucket %d)",
device_get_nameunit(adapter->dev),
cpu_id);

View File

@ -1880,6 +1880,9 @@ ixl_assign_vsi_msix(struct ixl_pf *pf)
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;
@ -1942,8 +1945,10 @@ ixl_assign_vsi_msix(struct ixl_pf *pf)
que->tq = taskqueue_create_fast("ixl_que", M_NOWAIT,
taskqueue_thread_enqueue, &que->tq);
#ifdef RSS
taskqueue_start_threads_pinned(&que->tq, 1, PI_NET,
cpu_id, "%s (bucket %d)",
CPU_ZERO(&cpu_mask);
CPU_SET(cpu_id, &cpu_mask);
taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET,
&cpu_mask, "%s (bucket %d)",
device_get_nameunit(dev), cpu_id);
#else
taskqueue_start_threads(&que->tq, 1, PI_NET,

View File

@ -1382,6 +1382,9 @@ ixlv_assign_msix(struct ixlv_sc *sc)
struct ixl_queue *que = vsi->queues;
struct tx_ring *txr;
int error, rid, vector = 1;
#ifdef RSS
cpuset_t cpu_mask;
#endif
for (int i = 0; i < vsi->num_queues; i++, vector++, que++) {
int cpu_id = i;
@ -1416,8 +1419,10 @@ ixlv_assign_msix(struct ixlv_sc *sc)
que->tq = taskqueue_create_fast("ixlv_que", M_NOWAIT,
taskqueue_thread_enqueue, &que->tq);
#ifdef RSS
taskqueue_start_threads_pinned(&que->tq, 1, PI_NET,
cpu_id, "%s (bucket %d)",
CPU_ZERO(&cpu_mask);
CPU_SET(cpu_id, &cpu_mask);
taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET,
&cpu_mask, "%s (bucket %d)",
device_get_nameunit(dev), cpu_id);
#else
taskqueue_start_threads(&que->tq, 1, PI_NET,