Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1613191 > unrolled thread
| Started by | Salil Mehta <salil.mehta@huawei.com> |
|---|---|
| First post | 2017-03-30 17:40 +0200 |
| Last post | 2017-03-31 12:00 +0200 |
| Articles | 8 on this page of 28 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 17/19] net: hns: Adjust the SBM module buffer threshold Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 16/19] net: hns: Simplify the exception sequence in hns_ppe_init() Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 12/19] net: hns: Remove redundant mac_get_id() Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 05/19] net: hns: Remove redundant memset during buffer release Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 13/19] net: hns: Remove redundant mac table operations Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 02/19] net: hns: Modify GMAC init TX threshold value Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 04/19] net: hns: Change the TX queue selection algorithm Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 19/19] net: hns: Some checkpatch.pl script & warning fixes Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 15/19] net: hns: Optimise the code in hns_mdio_wait_ready() Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 07/19] net: hns: Optimize hns_nic_common_poll for better performance Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 06/19] net: hns: bug fix of ethtool show the speed Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 08/19] net: hns: Fix to adjust buf_size of ring according to mtu Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
Re: [PATCH net 08/19] net: hns: Fix to adjust buf_size of ring according to mtu kbuild test robot <lkp@intel.com> - 2017-04-01 02:00 +0200
[PATCH] net: hns: fix boolreturn.cocci warnings kbuild test robot <lkp@intel.com> - 2017-04-01 02:00 +0200
Re: [PATCH] net: hns: fix boolreturn.cocci warnings David Miller <davem@davemloft.net> - 2017-04-03 04:50 +0200
Re: [kbuild-all] [PATCH] net: hns: fix boolreturn.cocci warnings Fengguang Wu <lkp@intel.com> - 2017-04-03 05:00 +0200
[PATCH net 09/19] net: hns: Replace netif_tx_lock to ring spin lock Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 10/19] net: hns: Correct HNS RSS key set function Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 03/19] net: hns: Optimize the code for GMAC pad and crc Config Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 14/19] net: hns: Clean redundant code from hns_mdio.c file Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:40 +0200
[PATCH net 01/19] net: hns: Fix the implementation of irq affinity function Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 17:50 +0200
Re: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements David Miller <davem@davemloft.net> - 2017-03-30 19:10 +0200
RE: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 19:30 +0200
Re: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements David Miller <davem@davemloft.net> - 2017-03-30 19:30 +0200
RE: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements Salil Mehta <salil.mehta@huawei.com> - 2017-03-30 19:30 +0200
Re: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements David Miller <davem@davemloft.net> - 2017-03-31 05:10 +0200
RE: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements Salil Mehta <salil.mehta@huawei.com> - 2017-03-31 12:00 +0200
Page 2 of 2 — ← Prev page 1 [2]
| From | Salil Mehta <salil.mehta@huawei.com> |
|---|---|
| Date | 2017-03-30 17:40 +0200 |
| Subject | [PATCH net 14/19] net: hns: Clean redundant code from hns_mdio.c file |
| Message-ID | <tqKl6-8nZ-73@gated-at.bofh.it> |
| In reply to | #1613191 |
From: Kejian Yan <yankejian@huawei.com>
This patch cleans the redundant code from hns_mdio.c.
Reported-by: Ping Zhang <zhangping5@huawei.com>
Signed-off-by: Kejian Yan <yankejian@huawei.com>
Reviewed-by: Salil Mehta <salil.mehta@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
---
drivers/net/ethernet/hisilicon/hns_mdio.c | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns_mdio.c b/drivers/net/ethernet/hisilicon/hns_mdio.c
index 501eb20..fad1c5b 100644
--- a/drivers/net/ethernet/hisilicon/hns_mdio.c
+++ b/drivers/net/ethernet/hisilicon/hns_mdio.c
@@ -23,17 +23,9 @@
#include <linux/phy.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
-#include <linux/spinlock_types.h>
#define MDIO_DRV_NAME "Hi-HNS_MDIO"
#define MDIO_BUS_NAME "Hisilicon MII Bus"
-#define MDIO_DRV_VERSION "1.3.0"
-#define MDIO_COPYRIGHT "Copyright(c) 2015 Huawei Corporation."
-#define MDIO_DRV_STRING MDIO_BUS_NAME
-#define MDIO_DEFAULT_DEVICE_DESCR MDIO_BUS_NAME
-
-#define MDIO_CTL_DEV_ADDR(x) (x & 0x1f)
-#define MDIO_CTL_PORT_ADDR(x) ((x & 0x1f) << 5)
#define MDIO_TIMEOUT 1000000
@@ -64,9 +56,7 @@ struct hns_mdio_device {
#define MDIO_CMD_DEVAD_S 0
#define MDIO_CMD_PRTAD_M 0x1f
#define MDIO_CMD_PRTAD_S 5
-#define MDIO_CMD_OP_M 0x3
#define MDIO_CMD_OP_S 10
-#define MDIO_CMD_ST_M 0x3
#define MDIO_CMD_ST_S 12
#define MDIO_CMD_START_B 14
--
2.7.4
[toc] | [prev] | [next] | [standalone]
| From | Salil Mehta <salil.mehta@huawei.com> |
|---|---|
| Date | 2017-03-30 17:50 +0200 |
| Subject | [PATCH net 01/19] net: hns: Fix the implementation of irq affinity function |
| Message-ID | <tqKuJ-8ry-1@gated-at.bofh.it> |
| In reply to | #1613191 |
From: lipeng <lipeng321@huawei.com>
This patch fixes the implementation of the IRQ affinity
function. This function is used to create the cpu mask
which eventually is used to initialize the cpu<->queue
association for XPS(Transmit Packet Steering).
Signed-off-by: lipeng <lipeng321@huawei.com>
Signed-off-by: Kejian Yan <yankejian@huawei.com>
Reviewed-by: Yisen Zhuang <yisen.zhuang@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
---
drivers/net/ethernet/hisilicon/hns/hns_enet.c | 75 +++++++++++----------------
drivers/net/ethernet/hisilicon/hns/hns_enet.h | 1 +
2 files changed, 30 insertions(+), 46 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns/hns_enet.c b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
index fca37e2..73ec8c8 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_enet.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_enet.c
@@ -1196,54 +1196,31 @@ static void hns_nic_ring_close(struct net_device *netdev, int idx)
napi_disable(&priv->ring_data[idx].napi);
}
-static void hns_set_irq_affinity(struct hns_nic_priv *priv)
+static int hns_nic_init_affinity_mask(int q_num, int ring_idx,
+ struct hnae_ring *ring, cpumask_t *mask)
{
- struct hnae_handle *h = priv->ae_handle;
- struct hns_nic_ring_data *rd;
- int i;
int cpu;
- cpumask_var_t mask;
- if (!alloc_cpumask_var(&mask, GFP_KERNEL))
- return;
-
- /*diffrent irq banlance for 16core and 32core*/
- if (h->q_num == num_possible_cpus()) {
- for (i = 0; i < h->q_num * 2; i++) {
- rd = &priv->ring_data[i];
- if (cpu_online(rd->queue_index)) {
- cpumask_clear(mask);
- cpu = rd->queue_index;
- cpumask_set_cpu(cpu, mask);
- (void)irq_set_affinity_hint(rd->ring->irq,
- mask);
- }
- }
+ /* Diffrent irq banlance between 16core and 32core.
+ * The cpu mask set by ring index according to the ring flag
+ * which indicate the ring is tx or rx.
+ */
+ if (q_num == num_possible_cpus()) {
+ if (is_tx_ring(ring))
+ cpu = ring_idx;
+ else
+ cpu = ring_idx - q_num;
} else {
- for (i = 0; i < h->q_num; i++) {
- rd = &priv->ring_data[i];
- if (cpu_online(rd->queue_index * 2)) {
- cpumask_clear(mask);
- cpu = rd->queue_index * 2;
- cpumask_set_cpu(cpu, mask);
- (void)irq_set_affinity_hint(rd->ring->irq,
- mask);
- }
- }
-
- for (i = h->q_num; i < h->q_num * 2; i++) {
- rd = &priv->ring_data[i];
- if (cpu_online(rd->queue_index * 2 + 1)) {
- cpumask_clear(mask);
- cpu = rd->queue_index * 2 + 1;
- cpumask_set_cpu(cpu, mask);
- (void)irq_set_affinity_hint(rd->ring->irq,
- mask);
- }
- }
+ if (is_tx_ring(ring))
+ cpu = ring_idx * 2;
+ else
+ cpu = (ring_idx - q_num) * 2 + 1;
}
- free_cpumask_var(mask);
+ cpumask_clear(mask);
+ cpumask_set_cpu(cpu, mask);
+
+ return cpu;
}
static int hns_nic_init_irq(struct hns_nic_priv *priv)
@@ -1252,6 +1229,7 @@ static int hns_nic_init_irq(struct hns_nic_priv *priv)
struct hns_nic_ring_data *rd;
int i;
int ret;
+ int cpu;
for (i = 0; i < h->q_num * 2; i++) {
rd = &priv->ring_data[i];
@@ -1261,7 +1239,7 @@ static int hns_nic_init_irq(struct hns_nic_priv *priv)
snprintf(rd->ring->ring_name, RCB_RING_NAME_LEN,
"%s-%s%d", priv->netdev->name,
- (i < h->q_num ? "tx" : "rx"), rd->queue_index);
+ (is_tx_ring(rd->ring) ? "tx" : "rx"), rd->queue_index);
rd->ring->ring_name[RCB_RING_NAME_LEN - 1] = '\0';
@@ -1273,12 +1251,17 @@ static int hns_nic_init_irq(struct hns_nic_priv *priv)
return ret;
}
disable_irq(rd->ring->irq);
+
+ cpu = hns_nic_init_affinity_mask(h->q_num, i,
+ rd->ring, &rd->mask);
+
+ if (cpu_online(cpu))
+ irq_set_affinity_hint(rd->ring->irq,
+ &rd->mask);
+
rd->ring->irq_init_flag = RCB_IRQ_INITED;
}
- /*set cpu affinity*/
- hns_set_irq_affinity(priv);
-
return 0;
}
diff --git a/drivers/net/ethernet/hisilicon/hns/hns_enet.h b/drivers/net/ethernet/hisilicon/hns/hns_enet.h
index 5b412de..fff8f8a 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_enet.h
+++ b/drivers/net/ethernet/hisilicon/hns/hns_enet.h
@@ -37,6 +37,7 @@ enum hns_nic_state {
struct hns_nic_ring_data {
struct hnae_ring *ring;
struct napi_struct napi;
+ cpumask_t mask; /* affinity mask */
int queue_index;
int (*poll_one)(struct hns_nic_ring_data *, int, void *);
void (*ex_process)(struct hns_nic_ring_data *, struct sk_buff *);
--
2.7.4
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2017-03-30 19:10 +0200 |
| Subject | Re: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements |
| Message-ID | <tqLK9-16I-11@gated-at.bofh.it> |
| In reply to | #1613191 |
From: Salil Mehta <salil.mehta@huawei.com> Date: Thu, 30 Mar 2017 16:30:47 +0100 > This patch set introduces various HNS bug fixes, optimizations and code > improvements. What tree are you targetting? You say "net" in your Subject lines, but this series has cleanups and all sorts of other things which are absolutely not appropriate for 'net' and are 'net-next' material.
[toc] | [prev] | [next] | [standalone]
| From | Salil Mehta <salil.mehta@huawei.com> |
|---|---|
| Date | 2017-03-30 19:30 +0200 |
| Subject | RE: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements |
| Message-ID | <tqM3v-1dT-3@gated-at.bofh.it> |
| In reply to | #1613303 |
> -----Original Message----- > From: David Miller [mailto:davem@davemloft.net] > Sent: Thursday, March 30, 2017 6:09 PM > To: Salil Mehta > Cc: Zhuangyuzeng (Yisen); mehta.salil.lnk@gmail.com; > netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Linuxarm > Subject: Re: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code > Improvements > > From: Salil Mehta <salil.mehta@huawei.com> > Date: Thu, 30 Mar 2017 16:30:47 +0100 > > > This patch set introduces various HNS bug fixes, optimizations and code > > improvements. > > What tree are you targetting? > > You say "net" in your Subject lines, but this series has cleanups and all > sorts > of other things which are absolutely not appropriate for 'net' and are > 'net-next' > material. Hi David, Sorry David, These bug fixes are for the next merge window and for net-next. Should I resend the patches with below change? >>>>[PATCH net-next 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements Best regards Salil
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2017-03-30 19:30 +0200 |
| Subject | Re: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements |
| Message-ID | <tqM3v-1dT-5@gated-at.bofh.it> |
| In reply to | #1613311 |
From: Salil Mehta <salil.mehta@huawei.com> Date: Thu, 30 Mar 2017 17:19:44 +0000 > >> -----Original Message----- >> From: David Miller [mailto:davem@davemloft.net] >> Sent: Thursday, March 30, 2017 6:09 PM >> To: Salil Mehta >> Cc: Zhuangyuzeng (Yisen); mehta.salil.lnk@gmail.com; >> netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Linuxarm >> Subject: Re: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code >> Improvements >> >> From: Salil Mehta <salil.mehta@huawei.com> >> Date: Thu, 30 Mar 2017 16:30:47 +0100 >> >> > This patch set introduces various HNS bug fixes, optimizations and code >> > improvements. >> >> What tree are you targetting? >> >> You say "net" in your Subject lines, but this series has cleanups and all >> sorts >> of other things which are absolutely not appropriate for 'net' and are >> 'net-next' >> material. > Hi David, > Sorry David, These bug fixes are for the next merge window and for net-next. > Should I resend the patches with below change? It is not necessary to resend, thanks for clarifying.
[toc] | [prev] | [next] | [standalone]
| From | Salil Mehta <salil.mehta@huawei.com> |
|---|---|
| Date | 2017-03-30 19:30 +0200 |
| Subject | RE: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements |
| Message-ID | <tqM3x-1dT-29@gated-at.bofh.it> |
| In reply to | #1613312 |
> -----Original Message----- > From: David Miller [mailto:davem@davemloft.net] > Sent: Thursday, March 30, 2017 6:22 PM > To: Salil Mehta > Cc: Zhuangyuzeng (Yisen); mehta.salil.lnk@gmail.com; > netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Linuxarm > Subject: Re: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code > Improvements > > From: Salil Mehta <salil.mehta@huawei.com> > Date: Thu, 30 Mar 2017 17:19:44 +0000 > > > > >> -----Original Message----- > >> From: David Miller [mailto:davem@davemloft.net] > >> Sent: Thursday, March 30, 2017 6:09 PM > >> To: Salil Mehta > >> Cc: Zhuangyuzeng (Yisen); mehta.salil.lnk@gmail.com; > >> netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Linuxarm > >> Subject: Re: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code > >> Improvements > >> > >> From: Salil Mehta <salil.mehta@huawei.com> > >> Date: Thu, 30 Mar 2017 16:30:47 +0100 > >> > >> > This patch set introduces various HNS bug fixes, optimizations and > code > >> > improvements. > >> > >> What tree are you targetting? > >> > >> You say "net" in your Subject lines, but this series has cleanups > and all > >> sorts > >> of other things which are absolutely not appropriate for 'net' and > are > >> 'net-next' > >> material. > > Hi David, > > Sorry David, These bug fixes are for the next merge window and for > net-next. > > Should I resend the patches with below change? > > It is not necessary to resend, thanks for clarifying. Sure thanks.
[toc] | [prev] | [next] | [standalone]
| From | David Miller <davem@davemloft.net> |
|---|---|
| Date | 2017-03-31 05:10 +0200 |
| Subject | Re: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements |
| Message-ID | <tqV6N-7m5-1@gated-at.bofh.it> |
| In reply to | #1613191 |
From: Salil Mehta <salil.mehta@huawei.com> Date: Thu, 30 Mar 2017 16:30:47 +0100 > This patch set introduces various HNS bug fixes, optimizations and code > improvements. There is no way you should do such an expensive calculation for every single transmit packet as you are doing in your select_queue() routine. That's really crazy. Just use the networking stack's queue selection scheme, or suggest ways to improve it. Don't do private hashing like this in your driver, please!
[toc] | [prev] | [next] | [standalone]
| From | Salil Mehta <salil.mehta@huawei.com> |
|---|---|
| Date | 2017-03-31 12:00 +0200 |
| Subject | RE: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code Improvements |
| Message-ID | <tr1vA-2UA-5@gated-at.bofh.it> |
| In reply to | #1613586 |
> -----Original Message----- > From: David Miller [mailto:davem@davemloft.net] > Sent: Friday, March 31, 2017 4:03 AM > To: Salil Mehta > Cc: Zhuangyuzeng (Yisen); mehta.salil.lnk@gmail.com; > netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Linuxarm > Subject: Re: [PATCH net 00/19] net: hns: Misc. HNS Bug Fixes & Code > Improvements > > From: Salil Mehta <salil.mehta@huawei.com> > Date: Thu, 30 Mar 2017 16:30:47 +0100 > > > This patch set introduces various HNS bug fixes, optimizations and > code > > improvements. > > There is no way you should do such an expensive calculation for every > single transmit packet as you are doing in your select_queue() routine. > > That's really crazy. > > Just use the networking stack's queue selection scheme, or suggest > ways to improve it. Don't do private hashing like this in your > driver, please! Hi David, I got your point. I will drop this patch from this patch-set for now. Thanks Salil
[toc] | [prev] | [standalone]
Page 2 of 2 — ← Prev page 1 [2]
Back to top | Article view | linux.kernel
csiph-web