git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
include
/
net
/
pkt_sched.h
diff --git
a/include/net/pkt_sched.h
b/include/net/pkt_sched.h
index
f6afee7
..
b94d1ad
100644
(file)
--- a/
include/net/pkt_sched.h
+++ b/
include/net/pkt_sched.h
@@
-171,14
+171,14
@@
psched_tod_diff(int delta_sec, int bound)
({ \
int __delta = (tv).tv_usec + (delta); \
(tv_res).tv_sec = (tv).tv_sec; \
({ \
int __delta = (tv).tv_usec + (delta); \
(tv_res).tv_sec = (tv).tv_sec; \
-
while (__delta >=
USEC_PER_SEC) { (tv_res).tv_sec++; __delta -= USEC_PER_SEC; } \
+
if (__delta >
USEC_PER_SEC) { (tv_res).tv_sec++; __delta -= USEC_PER_SEC; } \
(tv_res).tv_usec = __delta; \
})
#define PSCHED_TADD(tv, delta) \
({ \
(tv).tv_usec += (delta); \
(tv_res).tv_usec = __delta; \
})
#define PSCHED_TADD(tv, delta) \
({ \
(tv).tv_usec += (delta); \
-
while ((tv).tv_usec >=
USEC_PER_SEC) { (tv).tv_sec++; \
+
if ((tv).tv_usec >
USEC_PER_SEC) { (tv).tv_sec++; \
(tv).tv_usec -= USEC_PER_SEC; } \
})
(tv).tv_usec -= USEC_PER_SEC; } \
})
@@
-218,13
+218,12
@@
extern struct qdisc_rate_table *qdisc_get_rtab(struct tc_ratespec *r,
struct rtattr *tab);
extern void qdisc_put_rtab(struct qdisc_rate_table *tab);
struct rtattr *tab);
extern void qdisc_put_rtab(struct qdisc_rate_table *tab);
-extern
void __qdisc_run
(struct net_device *dev);
+extern
int qdisc_restart
(struct net_device *dev);
static inline void qdisc_run(struct net_device *dev)
{
static inline void qdisc_run(struct net_device *dev)
{
- if (!netif_queue_stopped(dev) &&
- !test_and_set_bit(__LINK_STATE_QDISC_RUNNING, &dev->state))
- __qdisc_run(dev);
+ while (!netif_queue_stopped(dev) && qdisc_restart(dev) < 0)
+ /* NOTHING */;
}
extern int tc_classify(struct sk_buff *skb, struct tcf_proto *tp,
}
extern int tc_classify(struct sk_buff *skb, struct tcf_proto *tp,