linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next, 0/4] cleanups and fixes of channel settings
@ 2017-09-01 21:30 Haiyang Zhang
  2017-09-01 21:30 ` [PATCH net-next, 1/4] hv_netvsc: Clean up an unused parameter in rndis_filter_set_rss_param() Haiyang Zhang
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Haiyang Zhang @ 2017-09-01 21:30 UTC (permalink / raw)
  To: davem, netdev; +Cc: haiyangz, kys, olaf, vkuznets, linux-kernel

From: Haiyang Zhang <haiyangz@microsoft.com>

This patch set cleans up some unused variables, unnecessary checks.
Also fixed some limit checking of channel number.


Haiyang Zhang (4):
  hv_netvsc: Clean up an unused parameter in rndis_filter_set_rss_param()
  hv_netvsc: Simplify num_chn checking in rndis_filter_device_add()
  hv_netvsc: Simplify the limit check in netvsc_set_channels()
  hv_netvsc: Fix the channel limit in netvsc_set_rxfh()

 drivers/net/hyperv/hyperv_net.h   |  2 +-
 drivers/net/hyperv/netvsc_drv.c   |  7 ++-----
 drivers/net/hyperv/rndis_filter.c | 11 +++++------
 3 files changed, 8 insertions(+), 12 deletions(-)

-- 
2.14.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH net-next, 1/4] hv_netvsc: Clean up an unused parameter in rndis_filter_set_rss_param()
  2017-09-01 21:30 [PATCH net-next, 0/4] cleanups and fixes of channel settings Haiyang Zhang
@ 2017-09-01 21:30 ` Haiyang Zhang
  2017-09-01 21:30 ` [PATCH net-next, 2/4] hv_netvsc: Simplify num_chn checking in rndis_filter_device_add() Haiyang Zhang
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Haiyang Zhang @ 2017-09-01 21:30 UTC (permalink / raw)
  To: davem, netdev; +Cc: haiyangz, kys, olaf, vkuznets, linux-kernel

From: Haiyang Zhang <haiyangz@microsoft.com>

This patch removes the parameter, num_queue in
rndis_filter_set_rss_param(), which is no longer in use.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
---
 drivers/net/hyperv/hyperv_net.h   | 2 +-
 drivers/net/hyperv/netvsc_drv.c   | 2 +-
 drivers/net/hyperv/rndis_filter.c | 5 ++---
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index ff1c0c8d5e0d..ec546da86683 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -213,7 +213,7 @@ void rndis_filter_update(struct netvsc_device *nvdev);
 void rndis_filter_device_remove(struct hv_device *dev,
 				struct netvsc_device *nvdev);
 int rndis_filter_set_rss_param(struct rndis_device *rdev,
-			       const u8 *key, int num_queue);
+			       const u8 *key);
 int rndis_filter_receive(struct net_device *ndev,
 			 struct netvsc_device *net_dev,
 			 struct hv_device *dev,
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 97ed4bdc439f..b8e23e257f00 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -1424,7 +1424,7 @@ static int netvsc_set_rxfh(struct net_device *dev, const u32 *indir,
 		key = rndis_dev->rss_key;
 	}
 
-	return rndis_filter_set_rss_param(rndis_dev, key, ndev->num_chn);
+	return rndis_filter_set_rss_param(rndis_dev, key);
 }
 
 /* Hyper-V RNDIS protocol does not have ring in the HW sense.
diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c
index 36e9ee82ec6f..496fefa7c7c4 100644
--- a/drivers/net/hyperv/rndis_filter.c
+++ b/drivers/net/hyperv/rndis_filter.c
@@ -717,7 +717,7 @@ rndis_filter_set_offload_params(struct net_device *ndev,
 }
 
 int rndis_filter_set_rss_param(struct rndis_device *rdev,
-			       const u8 *rss_key, int num_queue)
+			       const u8 *rss_key)
 {
 	struct net_device *ndev = rdev->ndev;
 	struct rndis_request *request;
@@ -1258,8 +1258,7 @@ struct netvsc_device *rndis_filter_device_add(struct hv_device *dev,
 		   atomic_read(&net_device->open_chn) == net_device->num_chn);
 
 	/* ignore failues from setting rss parameters, still have channels */
-	rndis_filter_set_rss_param(rndis_device, netvsc_hash_key,
-				   net_device->num_chn);
+	rndis_filter_set_rss_param(rndis_device, netvsc_hash_key);
 out:
 	if (ret) {
 		net_device->max_chn = 1;
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next, 2/4] hv_netvsc: Simplify num_chn checking in rndis_filter_device_add()
  2017-09-01 21:30 [PATCH net-next, 0/4] cleanups and fixes of channel settings Haiyang Zhang
  2017-09-01 21:30 ` [PATCH net-next, 1/4] hv_netvsc: Clean up an unused parameter in rndis_filter_set_rss_param() Haiyang Zhang
@ 2017-09-01 21:30 ` Haiyang Zhang
  2017-09-01 21:30 ` [PATCH net-next, 3/4] hv_netvsc: Simplify the limit check in netvsc_set_channels() Haiyang Zhang
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Haiyang Zhang @ 2017-09-01 21:30 UTC (permalink / raw)
  To: davem, netdev; +Cc: haiyangz, kys, olaf, vkuznets, linux-kernel

From: Haiyang Zhang <haiyangz@microsoft.com>

The minus one and assignment to a local variable is not necessary.
This patch simplifies it.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
---
 drivers/net/hyperv/rndis_filter.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c
index 496fefa7c7c4..69c40b8fccc3 100644
--- a/drivers/net/hyperv/rndis_filter.c
+++ b/drivers/net/hyperv/rndis_filter.c
@@ -1067,7 +1067,7 @@ struct netvsc_device *rndis_filter_device_add(struct hv_device *dev,
 	struct ndis_recv_scale_cap rsscap;
 	u32 rsscap_size = sizeof(struct ndis_recv_scale_cap);
 	unsigned int gso_max_size = GSO_MAX_SIZE;
-	u32 mtu, size, num_rss_qs;
+	u32 mtu, size;
 	const struct cpumask *node_cpu_mask;
 	u32 num_possible_rss_qs;
 	int i, ret;
@@ -1215,8 +1215,8 @@ struct netvsc_device *rndis_filter_device_add(struct hv_device *dev,
 							net_device->num_chn);
 
 	atomic_set(&net_device->open_chn, 1);
-	num_rss_qs = net_device->num_chn - 1;
-	if (num_rss_qs == 0)
+
+	if (net_device->num_chn == 1)
 		return net_device;
 
 	for (i = 1; i < net_device->num_chn; i++) {
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next, 3/4] hv_netvsc: Simplify the limit check in netvsc_set_channels()
  2017-09-01 21:30 [PATCH net-next, 0/4] cleanups and fixes of channel settings Haiyang Zhang
  2017-09-01 21:30 ` [PATCH net-next, 1/4] hv_netvsc: Clean up an unused parameter in rndis_filter_set_rss_param() Haiyang Zhang
  2017-09-01 21:30 ` [PATCH net-next, 2/4] hv_netvsc: Simplify num_chn checking in rndis_filter_device_add() Haiyang Zhang
@ 2017-09-01 21:30 ` Haiyang Zhang
  2017-09-01 21:30 ` [PATCH net-next, 4/4] hv_netvsc: Fix the channel limit in netvsc_set_rxfh() Haiyang Zhang
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Haiyang Zhang @ 2017-09-01 21:30 UTC (permalink / raw)
  To: davem, netdev; +Cc: haiyangz, kys, olaf, vkuznets, linux-kernel

From: Haiyang Zhang <haiyangz@microsoft.com>

Because of the following code, net->num_tx_queues equals to
VRSS_CHANNEL_MAX, and max_chn is less than or equals to VRSS_CHANNEL_MAX.

netvsc_drv.c:
alloc_etherdev_mq(sizeof(struct net_device_context),
                                VRSS_CHANNEL_MAX);
rndis_filter.c:
net_device->max_chn = min_t(u32, VRSS_CHANNEL_MAX, num_possible_rss_qs);

So this patch removes the unnecessary limit check before comparing
with "max_chn".

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
---
 drivers/net/hyperv/netvsc_drv.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index b8e23e257f00..718d126108f6 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -830,9 +830,6 @@ static int netvsc_set_channels(struct net_device *net,
 	    channels->rx_count || channels->tx_count || channels->other_count)
 		return -EINVAL;
 
-	if (count > net->num_tx_queues || count > VRSS_CHANNEL_MAX)
-		return -EINVAL;
-
 	if (!nvdev || nvdev->destroy)
 		return -ENODEV;
 
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH net-next, 4/4] hv_netvsc: Fix the channel limit in netvsc_set_rxfh()
  2017-09-01 21:30 [PATCH net-next, 0/4] cleanups and fixes of channel settings Haiyang Zhang
                   ` (2 preceding siblings ...)
  2017-09-01 21:30 ` [PATCH net-next, 3/4] hv_netvsc: Simplify the limit check in netvsc_set_channels() Haiyang Zhang
@ 2017-09-01 21:30 ` Haiyang Zhang
  2017-09-01 21:36 ` [PATCH net-next, 0/4] cleanups and fixes of channel settings Stephen Hemminger
  2017-09-02  3:39 ` David Miller
  5 siblings, 0 replies; 7+ messages in thread
From: Haiyang Zhang @ 2017-09-01 21:30 UTC (permalink / raw)
  To: davem, netdev; +Cc: haiyangz, kys, olaf, vkuznets, linux-kernel

From: Haiyang Zhang <haiyangz@microsoft.com>

The limit of setting receive indirection table value should be
the current number of channels, not the VRSS_CHANNEL_MAX.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
---
 drivers/net/hyperv/netvsc_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 718d126108f6..9205235ba21c 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -1407,7 +1407,7 @@ static int netvsc_set_rxfh(struct net_device *dev, const u32 *indir,
 	rndis_dev = ndev->extension;
 	if (indir) {
 		for (i = 0; i < ITAB_NUM; i++)
-			if (indir[i] >= VRSS_CHANNEL_MAX)
+			if (indir[i] >= ndev->num_chn)
 				return -EINVAL;
 
 		for (i = 0; i < ITAB_NUM; i++)
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next, 0/4] cleanups and fixes of channel settings
  2017-09-01 21:30 [PATCH net-next, 0/4] cleanups and fixes of channel settings Haiyang Zhang
                   ` (3 preceding siblings ...)
  2017-09-01 21:30 ` [PATCH net-next, 4/4] hv_netvsc: Fix the channel limit in netvsc_set_rxfh() Haiyang Zhang
@ 2017-09-01 21:36 ` Stephen Hemminger
  2017-09-02  3:39 ` David Miller
  5 siblings, 0 replies; 7+ messages in thread
From: Stephen Hemminger @ 2017-09-01 21:36 UTC (permalink / raw)
  To: Haiyang Zhang; +Cc: haiyangz, davem, netdev, kys, olaf, vkuznets, linux-kernel

On Fri,  1 Sep 2017 14:30:03 -0700
Haiyang Zhang <haiyangz@exchange.microsoft.com> wrote:

> From: Haiyang Zhang <haiyangz@microsoft.com>
> 
> This patch set cleans up some unused variables, unnecessary checks.
> Also fixed some limit checking of channel number.
> 
> 
> Haiyang Zhang (4):
>   hv_netvsc: Clean up an unused parameter in rndis_filter_set_rss_param()
>   hv_netvsc: Simplify num_chn checking in rndis_filter_device_add()
>   hv_netvsc: Simplify the limit check in netvsc_set_channels()
>   hv_netvsc: Fix the channel limit in netvsc_set_rxfh()
> 
>  drivers/net/hyperv/hyperv_net.h   |  2 +-
>  drivers/net/hyperv/netvsc_drv.c   |  7 ++-----
>  drivers/net/hyperv/rndis_filter.c | 11 +++++------
>  3 files changed, 8 insertions(+), 12 deletions(-)
> 

Reviewed-by: Stephen Hemminger <sthemmin@microsoft.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH net-next, 0/4] cleanups and fixes of channel settings
  2017-09-01 21:30 [PATCH net-next, 0/4] cleanups and fixes of channel settings Haiyang Zhang
                   ` (4 preceding siblings ...)
  2017-09-01 21:36 ` [PATCH net-next, 0/4] cleanups and fixes of channel settings Stephen Hemminger
@ 2017-09-02  3:39 ` David Miller
  5 siblings, 0 replies; 7+ messages in thread
From: David Miller @ 2017-09-02  3:39 UTC (permalink / raw)
  To: haiyangz, haiyangz; +Cc: netdev, kys, olaf, vkuznets, linux-kernel

From: Haiyang Zhang <haiyangz@exchange.microsoft.com>
Date: Fri,  1 Sep 2017 14:30:03 -0700

> This patch set cleans up some unused variables, unnecessary checks.
> Also fixed some limit checking of channel number.

Series applied.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-09-02  3:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-01 21:30 [PATCH net-next, 0/4] cleanups and fixes of channel settings Haiyang Zhang
2017-09-01 21:30 ` [PATCH net-next, 1/4] hv_netvsc: Clean up an unused parameter in rndis_filter_set_rss_param() Haiyang Zhang
2017-09-01 21:30 ` [PATCH net-next, 2/4] hv_netvsc: Simplify num_chn checking in rndis_filter_device_add() Haiyang Zhang
2017-09-01 21:30 ` [PATCH net-next, 3/4] hv_netvsc: Simplify the limit check in netvsc_set_channels() Haiyang Zhang
2017-09-01 21:30 ` [PATCH net-next, 4/4] hv_netvsc: Fix the channel limit in netvsc_set_rxfh() Haiyang Zhang
2017-09-01 21:36 ` [PATCH net-next, 0/4] cleanups and fixes of channel settings Stephen Hemminger
2017-09-02  3:39 ` 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).