From patchwork Fri Oct 13 19:28:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haiyang Zhang X-Patchwork-Id: 825700 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yDHpr1JFHz9sRV for ; Sat, 14 Oct 2017 06:29:40 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753466AbdJMT3a (ORCPT ); Fri, 13 Oct 2017 15:29:30 -0400 Received: from a2nlsmtp01-04.prod.iad2.secureserver.net ([198.71.225.38]:38236 "EHLO a2nlsmtp01-04.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752684AbdJMT32 (ORCPT ); Fri, 13 Oct 2017 15:29:28 -0400 Received: from linuxonhyperv.com ([107.180.71.197]) by : HOSTING RELAY : with SMTP id 35dDezWvUalZv35dDeFoko; Fri, 13 Oct 2017 12:28:27 -0700 x-originating-ip: 107.180.71.197 Received: from haiyangz by linuxonhyperv.com with local (Exim 4.89) (envelope-from ) id 1e35dC-0004ku-TC; Fri, 13 Oct 2017 12:28:26 -0700 From: Haiyang Zhang To: davem@davemloft.net, netdev@vger.kernel.org Cc: haiyangz@microsoft.com, kys@microsoft.com, sthemmin@microsoft.com, olaf@aepfle.de, vkuznets@redhat.com, linux-kernel@vger.kernel.org Subject: [PATCH net-next,1/3] hv_netvsc: Rename ind_table to rx_table Date: Fri, 13 Oct 2017 12:28:03 -0700 Message-Id: <20171013192805.18183-2-haiyangz@exchange.microsoft.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171013192805.18183-1-haiyangz@exchange.microsoft.com> References: <20171013192805.18183-1-haiyangz@exchange.microsoft.com> Reply-To: haiyangz@microsoft.com X-CMAE-Envelope: MS4wfIqMZbPzXBLpkxIcnepr9FFxXY9Do2U9dF3RqFsLiQV12OHp4j8Ql1p4njFpZN+MCmPy0O0EJ3P1W0iKvaXqvwc+XiZ5cVkx04ag71GnutgbOGBGwmlC SfDggV28SDQmaF3ArKT2ghfyn5k7CI2cJBvT/jZqd7Mt8yFJylsqTi21pw2LPK1xPlfqrrxxV+ah/Ey0b2IEOIZmzRFvr/wQkYtvdqCh+J5BsarpZxQ2FaMX sgbFqEHtPYz6Bq9k56MbTtTrMuejYUo6yeYI4i4afE/qXGAFacSJxXwVYfWwUHv632wJoGLagIOsgPwfMevo9+4yPUzNLDW9wHI7pvWWdg5fRXqaQ7f5LbfZ TbzR7FQJIHHwU4vMhlCjoFnCaCqaxEf9kycCLUOuuEQIisGSI7PytBTZ/jZqt7Do1QoS7wj7 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Haiyang Zhang Rename this variable because it is the Receive indirection table. Signed-off-by: Haiyang Zhang --- 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); From patchwork Fri Oct 13 19:28:04 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haiyang Zhang X-Patchwork-Id: 825702 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yDHqN5pnDz9sRV for ; Sat, 14 Oct 2017 06:30:08 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753488AbdJMT3l (ORCPT ); Fri, 13 Oct 2017 15:29:41 -0400 Received: from a2nlsmtp01-04.prod.iad2.secureserver.net ([198.71.225.38]:38236 "EHLO a2nlsmtp01-04.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751549AbdJMT3j (ORCPT ); Fri, 13 Oct 2017 15:29:39 -0400 Received: from linuxonhyperv.com ([107.180.71.197]) by : HOSTING RELAY : with SMTP id 35dNezX94alZv35dOeFowf; Fri, 13 Oct 2017 12:28:38 -0700 x-originating-ip: 107.180.71.197 Received: from haiyangz by linuxonhyperv.com with local (Exim 4.89) (envelope-from ) id 1e35dN-0004l0-TC; Fri, 13 Oct 2017 12:28:37 -0700 From: Haiyang Zhang To: davem@davemloft.net, netdev@vger.kernel.org Cc: haiyangz@microsoft.com, kys@microsoft.com, sthemmin@microsoft.com, olaf@aepfle.de, vkuznets@redhat.com, linux-kernel@vger.kernel.org Subject: [PATCH net-next,2/3] hv_netvsc: Rename tx_send_table to tx_table Date: Fri, 13 Oct 2017 12:28:04 -0700 Message-Id: <20171013192805.18183-3-haiyangz@exchange.microsoft.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171013192805.18183-1-haiyangz@exchange.microsoft.com> References: <20171013192805.18183-1-haiyangz@exchange.microsoft.com> Reply-To: haiyangz@microsoft.com X-CMAE-Envelope: MS4wfLw3aoivNrN8+lFWED0O+sCdFYQit9q8U2Px7XlPUTqXi51PBry26ntduehQNYAEKe7GGI3/tjsna9JW5a+yYAPSjP751L7SeuO3sonnN/A+zhVVdWGo DJDgRyU08iU9Ya05IAXUjARMsXBtK7OsvQ8KTIN1iJCeCvOQMwF6Zap/5PiV6kN5BRYLfdOmqPx4pUgzf2lWO6ONjcouXqnUVI19oWKVXp2AKepYbLACIDu4 r5VobkulZE5jq2/Q3csf+gZgCcpvz8XB4yLhBMLrEOnfC8V0pgLA/k0ptqsLgwhTUi2dIaGAysAUC6ltvUx+/1P6Zc6//gkfXLzw4CgYzpftJJTNdsRbPvgX lzjU3OCbo1QCWwgBuvGlGL8tKXOF4XbaeSRbaS3PcVa3BV2D89Xd+BZxSebt3uSn/+QuEAtP Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Haiyang Zhang Simplify the variable name: tx_send_table Signed-off-by: Haiyang Zhang --- 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 && From patchwork Fri Oct 13 19:28:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haiyang Zhang X-Patchwork-Id: 825701 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3yDHqC1C3Wz9sRV for ; Sat, 14 Oct 2017 06:29:59 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753505AbdJMT3r (ORCPT ); Fri, 13 Oct 2017 15:29:47 -0400 Received: from a2nlsmtp01-05.prod.iad2.secureserver.net ([198.71.225.49]:50982 "EHLO a2nlsmtp01-05.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751549AbdJMT3p (ORCPT ); Fri, 13 Oct 2017 15:29:45 -0400 Received: from linuxonhyperv.com ([107.180.71.197]) by : HOSTING RELAY : with SMTP id 35dTezkE1irtS35dTeGiAO; Fri, 13 Oct 2017 12:28:44 -0700 x-originating-ip: 107.180.71.197 Received: from haiyangz by linuxonhyperv.com with local (Exim 4.89) (envelope-from ) id 1e35dT-0004l6-QM; Fri, 13 Oct 2017 12:28:43 -0700 From: Haiyang Zhang To: davem@davemloft.net, netdev@vger.kernel.org Cc: haiyangz@microsoft.com, kys@microsoft.com, sthemmin@microsoft.com, olaf@aepfle.de, vkuznets@redhat.com, linux-kernel@vger.kernel.org Subject: [PATCH net-next, 3/3] hv_netvsc: Add initialization of tx_table in netvsc_device_add() Date: Fri, 13 Oct 2017 12:28:05 -0700 Message-Id: <20171013192805.18183-4-haiyangz@exchange.microsoft.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171013192805.18183-1-haiyangz@exchange.microsoft.com> References: <20171013192805.18183-1-haiyangz@exchange.microsoft.com> Reply-To: haiyangz@microsoft.com X-CMAE-Envelope: MS4wfFy0NTdJ1nCbar9CL02zBniQIKuMfGOAVnpADiqhn8i1IDOvYizEddkgaR88HLniL0oEs3IatSzPjqcyXhGbFptxxNpyqJeYBbZcLQkjbZu7PKnGiUws 0OMbO3k0Ga9sdcYjBinCZJFaItURxJoZu1a1ktcdSmO5SFsjTZGlC4OFf1dH/7FTcgxrXA3u30MqTGLNh5c2IOSgRWYn4yT/rGu0EiN/Ad5afB55rVNsqEmV cb6FaVS1CivVfoTQuQDwc+u+ux05yypXav0RVWj8u1ZiwTzTsMYVS4afX2l0aqN10yNVKIMN4oVC+HciL7GLbhoaN+D+55YBdEkNRVC7vv75RQHjoFuaaK1p tRakWT+ubhu85grhRetYCrkYmXQYq3YO8hDm7VE6A5yafgEXjXtPqAXwsLRQooGhmlmag/rm Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Haiyang Zhang 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 --- 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