* [PATCH net-next 0/3] be2net: patch set
@ 2014-08-01 12:17 Sathya Perla
2014-08-02 22:59 ` David Miller
0 siblings, 1 reply; 9+ messages in thread
From: Sathya Perla @ 2014-08-01 12:17 UTC (permalink / raw)
To: netdev
Patch 1 fixes a regression caused by a previous commit on net-next.
Old versions of BE3 FW may not support cmds to re-provision (and hence
optimize) resources/queues in SR-IOV config. Do not treat this FW cmd
failure as fatal and fail the function initialization. Instead, just
enable SR-IOV with the resources provided by the FW.
Patch 2 ignores a VF mac address setting if the new mac is already active
on the VF.
Patch 3 adds support to delete a FW-dump via ethtool on Lancer adapters.
Please consider applying this patch-set to the net-next tree. Thanks!
Kalesh AP (1):
be2net: support deleting FW dump via ethtool (only for Lancer)
Sathya Perla (1):
be2net: ignore get/set profile FW cmd failures
Vasundhara Volam (1):
be2net: ignore VF mac address setting for the same mac
drivers/net/ethernet/emulex/benet/be.h | 2 +
drivers/net/ethernet/emulex/benet/be_cmds.c | 48 ++++++++++++++-
drivers/net/ethernet/emulex/benet/be_cmds.h | 10 +++
drivers/net/ethernet/emulex/benet/be_ethtool.c | 17 +++---
drivers/net/ethernet/emulex/benet/be_main.c | 75 ++++++++++++++----------
5 files changed, 109 insertions(+), 43 deletions(-)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next 0/3] be2net: patch set
2014-08-01 12:17 Sathya Perla
@ 2014-08-02 22:59 ` David Miller
0 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2014-08-02 22:59 UTC (permalink / raw)
To: sathya.perla; +Cc: netdev
From: Sathya Perla <sathya.perla@emulex.com>
Date: Fri, 1 Aug 2014 17:47:29 +0530
> Patch 1 fixes a regression caused by a previous commit on net-next.
> Old versions of BE3 FW may not support cmds to re-provision (and hence
> optimize) resources/queues in SR-IOV config. Do not treat this FW cmd
> failure as fatal and fail the function initialization. Instead, just
> enable SR-IOV with the resources provided by the FW.
>
> Patch 2 ignores a VF mac address setting if the new mac is already active
> on the VF.
>
> Patch 3 adds support to delete a FW-dump via ethtool on Lancer adapters.
>
> Please consider applying this patch-set to the net-next tree. Thanks!
Series applied, thank you.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH net-next 0/3] be2net: patch set
@ 2015-03-04 5:44 Sathya Perla
2015-03-04 20:59 ` David Miller
0 siblings, 1 reply; 9+ messages in thread
From: Sathya Perla @ 2015-03-04 5:44 UTC (permalink / raw)
To: netdev
Hi Dave, the following patch set includes three feature additions relating
to SR-IOV to be2net.
Patch 1 avoid creating a non-RSS default RXQ when FW allows it.
This prevents wasting one RXQ for each VF.
Patch 2 adds support for evenly distributing all queue & filter resources
across VFs. The FW informs the driver as to which resources are distributable.
Patch 3 implements the sriov_configure PCI method to allow runtime
enablement of VFs via sysfs.
Pls consider applying this patch-set to the net-next tree. Thanks!
Vasundhara Volam (3):
be2net: avoid creating the non-RSS default RXQ if FW allows to
be2net: re-distribute SRIOV resources allowed by FW
be2net: implement .sriov_configure() PCI callback
drivers/net/ethernet/emulex/benet/be.h | 9 +-
drivers/net/ethernet/emulex/benet/be_cmds.c | 114 +++++++----
drivers/net/ethernet/emulex/benet/be_cmds.h | 23 ++-
drivers/net/ethernet/emulex/benet/be_ethtool.c | 2 +-
drivers/net/ethernet/emulex/benet/be_main.c | 260 +++++++++++++++++--------
5 files changed, 285 insertions(+), 123 deletions(-)
--
2.2.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH net-next 0/3] be2net: patch set
2015-03-04 5:44 Sathya Perla
@ 2015-03-04 20:59 ` David Miller
0 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2015-03-04 20:59 UTC (permalink / raw)
To: sathya.perla; +Cc: netdev
From: Sathya Perla <sathya.perla@emulex.com>
Date: Wed, 4 Mar 2015 00:44:31 -0500
> Hi Dave, the following patch set includes three feature additions relating
> to SR-IOV to be2net.
>
> Patch 1 avoid creating a non-RSS default RXQ when FW allows it.
> This prevents wasting one RXQ for each VF.
>
> Patch 2 adds support for evenly distributing all queue & filter resources
> across VFs. The FW informs the driver as to which resources are distributable.
>
> Patch 3 implements the sriov_configure PCI method to allow runtime
> enablement of VFs via sysfs.
>
> Pls consider applying this patch-set to the net-next tree. Thanks!
Series applied, thanks.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH net-next 0/3] be2net: patch set
@ 2015-03-26 7:05 Sathya Perla
2015-03-26 7:05 ` [PATCH net-next 1/3] be2net: assign CPU affinity hints to be2net IRQs Sathya Perla
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Sathya Perla @ 2015-03-26 7:05 UTC (permalink / raw)
To: netdev
Hi David, this patch set includes 2 feature additions to the be2net driver:
Patch 1 sets up cpu affinity hints for be2net irqs using the
cpumask_set_cpu_local_first() API that first picks the near numa cores
and when they are exhausted, selects the far numa cores.
Patch 2 setups up xps queue mapping for be2net's TXQs to avoid,
by default, TX lock contention.
Patch 3 just bumps up the driver version.
Pls consider applying this patch set to the net-next queue. Thanks!
Padmanabh Ratnakar (1):
be2net: assign CPU affinity hints to be2net IRQs
Sathya Perla (2):
be2net: setup xps queue mapping
be2net: bump up the driver version to 10.6.0.1
drivers/net/ethernet/emulex/benet/be.h | 4 +++-
drivers/net/ethernet/emulex/benet/be_main.c | 27 +++++++++++++++++++++------
2 files changed, 24 insertions(+), 7 deletions(-)
--
2.2.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH net-next 1/3] be2net: assign CPU affinity hints to be2net IRQs
2015-03-26 7:05 [PATCH net-next 0/3] be2net: patch set Sathya Perla
@ 2015-03-26 7:05 ` Sathya Perla
2015-03-26 7:05 ` [PATCH net-next 2/3] be2net: setup xps queue mapping Sathya Perla
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Sathya Perla @ 2015-03-26 7:05 UTC (permalink / raw)
To: netdev
From: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
This patch provides hints to irqbalance to map be2net IRQs to
specific CPU cores. cpumask_set_cpu_local_first() is used, which first
maps IRQs to near NUMA cores; when those cores are exhausted, IRQs are
mapped to far NUMA cores.
Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
---
drivers/net/ethernet/emulex/benet/be.h | 2 ++
drivers/net/ethernet/emulex/benet/be_main.c | 17 ++++++++++++++---
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h
index eb39673..a2fe1f3 100644
--- a/drivers/net/ethernet/emulex/benet/be.h
+++ b/drivers/net/ethernet/emulex/benet/be.h
@@ -30,6 +30,7 @@
#include <linux/firmware.h>
#include <linux/slab.h>
#include <linux/u64_stats_sync.h>
+#include <linux/cpumask.h>
#include "be_hw.h"
#include "be_roce.h"
@@ -183,6 +184,7 @@ struct be_eq_obj {
u16 spurious_intr;
struct napi_struct napi;
struct be_adapter *adapter;
+ cpumask_var_t affinity_mask;
#ifdef CONFIG_NET_RX_BUSY_POLL
#define BE_EQ_IDLE 0
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index d8df78b..3541207 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -2342,6 +2342,7 @@ static void be_evt_queues_destroy(struct be_adapter *adapter)
napi_hash_del(&eqo->napi);
netif_napi_del(&eqo->napi);
}
+ free_cpumask_var(eqo->affinity_mask);
be_queue_free(adapter, &eqo->q);
}
}
@@ -2357,6 +2358,11 @@ static int be_evt_queues_create(struct be_adapter *adapter)
adapter->cfg_num_qs);
for_all_evt_queues(adapter, eqo, i) {
+ if (!zalloc_cpumask_var(&eqo->affinity_mask, GFP_KERNEL))
+ return -ENOMEM;
+ cpumask_set_cpu_local_first(i, dev_to_node(&adapter->pdev->dev),
+ eqo->affinity_mask);
+
netif_napi_add(adapter->netdev, &eqo->napi, be_poll,
BE_NAPI_WEIGHT);
napi_hash_add(&eqo->napi);
@@ -3028,6 +3034,8 @@ static int be_msix_register(struct be_adapter *adapter)
status = request_irq(vec, be_msix, 0, eqo->desc, eqo);
if (status)
goto err_msix;
+
+ irq_set_affinity_hint(vec, eqo->affinity_mask);
}
return 0;
@@ -3072,7 +3080,7 @@ static void be_irq_unregister(struct be_adapter *adapter)
{
struct net_device *netdev = adapter->netdev;
struct be_eq_obj *eqo;
- int i;
+ int i, vec;
if (!adapter->isr_registered)
return;
@@ -3084,8 +3092,11 @@ static void be_irq_unregister(struct be_adapter *adapter)
}
/* MSIx */
- for_all_evt_queues(adapter, eqo, i)
- free_irq(be_msix_vec_get(adapter, eqo), eqo);
+ for_all_evt_queues(adapter, eqo, i) {
+ vec = be_msix_vec_get(adapter, eqo);
+ irq_set_affinity_hint(vec, NULL);
+ free_irq(vec, eqo);
+ }
done:
adapter->isr_registered = false;
--
2.2.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net-next 2/3] be2net: setup xps queue mapping
2015-03-26 7:05 [PATCH net-next 0/3] be2net: patch set Sathya Perla
2015-03-26 7:05 ` [PATCH net-next 1/3] be2net: assign CPU affinity hints to be2net IRQs Sathya Perla
@ 2015-03-26 7:05 ` Sathya Perla
2015-03-26 7:05 ` [PATCH net-next 3/3] be2net: bump up the driver version to 10.6.0.1 Sathya Perla
2015-03-29 19:34 ` [PATCH net-next 0/3] be2net: patch set David Miller
3 siblings, 0 replies; 9+ messages in thread
From: Sathya Perla @ 2015-03-26 7:05 UTC (permalink / raw)
To: netdev
This patch sets up xps queue mapping on load, so that TX traffic is
steered to the queue whose irqs are being processed by the current cpu.
This helps in avoiding TX lock contention.
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
---
drivers/net/ethernet/emulex/benet/be_main.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 3541207..5ff7fba 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -2454,8 +2454,9 @@ static void be_tx_queues_destroy(struct be_adapter *adapter)
static int be_tx_qs_create(struct be_adapter *adapter)
{
- struct be_queue_info *cq, *eq;
+ struct be_queue_info *cq;
struct be_tx_obj *txo;
+ struct be_eq_obj *eqo;
int status, i;
adapter->num_tx_qs = min(adapter->num_evt_qs, be_max_txqs(adapter));
@@ -2473,8 +2474,8 @@ static int be_tx_qs_create(struct be_adapter *adapter)
/* If num_evt_qs is less than num_tx_qs, then more than
* one txq share an eq
*/
- eq = &adapter->eq_obj[i % adapter->num_evt_qs].q;
- status = be_cmd_cq_create(adapter, cq, eq, false, 3);
+ eqo = &adapter->eq_obj[i % adapter->num_evt_qs];
+ status = be_cmd_cq_create(adapter, cq, &eqo->q, false, 3);
if (status)
return status;
@@ -2486,6 +2487,9 @@ static int be_tx_qs_create(struct be_adapter *adapter)
status = be_cmd_txq_create(adapter, txo);
if (status)
return status;
+
+ netif_set_xps_queue(adapter->netdev, eqo->affinity_mask,
+ eqo->idx);
}
dev_info(&adapter->pdev->dev, "created %d TX queue(s)\n",
--
2.2.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH net-next 3/3] be2net: bump up the driver version to 10.6.0.1
2015-03-26 7:05 [PATCH net-next 0/3] be2net: patch set Sathya Perla
2015-03-26 7:05 ` [PATCH net-next 1/3] be2net: assign CPU affinity hints to be2net IRQs Sathya Perla
2015-03-26 7:05 ` [PATCH net-next 2/3] be2net: setup xps queue mapping Sathya Perla
@ 2015-03-26 7:05 ` Sathya Perla
2015-03-29 19:34 ` [PATCH net-next 0/3] be2net: patch set David Miller
3 siblings, 0 replies; 9+ messages in thread
From: Sathya Perla @ 2015-03-26 7:05 UTC (permalink / raw)
To: netdev
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
---
drivers/net/ethernet/emulex/benet/be.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h
index a2fe1f3..4b0494b 100644
--- a/drivers/net/ethernet/emulex/benet/be.h
+++ b/drivers/net/ethernet/emulex/benet/be.h
@@ -35,7 +35,7 @@
#include "be_hw.h"
#include "be_roce.h"
-#define DRV_VER "10.4u"
+#define DRV_VER "10.6.0.1"
#define DRV_NAME "be2net"
#define BE_NAME "Emulex BladeEngine2"
#define BE3_NAME "Emulex BladeEngine3"
--
2.2.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH net-next 0/3] be2net: patch set
2015-03-26 7:05 [PATCH net-next 0/3] be2net: patch set Sathya Perla
` (2 preceding siblings ...)
2015-03-26 7:05 ` [PATCH net-next 3/3] be2net: bump up the driver version to 10.6.0.1 Sathya Perla
@ 2015-03-29 19:34 ` David Miller
3 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2015-03-29 19:34 UTC (permalink / raw)
To: sathya.perla; +Cc: netdev
From: Sathya Perla <sathya.perla@emulex.com>
Date: Thu, 26 Mar 2015 03:05:07 -0400
> Hi David, this patch set includes 2 feature additions to the be2net driver:
>
> Patch 1 sets up cpu affinity hints for be2net irqs using the
> cpumask_set_cpu_local_first() API that first picks the near numa cores
> and when they are exhausted, selects the far numa cores.
>
> Patch 2 setups up xps queue mapping for be2net's TXQs to avoid,
> by default, TX lock contention.
>
> Patch 3 just bumps up the driver version.
>
> Pls consider applying this patch set to the net-next queue. Thanks!
Series applied, thanks.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-03-29 19:25 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-26 7:05 [PATCH net-next 0/3] be2net: patch set Sathya Perla
2015-03-26 7:05 ` [PATCH net-next 1/3] be2net: assign CPU affinity hints to be2net IRQs Sathya Perla
2015-03-26 7:05 ` [PATCH net-next 2/3] be2net: setup xps queue mapping Sathya Perla
2015-03-26 7:05 ` [PATCH net-next 3/3] be2net: bump up the driver version to 10.6.0.1 Sathya Perla
2015-03-29 19:34 ` [PATCH net-next 0/3] be2net: patch set David Miller
-- strict thread matches above, loose matches on Subject: below --
2015-03-04 5:44 Sathya Perla
2015-03-04 20:59 ` David Miller
2014-08-01 12:17 Sathya Perla
2014-08-02 22:59 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).