Commit 51b0bded authored by Stephen Hemminger's avatar Stephen Hemminger Committed by David S. Miller

[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: default avatarStephen Hemminger <shemminger@osdl.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 31aa02c5
...@@ -243,6 +243,7 @@ enum ...@@ -243,6 +243,7 @@ enum
NET_CORE_MOD_CONG=16, NET_CORE_MOD_CONG=16,
NET_CORE_DEV_WEIGHT=17, NET_CORE_DEV_WEIGHT=17,
NET_CORE_SOMAXCONN=18, NET_CORE_SOMAXCONN=18,
NET_CORE_BUDGET=19,
}; };
/* /proc/sys/net/ethernet */ /* /proc/sys/net/ethernet */
......
...@@ -1346,7 +1346,8 @@ int dev_queue_xmit(struct sk_buff *skb) ...@@ -1346,7 +1346,8 @@ int dev_queue_xmit(struct sk_buff *skb)
Receiver routines Receiver routines
=======================================================================*/ =======================================================================*/
int netdev_max_backlog = 300; int netdev_max_backlog = 1000;
int netdev_budget = 300;
int weight_p = 64; /* old backlog weight */ int weight_p = 64; /* old backlog weight */
DEFINE_PER_CPU(struct netif_rx_stats, netdev_rx_stat) = { 0, }; DEFINE_PER_CPU(struct netif_rx_stats, netdev_rx_stat) = { 0, };
...@@ -1695,8 +1696,7 @@ static void net_rx_action(struct softirq_action *h) ...@@ -1695,8 +1696,7 @@ static void net_rx_action(struct softirq_action *h)
{ {
struct softnet_data *queue = &__get_cpu_var(softnet_data); struct softnet_data *queue = &__get_cpu_var(softnet_data);
unsigned long start_time = jiffies; unsigned long start_time = jiffies;
int budget = netdev_max_backlog; int budget = netdev_budget;
local_irq_disable(); local_irq_disable();
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL
extern int netdev_max_backlog; extern int netdev_max_backlog;
extern int netdev_budget;
extern int weight_p; extern int weight_p;
extern int net_msg_cost; extern int net_msg_cost;
extern int net_msg_burst; extern int net_msg_burst;
...@@ -124,6 +125,14 @@ ctl_table core_table[] = { ...@@ -124,6 +125,14 @@ ctl_table core_table[] = {
.mode = 0644, .mode = 0644,
.proc_handler = &proc_dointvec .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 } { .ctl_name = 0 }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment