[NET]: Fix sysctl net.core.dev_weight
authorStephen Hemminger <shemminger@osdl.org>
Wed, 8 Jun 2005 21:56:01 +0000 (14:56 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 8 Jun 2005 21:56:01 +0000 (14:56 -0700)
Changing the sysctl net.core.dev_weight has no effect because the weight
of the backlog devices is set during initialization and never changed.

This patch propagates any changes to the global value affected by sysctl
to the per-cpu devices. It is done every time the packet handler
function is run.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index f15a3ffff635d9c6ef5edf65c8dbeff02509793b..ab935778ce81009cadea261d289f7bd44e623850 100644 (file)
@@ -1744,6 +1744,7 @@ static int process_backlog(struct net_device *backlog_dev, int *budget)
        struct softnet_data *queue = &__get_cpu_var(softnet_data);
        unsigned long start_time = jiffies;
 
+       backlog_dev->weight = weight_p;
        for (;;) {
                struct sk_buff *skb;
                struct net_device *dev;