* [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.