summaryrefslogtreecommitdiffstats
path: root/net/sched
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-24 00:12:35 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-24 00:12:35 +0000
commit482368b1a8e45430672c58c9a42e7d2004367126 (patch)
treece2a1a567d4d62dee7c2e71a46a99cf72cf1d606 /net/sched
parente4d0251c6f56ab2e191afb70f80f382793e23f74 (diff)
Merge with 2.3.47. Guys, this is buggy as shit. You've been warned.
Diffstat (limited to 'net/sched')
-rw-r--r--net/sched/sch_api.c5
-rw-r--r--net/sched/sch_cbq.c2
-rw-r--r--net/sched/sch_generic.c6
-rw-r--r--net/sched/sch_tbf.c2
-rw-r--r--net/sched/sch_teql.c7
5 files changed, 8 insertions, 14 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index 1d57af985..9da8dcdcd 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -1139,11 +1139,6 @@ int __init psched_calibrate_clock(void)
long rdelay;
unsigned long stop;
-#if CPU == 586 || CPU == 686
- if (!(boot_cpu_data.x86_capability & X86_FEATURE_TSC))
- return -1;
-#endif
-
#ifdef PSCHED_WATCHER
psched_tick(0);
#endif
diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c
index d3c32be20..0b741fa4e 100644
--- a/net/sched/sch_cbq.c
+++ b/net/sched/sch_cbq.c
@@ -1053,7 +1053,7 @@ cbq_dequeue(struct Qdisc *sch)
if (sch->q.qlen) {
sch->stats.overlimits++;
- if (q->wd_expires && !test_bit(LINK_STATE_XOFF, &sch->dev->state)) {
+ if (q->wd_expires && !netif_queue_stopped(sch->dev)) {
long delay = PSCHED_US2JIFFIE(q->wd_expires);
del_timer(&q->wd_timer);
if (delay <= 0)
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 2a9f9e69e..8ee8ab54f 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -88,7 +88,7 @@ int qdisc_restart(struct net_device *dev)
/* And release queue */
spin_unlock(&dev->queue_lock);
- if (!test_bit(LINK_STATE_XOFF, &dev->state)) {
+ if (!netif_queue_stopped(dev)) {
if (netdev_nit)
dev_queue_xmit_nit(skb, dev);
@@ -146,7 +146,7 @@ static void dev_watchdog(unsigned long arg)
spin_lock(&dev->xmit_lock);
if (dev->qdisc != &noop_qdisc) {
- if (test_bit(LINK_STATE_XOFF, &dev->state) &&
+ if (netif_queue_stopped(dev) &&
(jiffies - dev->trans_start) > dev->watchdog_timeo) {
printk(KERN_INFO "NETDEV WATCHDOG: %s: transmit timed out\n", dev->name);
dev->tx_timeout(dev);
@@ -476,7 +476,7 @@ void dev_deactivate(struct net_device *dev)
dev_watchdog_down(dev);
- if (test_bit(LINK_STATE_SCHED, &dev->state)) {
+ while (test_bit(__LINK_STATE_SCHED, &dev->state)) {
current->policy |= SCHED_YIELD;
schedule();
}
diff --git a/net/sched/sch_tbf.c b/net/sched/sch_tbf.c
index 2681d7129..e2de156ab 100644
--- a/net/sched/sch_tbf.c
+++ b/net/sched/sch_tbf.c
@@ -226,7 +226,7 @@ tbf_dequeue(struct Qdisc* sch)
return skb;
}
- if (!test_bit(LINK_STATE_XOFF, &sch->dev->state)) {
+ if (!netif_queue_stopped(sch->dev)) {
long delay = PSCHED_US2JIFFIE(max(-toks, -ptoks));
if (delay == 0)
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c
index e576dbb11..f7fed6c84 100644
--- a/net/sched/sch_teql.c
+++ b/net/sched/sch_teql.c
@@ -296,8 +296,7 @@ restart:
if (slave->qdisc_sleeping != q)
continue;
- if (test_bit(LINK_STATE_XOFF, &slave->state) ||
- test_bit(LINK_STATE_DOWN, &slave->state)) {
+ if (netif_queue_stopped(slave) || ! netif_running(slave)) {
busy = 1;
continue;
}
@@ -306,7 +305,7 @@ restart:
case 0:
if (spin_trylock(&slave->xmit_lock)) {
slave->xmit_lock_owner = smp_processor_id();
- if (!test_bit(LINK_STATE_XOFF, &slave->state) &&
+ if (!netif_queue_stopped(slave) &&
slave->hard_start_xmit(skb, slave) == 0) {
slave->xmit_lock_owner = -1;
spin_unlock(&slave->xmit_lock);
@@ -319,7 +318,7 @@ restart:
slave->xmit_lock_owner = -1;
spin_unlock(&slave->xmit_lock);
}
- if (test_bit(LINK_STATE_XOFF, &dev->state))
+ if (netif_queue_stopped(dev))
busy = 1;
break;
case 1: