All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [next-queue] fm10k: initialize xps at driver load
       [not found] <20151026213507.GA39799@aiaiai.jf.intel.com>
@ 2015-10-26 21:44 ` Keller, Jacob E
  0 siblings, 0 replies; 4+ messages in thread
From: Keller, Jacob E @ 2015-10-26 21:44 UTC (permalink / raw)
  To: intel-wired-lan

On Mon, 2015-10-26 at 14:35 -0700, ND Linux CI Server wrote:
> Greetings,
> 
> This email is automatically generated by ND's Linux Patch Testing
> framework
> based on aiaiai. I have performed some automatic testing of a patch
> (series)
> you submitted to intel-wired-lan at lists.osuosl.org
> 
> The following contains output of any tests which failed to pass, and
> might be
> the result of developer error. The tests performed include but may
> not be
> limited to checkpatch.pl, bisection testing, compilation on a default
> kernel
> config, coccinelle scripts, cppcheck, and smatch.
> 
> If you have received this email in error, or believe that aiaiai has
> detected a
> false positive, please email Jacob Keller <jacob.e.keller@intel.com>.
> 
> ---
> 
> I have tested your changes
> 
> [Intel-wired-lan] [next-queue] fm10k: initialize xps at driver load
> 
> Project: next (net-next development queue)
> 
> Configurations: intel_defconfig,x86
> 
> Tested the patch(es) on top of the following commits:
> 16eb854 bridge: Notify port device of encap header length
> 310ab40 vlan: Notify real device of encap header length
> bdb32a4 e1000e: Add ndo_enc_hdr_len
> 0596af0 net: Add ndo_enc_hdr_len to notify extra header room for
> encapsulated frames
> 
> ---------------------------------------------------------------------
> -----------
> Failed to build the base commit: 16eb854 bridge: Notify port device
> of encap header length
> Configuration: "intel_defconfig, architecture x86".
> 
> drivers/net/ethernet/intel/ixgb/ixgb_hw.c:126:6: warning: variable
> ?icr_reg? set but not used [-Wunused-but-set-variable]
>   u32 icr_reg;
>       ^
> drivers/net/ethernet/intel/ixgb/ixgb_hw.c: In function
> ?ixgb_init_hw?:
> drivers/net/ethernet/intel/ixgb/ixgb_hw.c:302:6: warning: variable
> ?ctrl_reg? set but not used [-Wunused-but-set-variable]
>   u32 ctrl_reg;
>       ^
> drivers/net/ethernet/intel/ixgb/ixgb_hw.c: In function
> ?ixgb_clear_hw_cntrs?:
> drivers/net/ethernet/intel/ixgb/ixgb_hw.c:977:15: warning: variable
> ?temp_reg? set but not used [-Wunused-but-set-variable]
>   volatile u32 temp_reg;
>                ^
> drivers/net/ethernet/intel/ixgb/ixgb_hw.c: In function
> ?ixgb_optics_reset?:
> drivers/net/ethernet/intel/ixgb/ixgb_hw.c:1189:7: warning: variable
> ?mdio_reg? set but not used [-Wunused-but-set-variable]
>    u16 mdio_reg;
>        ^
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c: In function
> ?fm10k_sw_init?:
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c:1755:2: error: too many
> arguments to function ?fm10k_dcbnl_set_ops?
>   fm10k_dcbnl_set_ops(netdev);
>   ^
> In file included from
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c:24:0:
> drivers/net/ethernet/intel/fm10k/fm10k.h:563:20: note: declared here
>  static inline void fm10k_dcbnl_set_ops(void) {}
>                     ^
> make[6]: *** [drivers/net/ethernet/intel/fm10k/fm10k_pci.o] Error 1
> ---------------------------------------------------------------------
> -----------
> Failed to build : d639bf5 fm10k: initialize xps at driver load
> Configuration: "intel_defconfig, architecture x86".
> 
> drivers/net/ethernet/intel/e1000/e1000_hw.c:2398:6: warning: variable
> ?rxcw? set but not used [-Wunused-but-set-variable]
>   u32 rxcw = 0;
>       ^
> drivers/net/ethernet/intel/e1000/e1000_hw.c: In function
> ?e1000_clear_hw_cntrs?:
> drivers/net/ethernet/intel/e1000/e1000_hw.c:4701:15: warning:
> variable ?temp? set but not used [-Wunused-but-set-variable]
>   volatile u32 temp;
>                ^
> drivers/net/ethernet/intel/e1000/e1000_main.c: In function
> ?e1000_watchdog?:
> drivers/net/ethernet/intel/e1000/e1000_main.c:2446:9: warning:
> variable ?txb2b? set but not used [-Wunused-but-set-variable]
>     bool txb2b = true;
>          ^
> drivers/net/ethernet/intel/igb/igb_main.c: In function
> ?igb_request_msix?:
> drivers/net/ethernet/intel/igb/igb_main.c:949:19: warning: unused
> variable ?hw? [-Wunused-variable]
>   struct e1000_hw *hw = &adapter->hw;
>                    ^
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c: In function
> ?fm10k_sw_init?:
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c:1769:2: error: too many
> arguments to function ?fm10k_dcbnl_set_ops?
>   fm10k_dcbnl_set_ops(netdev);
>   ^
> In file included from
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c:24:0:
> drivers/net/ethernet/intel/fm10k/fm10k.h:566:20: note: declared here
>  static inline void fm10k_dcbnl_set_ops(void) {}
>                     ^
> make[6]: *** [drivers/net/ethernet/intel/fm10k/fm10k_pci.o] Error 1
> 
> ---------------------------------------------------------------------
> -----------


Hmm, looks like something got messed up here.

Regards,
Jake

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Intel-wired-lan] [next-queue] fm10k: initialize xps at driver load
  2015-10-29  0:11 ` Allan, Bruce W
@ 2015-10-29  0:34   ` Keller, Jacob E
  0 siblings, 0 replies; 4+ messages in thread
From: Keller, Jacob E @ 2015-10-29  0:34 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Allan, Bruce W
> Sent: Wednesday, October 28, 2015 5:12 PM
> To: Keller, Jacob E; Intel Wired LAN
> Subject: RE: [Intel-wired-lan] [next-queue] fm10k: initialize xps at driver
> load
> 
> > -----Original Message-----
> > From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org]
> On
> > Behalf Of Jacob Keller
> > Sent: Monday, October 26, 2015 2:29 PM
> > To: Intel Wired LAN
> > Subject: [Intel-wired-lan] [next-queue] fm10k: initialize xps at driver load
> >
> > Similar to ixgbe and i40e, initialize XPS on driver load so that we can
> > take advantage of this kernel feature.
> >
> > Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> > ---
> >  drivers/net/ethernet/intel/fm10k/fm10k.h     |  3 +++
> >  drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 18 ++++++++++++++++--
> >  2 files changed, 19 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/intel/fm10k/fm10k.h
> > b/drivers/net/ethernet/intel/fm10k/fm10k.h
> > index 2a16cd1b2a8b..c84be8189f4c 100644
> > --- a/drivers/net/ethernet/intel/fm10k/fm10k.h
> > +++ b/drivers/net/ethernet/intel/fm10k/fm10k.h
> > @@ -23,6 +23,7 @@
> >
> >  #include <linux/types.h>
> >  #include <linux/etherdevice.h>
> > +#include <linux/cpumask.h>
> >  #include <linux/rtnetlink.h>
> >  #include <linux/if_vlan.h>
> >  #include <linux/pci.h>
> > @@ -66,6 +67,7 @@ struct fm10k_l2_accel {
> >  enum fm10k_ring_state_t {
> >  	__FM10K_TX_DETECT_HANG,
> >  	__FM10K_HANG_CHECK_ARMED,
> > +	__FM10K_TX_XPS_INIT_DONE,
> >  };
> >
> >  #define check_for_tx_hang(ring) \
> > @@ -209,6 +211,7 @@ struct fm10k_q_vector {
> >  	struct fm10k_ring_container rx, tx;
> >
> >  	struct napi_struct napi;
> > +	cpumask_t affinity_mask;
> >  	char name[IFNAMSIZ + 9];
> >
> >  #ifdef CONFIG_DEBUG_FS
> > diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> > b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> > index 15d8e10c2504..15e67a383d27 100644
> > --- a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> > +++ b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> > @@ -727,6 +727,13 @@ static void fm10k_configure_rx_ring(struct
> > fm10k_intfc *interface,
> >
> >  	fm10k_write_reg(hw, FM10K_RXINT(reg_idx), rxint);
> >
> > +	/* Initialize XPS */
> > +	if (!test_and_set_bit(__FM10K_TX_XPS_INIT_DONE, &ring->state)
> > &&
> > +	    ring->q_vector)
> > +		netif_set_xps_queue(ring->netdev,
> > +				    &ring->q_vector->affinity_mask,
> > +				    ring->queue_index);
> > +
> 
> The above hunk belongs in fm10k_configure_tx_ring() instead???
> 

Oops, I think you're right.

Regards,
Jake


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Intel-wired-lan] [next-queue] fm10k: initialize xps at driver load
  2015-10-26 21:28 Jacob Keller
@ 2015-10-29  0:11 ` Allan, Bruce W
  2015-10-29  0:34   ` Keller, Jacob E
  0 siblings, 1 reply; 4+ messages in thread
From: Allan, Bruce W @ 2015-10-29  0:11 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Jacob Keller
> Sent: Monday, October 26, 2015 2:29 PM
> To: Intel Wired LAN
> Subject: [Intel-wired-lan] [next-queue] fm10k: initialize xps at driver load
> 
> Similar to ixgbe and i40e, initialize XPS on driver load so that we can
> take advantage of this kernel feature.
> 
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> ---
>  drivers/net/ethernet/intel/fm10k/fm10k.h     |  3 +++
>  drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 18 ++++++++++++++++--
>  2 files changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/fm10k/fm10k.h
> b/drivers/net/ethernet/intel/fm10k/fm10k.h
> index 2a16cd1b2a8b..c84be8189f4c 100644
> --- a/drivers/net/ethernet/intel/fm10k/fm10k.h
> +++ b/drivers/net/ethernet/intel/fm10k/fm10k.h
> @@ -23,6 +23,7 @@
> 
>  #include <linux/types.h>
>  #include <linux/etherdevice.h>
> +#include <linux/cpumask.h>
>  #include <linux/rtnetlink.h>
>  #include <linux/if_vlan.h>
>  #include <linux/pci.h>
> @@ -66,6 +67,7 @@ struct fm10k_l2_accel {
>  enum fm10k_ring_state_t {
>  	__FM10K_TX_DETECT_HANG,
>  	__FM10K_HANG_CHECK_ARMED,
> +	__FM10K_TX_XPS_INIT_DONE,
>  };
> 
>  #define check_for_tx_hang(ring) \
> @@ -209,6 +211,7 @@ struct fm10k_q_vector {
>  	struct fm10k_ring_container rx, tx;
> 
>  	struct napi_struct napi;
> +	cpumask_t affinity_mask;
>  	char name[IFNAMSIZ + 9];
> 
>  #ifdef CONFIG_DEBUG_FS
> diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> index 15d8e10c2504..15e67a383d27 100644
> --- a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> +++ b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> @@ -727,6 +727,13 @@ static void fm10k_configure_rx_ring(struct
> fm10k_intfc *interface,
> 
>  	fm10k_write_reg(hw, FM10K_RXINT(reg_idx), rxint);
> 
> +	/* Initialize XPS */
> +	if (!test_and_set_bit(__FM10K_TX_XPS_INIT_DONE, &ring->state)
> &&
> +	    ring->q_vector)
> +		netif_set_xps_queue(ring->netdev,
> +				    &ring->q_vector->affinity_mask,
> +				    ring->queue_index);
> +

The above hunk belongs in fm10k_configure_tx_ring() instead???

>  	/* enable queue */
>  	fm10k_write_reg(hw, FM10K_RXQCTL(reg_idx), rxqctl);
> 
> @@ -1478,8 +1485,10 @@ void fm10k_qv_free_irq(struct fm10k_intfc
> *interface)
>  		if (!q_vector->tx.count && !q_vector->rx.count)
>  			continue;
> 
> -		/* disable interrupts */
> +		/* clear the affinity_mask in the IRQ descriptor */
> +		irq_set_affinity_hint(entry->vector, NULL);
> 
> +		/* disable interrupts */
>  		writel(FM10K_ITR_MASK_SET, q_vector->itr);
> 
>  		free_irq(entry->vector, q_vector);
> @@ -1537,6 +1546,9 @@ int fm10k_qv_request_irq(struct fm10k_intfc
> *interface)
>  			goto err_out;
>  		}
> 
> +		/* assign the mask for this irq */
> +		irq_set_affinity_hint(entry->vector, &q_vector-
> >affinity_mask);
> +
>  		/* Enable q_vector */
>  		writel(FM10K_ITR_ENABLE, q_vector->itr);
> 
> @@ -1557,8 +1569,10 @@ int fm10k_qv_request_irq(struct fm10k_intfc
> *interface)
>  		if (!q_vector->tx.count && !q_vector->rx.count)
>  			continue;
> 
> -		/* disable interrupts */
> +		/* clear the affinity_mask in the IRQ descriptor */
> +		irq_set_affinity_hint(entry->vector, NULL);
> 
> +		/* disable interrupts */
>  		writel(FM10K_ITR_MASK_SET, q_vector->itr);
> 
>  		free_irq(entry->vector, q_vector);
> --
> 2.6.1.264.gbab76a9
> 
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at lists.osuosl.org
> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Intel-wired-lan] [next-queue] fm10k: initialize xps at driver load
@ 2015-10-26 21:28 Jacob Keller
  2015-10-29  0:11 ` Allan, Bruce W
  0 siblings, 1 reply; 4+ messages in thread
From: Jacob Keller @ 2015-10-26 21:28 UTC (permalink / raw)
  To: intel-wired-lan

Similar to ixgbe and i40e, initialize XPS on driver load so that we can
take advantage of this kernel feature.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
---
 drivers/net/ethernet/intel/fm10k/fm10k.h     |  3 +++
 drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 18 ++++++++++++++++--
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/fm10k/fm10k.h b/drivers/net/ethernet/intel/fm10k/fm10k.h
index 2a16cd1b2a8b..c84be8189f4c 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k.h
+++ b/drivers/net/ethernet/intel/fm10k/fm10k.h
@@ -23,6 +23,7 @@
 
 #include <linux/types.h>
 #include <linux/etherdevice.h>
+#include <linux/cpumask.h>
 #include <linux/rtnetlink.h>
 #include <linux/if_vlan.h>
 #include <linux/pci.h>
@@ -66,6 +67,7 @@ struct fm10k_l2_accel {
 enum fm10k_ring_state_t {
 	__FM10K_TX_DETECT_HANG,
 	__FM10K_HANG_CHECK_ARMED,
+	__FM10K_TX_XPS_INIT_DONE,
 };
 
 #define check_for_tx_hang(ring) \
@@ -209,6 +211,7 @@ struct fm10k_q_vector {
 	struct fm10k_ring_container rx, tx;
 
 	struct napi_struct napi;
+	cpumask_t affinity_mask;
 	char name[IFNAMSIZ + 9];
 
 #ifdef CONFIG_DEBUG_FS
diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
index 15d8e10c2504..15e67a383d27 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
+++ b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
@@ -727,6 +727,13 @@ static void fm10k_configure_rx_ring(struct fm10k_intfc *interface,
 
 	fm10k_write_reg(hw, FM10K_RXINT(reg_idx), rxint);
 
+	/* Initialize XPS */
+	if (!test_and_set_bit(__FM10K_TX_XPS_INIT_DONE, &ring->state) &&
+	    ring->q_vector)
+		netif_set_xps_queue(ring->netdev,
+				    &ring->q_vector->affinity_mask,
+				    ring->queue_index);
+
 	/* enable queue */
 	fm10k_write_reg(hw, FM10K_RXQCTL(reg_idx), rxqctl);
 
@@ -1478,8 +1485,10 @@ void fm10k_qv_free_irq(struct fm10k_intfc *interface)
 		if (!q_vector->tx.count && !q_vector->rx.count)
 			continue;
 
-		/* disable interrupts */
+		/* clear the affinity_mask in the IRQ descriptor */
+		irq_set_affinity_hint(entry->vector, NULL);
 
+		/* disable interrupts */
 		writel(FM10K_ITR_MASK_SET, q_vector->itr);
 
 		free_irq(entry->vector, q_vector);
@@ -1537,6 +1546,9 @@ int fm10k_qv_request_irq(struct fm10k_intfc *interface)
 			goto err_out;
 		}
 
+		/* assign the mask for this irq */
+		irq_set_affinity_hint(entry->vector, &q_vector->affinity_mask);
+
 		/* Enable q_vector */
 		writel(FM10K_ITR_ENABLE, q_vector->itr);
 
@@ -1557,8 +1569,10 @@ int fm10k_qv_request_irq(struct fm10k_intfc *interface)
 		if (!q_vector->tx.count && !q_vector->rx.count)
 			continue;
 
-		/* disable interrupts */
+		/* clear the affinity_mask in the IRQ descriptor */
+		irq_set_affinity_hint(entry->vector, NULL);
 
+		/* disable interrupts */
 		writel(FM10K_ITR_MASK_SET, q_vector->itr);
 
 		free_irq(entry->vector, q_vector);
-- 
2.6.1.264.gbab76a9


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-10-29  0:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20151026213507.GA39799@aiaiai.jf.intel.com>
2015-10-26 21:44 ` [Intel-wired-lan] [next-queue] fm10k: initialize xps at driver load Keller, Jacob E
2015-10-26 21:28 Jacob Keller
2015-10-29  0:11 ` Allan, Bruce W
2015-10-29  0:34   ` Keller, Jacob E

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.