* [PATCH net-next,0/3] Add init of send table and var renames
@ 2017-10-13 19:28 Haiyang Zhang
2017-10-13 19:28 ` [PATCH net-next,1/3] hv_netvsc: Rename ind_table to rx_table Haiyang Zhang
` (3 more replies)
0 siblings, 4 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>
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.
Haiyang Zhang (3):
hv_netvsc: Rename ind_table to rx_table
hv_netvsc: Rename tx_send_table to tx_table
hv_netvsc: Add initialization of tx_table in netvsc_device_add()
drivers/net/hyperv/hyperv_net.h | 4 ++--
drivers/net/hyperv/netvsc.c | 5 ++++-
drivers/net/hyperv/netvsc_drv.c | 8 ++++----
drivers/net/hyperv/rndis_filter.c | 6 +++---
4 files changed, 13 insertions(+), 10 deletions(-)
--
2.14.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [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
end of thread, other threads:[~2017-10-15 1:43 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [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
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).