Subject: [PATCH] net: netvsc: Increase default VMBus channel from 8 to 16

From: Erni Sri Satya Vennela <[email-masked]>
Date: Mon, 5 Aug 2024 22:55:51 -0700

Increase default VMBus channels in Linux netvsc from 8 to 16
to align with Azure Windows VM and improve networking throughput.

Set channels to 16 for VMs with more than 16 vCPUs;
otherwise, channels depend on VM's vCPU count.

Performance tests showed significant improvement in throughput:
- 0.54% for 16 vCPUs
- 1.51% for 32 vCPUs
- 0.72% for 48 vCPUs
- 5.57% for 64 vCPUs
- 9.14% for 96 vCPUs

Signed-off-by: Erni Sri Satya Vennela <[email-masked]>
Reviewed-by: Shradha Gupta <[email-masked]>
---
 drivers/net/hyperv/hyperv_net.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index 810977952f95..e690b95b1bbb 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -882,7 +882,7 @@ struct nvsp_message {
 
 #define VRSS_SEND_TAB_SIZE 16  /* must be power of 2 */
 #define VRSS_CHANNEL_MAX 64
-#define VRSS_CHANNEL_DEFAULT 8
+#define VRSS_CHANNEL_DEFAULT 16
 
 #define RNDIS_MAX_PKT_DEFAULT 8
 #define RNDIS_PKT_ALIGN_DEFAULT 8
-- 
2.25.1