mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	hv_netvsc: Set tx_table to equal weight after subchannels open
In some cases, like internal vSwitch, the host doesn't provide send indirection table updates. This patch sets the table to be equal weight after subchannels are all open. Otherwise, all workload will be on one TX channel. As tested, this patch has largely increased the throughput over internal vSwitch. Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									90e229ef61
								
							
						
					
					
						commit
						a6fb6aa3cf
					
				
					 1 changed files with 3 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -1114,6 +1114,9 @@ void rndis_set_subchannel(struct work_struct *w)
 | 
			
		|||
	netif_set_real_num_tx_queues(ndev, nvdev->num_chn);
 | 
			
		||||
	netif_set_real_num_rx_queues(ndev, nvdev->num_chn);
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < VRSS_SEND_TAB_SIZE; i++)
 | 
			
		||||
		ndev_ctx->tx_table[i] = i % nvdev->num_chn;
 | 
			
		||||
 | 
			
		||||
	rtnl_unlock();
 | 
			
		||||
	return;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue