svn commit: r279255 - in head/sys/dev: e1000 ixgbe ixl
Adrian Chadd
adrian at FreeBSD.org
Tue Feb 24 22:17:14 UTC 2015
Author: adrian
Date: Tue Feb 24 22:17:12 2015
New Revision: 279255
URL: https://svnweb.freebsd.org/changeset/base/279255
Log:
Change uses of taskqueue_start_threads_pinned() -> taskqueue_start_threads_cpuset()
Differential Revision: https://reviews.freebsd.org/D1897
Reviewed by: jfv
Modified:
head/sys/dev/e1000/if_igb.c
head/sys/dev/ixgbe/ixgbe.c
head/sys/dev/ixl/if_ixl.c
head/sys/dev/ixl/if_ixlv.c
Modified: head/sys/dev/e1000/if_igb.c
==============================================================================
--- head/sys/dev/e1000/if_igb.c Tue Feb 24 22:11:07 2015 (r279254)
+++ head/sys/dev/e1000/if_igb.c Tue Feb 24 22:17:12 2015 (r279255)
@@ -2460,6 +2460,9 @@ igb_allocate_msix(struct adapter *adapte
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 *adapte
* 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);
Modified: head/sys/dev/ixgbe/ixgbe.c
==============================================================================
--- head/sys/dev/ixgbe/ixgbe.c Tue Feb 24 22:11:07 2015 (r279254)
+++ head/sys/dev/ixgbe/ixgbe.c Tue Feb 24 22:17:12 2015 (r279255)
@@ -2373,6 +2373,9 @@ ixgbe_allocate_msix(struct adapter *adap
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 *adap
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);
Modified: head/sys/dev/ixl/if_ixl.c
==============================================================================
--- head/sys/dev/ixl/if_ixl.c Tue Feb 24 22:11:07 2015 (r279254)
+++ head/sys/dev/ixl/if_ixl.c Tue Feb 24 22:17:12 2015 (r279255)
@@ -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,
Modified: head/sys/dev/ixl/if_ixlv.c
==============================================================================
--- head/sys/dev/ixl/if_ixlv.c Tue Feb 24 22:11:07 2015 (r279254)
+++ head/sys/dev/ixl/if_ixlv.c Tue Feb 24 22:17:12 2015 (r279255)
@@ -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,
More information about the svn-src-all
mailing list