* [PATCH net-next,1/3] hv_netvsc: Rename ind_table to rx_table
2017-10-13 19:28 [PATCH net-next,0/3] Add init of send table and var renames Haiyang Zhang
@ 2017-10-13 19:28 ` Haiyang Zhang
2017-10-13 19:28 ` [PATCH net-next,2/3] hv_netvsc: Rename tx_send_table to tx_table Haiyang Zhang
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Haiyang Zhang @ 2017-10-13 19:28 UTC (permalink / raw)
To: davem, netdev; +Cc: haiyangz, kys, sthemmin, olaf, vkuznets, linux-kernel
From: Haiyang Zhang <haiyangz@microsoft.com>
Rename this variable because it is the Receive indirection
table.
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
---
drivers/net/hyperv/hyperv_net.h | 2 +-
drivers/net/hyperv/netvsc_drv.c | 4 ++--
drivers/net/hyperv/rndis_filter.c | 6 +++---
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index a81335e8ebe8..65ceb3aec40e 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -179,7 +179,7 @@ struct rndis_device {
u8 hw_mac_adr[ETH_ALEN];
u8 rss_key[NETVSC_HASH_KEYLEN];
- u16 ind_table[ITAB_NUM];
+ u16 rx_table[ITAB_NUM];
};
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 44746de3dd4c..8fa964e733ad 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -1434,7 +1434,7 @@ static int netvsc_get_rxfh(struct net_device *dev, u32 *indir, u8 *key,
rndis_dev = ndev->extension;
if (indir) {
for (i = 0; i < ITAB_NUM; i++)
- indir[i] = rndis_dev->ind_table[i];
+ indir[i] = rndis_dev->rx_table[i];
}
if (key)
@@ -1464,7 +1464,7 @@ static int netvsc_set_rxfh(struct net_device *dev, const u32 *indir,
return -EINVAL;
for (i = 0; i < ITAB_NUM; i++)
- rndis_dev->ind_table[i] = indir[i];
+ rndis_dev->rx_table[i] = indir[i];
}
if (!key) {
diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c
index 065b204d8e17..addf9f69c58c 100644
--- a/drivers/net/hyperv/rndis_filter.c
+++ b/drivers/net/hyperv/rndis_filter.c
@@ -759,7 +759,7 @@ int rndis_filter_set_rss_param(struct rndis_device *rdev,
/* Set indirection table entries */
itab = (u32 *)(rssp + 1);
for (i = 0; i < ITAB_NUM; i++)
- itab[i] = rdev->ind_table[i];
+ itab[i] = rdev->rx_table[i];
/* Set hask key values */
keyp = (u8 *)((unsigned long)rssp + rssp->kashkey_offset);
@@ -1284,8 +1284,8 @@ struct netvsc_device *rndis_filter_device_add(struct hv_device *dev,
net_device->num_chn = min(net_device->max_chn, device_info->num_chn);
for (i = 0; i < ITAB_NUM; i++)
- rndis_device->ind_table[i] = ethtool_rxfh_indir_default(i,
- net_device->num_chn);
+ rndis_device->rx_table[i] = ethtool_rxfh_indir_default(
+ i, net_device->num_chn);
atomic_set(&net_device->open_chn, 1);
vmbus_set_sc_create_callback(dev->channel, netvsc_sc_open);
--
2.14.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH net-next,2/3] hv_netvsc: Rename tx_send_table to tx_table
2017-10-13 19:28 [PATCH net-next,0/3] Add init of send table and var renames Haiyang Zhang
2017-10-13 19:28 ` [PATCH net-next,1/3] hv_netvsc: Rename ind_table to rx_table Haiyang Zhang
@ 2017-10-13 19:28 ` Haiyang Zhang
2017-10-13 19:28 ` [PATCH net-next,3/3] hv_netvsc: Add initialization of tx_table in netvsc_device_add() Haiyang Zhang
2017-10-15 1:43 ` [PATCH net-next,0/3] Add init of send table and var renames David Miller
3 siblings, 0 replies; 5+ messages in thread
From: Haiyang Zhang @ 2017-10-13 19:28 UTC (permalink / raw)
To: davem, netdev; +Cc: haiyangz, kys, sthemmin, olaf, vkuznets, linux-kernel
From: Haiyang Zhang <haiyangz@microsoft.com>
Simplify the variable name: tx_send_table
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
---
drivers/net/hyperv/hyperv_net.h | 2 +-
drivers/net/hyperv/netvsc.c | 2 +-
drivers/net/hyperv/netvsc_drv.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index 65ceb3aec40e..4958bb6b7376 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -731,7 +731,7 @@ struct net_device_context {
u32 tx_checksum_mask;
- u32 tx_send_table[VRSS_SEND_TAB_SIZE];
+ u32 tx_table[VRSS_SEND_TAB_SIZE];
/* Ethtool settings */
u8 duplex;
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index 6e5194916bbe..d34cf37e949d 100644
--- a/drivers/net/hyperv/netvsc.c
+++ b/drivers/net/hyperv/netvsc.c
@@ -1110,7 +1110,7 @@ static void netvsc_send_table(struct hv_device *hdev,
nvmsg->msg.v5_msg.send_table.offset);
for (i = 0; i < count; i++)
- net_device_ctx->tx_send_table[i] = tab[i];
+ net_device_ctx->tx_table[i] = tab[i];
}
static void netvsc_send_vf(struct net_device_context *net_device_ctx,
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 8fa964e733ad..da216ca4f2b2 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -252,8 +252,8 @@ static inline int netvsc_get_tx_queue(struct net_device *ndev,
struct sock *sk = skb->sk;
int q_idx;
- q_idx = ndc->tx_send_table[netvsc_get_hash(skb, ndc) &
- (VRSS_SEND_TAB_SIZE - 1)];
+ q_idx = ndc->tx_table[netvsc_get_hash(skb, ndc) &
+ (VRSS_SEND_TAB_SIZE - 1)];
/* If queue index changed record the new value */
if (q_idx != old_idx &&
--
2.14.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH net-next,3/3] hv_netvsc: Add initialization of tx_table in netvsc_device_add()
2017-10-13 19:28 [PATCH net-next,0/3] Add init of send table and var renames Haiyang Zhang
2017-10-13 19:28 ` [PATCH net-next,1/3] hv_netvsc: Rename ind_table to rx_table Haiyang Zhang
2017-10-13 19:28 ` [PATCH net-next,2/3] hv_netvsc: Rename tx_send_table to tx_table Haiyang Zhang
@ 2017-10-13 19:28 ` Haiyang Zhang
2017-10-15 1:43 ` [PATCH net-next,0/3] Add init of send table and var renames David Miller
3 siblings, 0 replies; 5+ messages in thread
From: Haiyang Zhang @ 2017-10-13 19:28 UTC (permalink / raw)
To: davem, netdev; +Cc: haiyangz, kys, sthemmin, olaf, vkuznets, linux-kernel
From: Haiyang Zhang <haiyangz@microsoft.com>
tx_table is part of the private data of kernel net_device. It is only
zero-ed out when allocating net_device.
We may recreate netvsc_device w/o recreating net_device, so the private
netdev data, including tx_table, are not zeroed. It may contain channel
numbers for the older netvsc_device.
This patch adds initialization of tx_table each time we recreate
netvsc_device.
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
---
drivers/net/hyperv/netvsc.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index d34cf37e949d..5bb6a20072dd 100644
--- a/drivers/net/hyperv/netvsc.c
+++ b/drivers/net/hyperv/netvsc.c
@@ -1255,6 +1255,9 @@ struct netvsc_device *netvsc_device_add(struct hv_device *device,
if (!net_device)
return ERR_PTR(-ENOMEM);
+ for (i = 0; i < VRSS_SEND_TAB_SIZE; i++)
+ net_device_ctx->tx_table[i] = 0;
+
net_device->ring_size = ring_size;
/* Because the device uses NAPI, all the interrupt batching and
--
2.14.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH net-next,0/3] Add init of send table and var renames
2017-10-13 19:28 [PATCH net-next,0/3] Add init of send table and var renames Haiyang Zhang
` (2 preceding siblings ...)
2017-10-13 19:28 ` [PATCH net-next,3/3] hv_netvsc: Add initialization of tx_table in netvsc_device_add() Haiyang Zhang
@ 2017-10-15 1:43 ` David Miller
3 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2017-10-15 1:43 UTC (permalink / raw)
To: haiyangz, haiyangz; +Cc: netdev, kys, sthemmin, olaf, vkuznets, linux-kernel
From: Haiyang Zhang <haiyangz@exchange.microsoft.com>
Date: Fri, 13 Oct 2017 12:28:02 -0700
> From: Haiyang Zhang <haiyangz@microsoft.com>
>
> Add initialization of send indirection table. Otherwise it may contain
> old info of previous device with different number of channels.
>
> Also, did some variable renaming for easier reading.
Series applied, thank you.
^ permalink raw reply [flat|nested] 5+ messages in thread