forked from mirrors/linux
		
	[NET]: Separate two usages of netdev_max_backlog.
Separate out the two uses of netdev_max_backlog. One controls the upper bound on packets processed per softirq, the new name for this is netdev_budget; the other controls the limit on packets queued via netif_rx. Increase the max_backlog default to account for faster processors. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									31aa02c53c
								
							
						
					
					
						commit
						51b0bdedb8
					
				
					 3 changed files with 13 additions and 3 deletions
				
			
		|  | @ -243,6 +243,7 @@ enum | |||
| 	NET_CORE_MOD_CONG=16, | ||||
| 	NET_CORE_DEV_WEIGHT=17, | ||||
| 	NET_CORE_SOMAXCONN=18, | ||||
| 	NET_CORE_BUDGET=19, | ||||
| }; | ||||
| 
 | ||||
| /* /proc/sys/net/ethernet */ | ||||
|  |  | |||
|  | @ -1346,7 +1346,8 @@ int dev_queue_xmit(struct sk_buff *skb) | |||
| 			Receiver routines | ||||
|   =======================================================================*/ | ||||
| 
 | ||||
| int netdev_max_backlog = 300; | ||||
| int netdev_max_backlog = 1000; | ||||
| int netdev_budget = 300; | ||||
| int weight_p = 64;            /* old backlog weight */ | ||||
| 
 | ||||
| DEFINE_PER_CPU(struct netif_rx_stats, netdev_rx_stat) = { 0, }; | ||||
|  | @ -1695,8 +1696,7 @@ static void net_rx_action(struct softirq_action *h) | |||
| { | ||||
| 	struct softnet_data *queue = &__get_cpu_var(softnet_data); | ||||
| 	unsigned long start_time = jiffies; | ||||
| 	int budget = netdev_max_backlog; | ||||
| 
 | ||||
| 	int budget = netdev_budget; | ||||
| 	 | ||||
| 	local_irq_disable(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -13,6 +13,7 @@ | |||
| #ifdef CONFIG_SYSCTL | ||||
| 
 | ||||
| extern int netdev_max_backlog; | ||||
| extern int netdev_budget; | ||||
| extern int weight_p; | ||||
| extern int net_msg_cost; | ||||
| extern int net_msg_burst; | ||||
|  | @ -124,6 +125,14 @@ ctl_table core_table[] = { | |||
| 		.mode		= 0644, | ||||
| 		.proc_handler	= &proc_dointvec | ||||
| 	}, | ||||
| 	{ | ||||
| 		.ctl_name	= NET_CORE_BUDGET, | ||||
| 		.procname	= "netdev_budget", | ||||
| 		.data		= &netdev_budget, | ||||
| 		.maxlen		= sizeof(int), | ||||
| 		.mode		= 0644, | ||||
| 		.proc_handler	= &proc_dointvec | ||||
| 	}, | ||||
| 	{ .ctl_name = 0 } | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Stephen Hemminger
						Stephen Hemminger