From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 22:17:14 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 39F57BAA; Tue, 24 Feb 2015 22:17:14 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2457D1C9; Tue, 24 Feb 2015 22:17:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OMHEHk069261; Tue, 24 Feb 2015 22:17:14 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OMHDmQ069257; Tue, 24 Feb 2015 22:17:13 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201502242217.t1OMHDmQ069257@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Tue, 24 Feb 2015 22:17:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279255 - in head/sys/dev: e1000 ixgbe ixl X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 22:17:14 -0000 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,