Commit 09e79d6e authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller

eql: dont rely on HZ=100

HZ is more likely to be 1000 these days.

timer handlers are run from softirq, no need to disable bh

skb priority 1 is TC_PRIO_FILLER
Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 819a1008
...@@ -125,6 +125,7 @@ ...@@ -125,6 +125,7 @@
#include <linux/if.h> #include <linux/if.h>
#include <linux/if_arp.h> #include <linux/if_arp.h>
#include <linux/if_eql.h> #include <linux/if_eql.h>
#include <linux/pkt_sched.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
...@@ -143,7 +144,7 @@ static void eql_timer(unsigned long param) ...@@ -143,7 +144,7 @@ static void eql_timer(unsigned long param)
equalizer_t *eql = (equalizer_t *) param; equalizer_t *eql = (equalizer_t *) param;
struct list_head *this, *tmp, *head; struct list_head *this, *tmp, *head;
spin_lock_bh(&eql->queue.lock); spin_lock(&eql->queue.lock);
head = &eql->queue.all_slaves; head = &eql->queue.all_slaves;
list_for_each_safe(this, tmp, head) { list_for_each_safe(this, tmp, head) {
slave_t *slave = list_entry(this, slave_t, list); slave_t *slave = list_entry(this, slave_t, list);
...@@ -157,7 +158,7 @@ static void eql_timer(unsigned long param) ...@@ -157,7 +158,7 @@ static void eql_timer(unsigned long param)
} }
} }
spin_unlock_bh(&eql->queue.lock); spin_unlock(&eql->queue.lock);
eql->timer.expires = jiffies + EQL_DEFAULT_RESCHED_IVAL; eql->timer.expires = jiffies + EQL_DEFAULT_RESCHED_IVAL;
add_timer(&eql->timer); add_timer(&eql->timer);
...@@ -341,7 +342,7 @@ static netdev_tx_t eql_slave_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -341,7 +342,7 @@ static netdev_tx_t eql_slave_xmit(struct sk_buff *skb, struct net_device *dev)
struct net_device *slave_dev = slave->dev; struct net_device *slave_dev = slave->dev;
skb->dev = slave_dev; skb->dev = slave_dev;
skb->priority = 1; skb->priority = TC_PRIO_FILLER;
slave->bytes_queued += skb->len; slave->bytes_queued += skb->len;
dev_queue_xmit(skb); dev_queue_xmit(skb);
dev->stats.tx_packets++; dev->stats.tx_packets++;
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#define EQL_DEFAULT_SLAVE_PRIORITY 28800 #define EQL_DEFAULT_SLAVE_PRIORITY 28800
#define EQL_DEFAULT_MAX_SLAVES 4 #define EQL_DEFAULT_MAX_SLAVES 4
#define EQL_DEFAULT_MTU 576 #define EQL_DEFAULT_MTU 576
#define EQL_DEFAULT_RESCHED_IVAL 100 #define EQL_DEFAULT_RESCHED_IVAL HZ
#define EQL_ENSLAVE (SIOCDEVPRIVATE) #define EQL_ENSLAVE (SIOCDEVPRIVATE)
#define EQL_EMANCIPATE (SIOCDEVPRIVATE + 1) #define EQL_EMANCIPATE (SIOCDEVPRIVATE + 1)
......
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