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
vserver 1.9.5.x5
[linux-2.6.git]
/
net
/
sched
/
sch_fifo.c
diff --git
a/net/sched/sch_fifo.c
b/net/sched/sch_fifo.c
index
132a5bc
..
4888305
100644
(file)
--- a/
net/sched/sch_fifo.c
+++ b/
net/sched/sch_fifo.c
@@
-13,7
+13,7
@@
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
#include <linux/module.h>
#include <asm/uaccess.h>
#include <asm/system.h>
-#include <
asm
/bitops.h>
+#include <
linux
/bitops.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
@@
-45,16
+45,16
@@
struct fifo_sched_data
static int
bfifo_enqueue(struct sk_buff *skb, struct Qdisc* sch)
{
static int
bfifo_enqueue(struct sk_buff *skb, struct Qdisc* sch)
{
- struct fifo_sched_data *q =
(struct fifo_sched_data *)sch->data
;
+ struct fifo_sched_data *q =
qdisc_priv(sch)
;
- if (sch->stats.backlog + skb->len <= q->limit) {
+ if (sch->
q
stats.backlog + skb->len <= q->limit) {
__skb_queue_tail(&sch->q, skb);
__skb_queue_tail(&sch->q, skb);
- sch->stats.backlog += skb->len;
- sch->stats.bytes += skb->len;
- sch->stats.packets++;
+ sch->
q
stats.backlog += skb->len;
+ sch->
b
stats.bytes += skb->len;
+ sch->
b
stats.packets++;
return 0;
}
return 0;
}
- sch->stats.drops++;
+ sch->
q
stats.drops++;
#ifdef CONFIG_NET_CLS_POLICE
if (sch->reshape_fail==NULL || sch->reshape_fail(skb, sch))
#endif
#ifdef CONFIG_NET_CLS_POLICE
if (sch->reshape_fail==NULL || sch->reshape_fail(skb, sch))
#endif
@@
-66,7
+66,8
@@
static int
bfifo_requeue(struct sk_buff *skb, struct Qdisc* sch)
{
__skb_queue_head(&sch->q, skb);
bfifo_requeue(struct sk_buff *skb, struct Qdisc* sch)
{
__skb_queue_head(&sch->q, skb);
- sch->stats.backlog += skb->len;
+ sch->qstats.backlog += skb->len;
+ sch->qstats.requeues++;
return 0;
}
return 0;
}
@@
-77,7
+78,7
@@
bfifo_dequeue(struct Qdisc* sch)
skb = __skb_dequeue(&sch->q);
if (skb)
skb = __skb_dequeue(&sch->q);
if (skb)
- sch->stats.backlog -= skb->len;
+ sch->
q
stats.backlog -= skb->len;
return skb;
}
return skb;
}
@@
-89,7
+90,7
@@
fifo_drop(struct Qdisc* sch)
skb = __skb_dequeue_tail(&sch->q);
if (skb) {
unsigned int len = skb->len;
skb = __skb_dequeue_tail(&sch->q);
if (skb) {
unsigned int len = skb->len;
- sch->stats.backlog -= len;
+ sch->
q
stats.backlog -= len;
kfree_skb(skb);
return len;
}
kfree_skb(skb);
return len;
}
@@
-100,21
+101,21
@@
static void
fifo_reset(struct Qdisc* sch)
{
skb_queue_purge(&sch->q);
fifo_reset(struct Qdisc* sch)
{
skb_queue_purge(&sch->q);
- sch->stats.backlog = 0;
+ sch->
q
stats.backlog = 0;
}
static int
pfifo_enqueue(struct sk_buff *skb, struct Qdisc* sch)
{
}
static int
pfifo_enqueue(struct sk_buff *skb, struct Qdisc* sch)
{
- struct fifo_sched_data *q =
(struct fifo_sched_data *)sch->data
;
+ struct fifo_sched_data *q =
qdisc_priv(sch)
;
if (sch->q.qlen < q->limit) {
__skb_queue_tail(&sch->q, skb);
if (sch->q.qlen < q->limit) {
__skb_queue_tail(&sch->q, skb);
- sch->stats.bytes += skb->len;
- sch->stats.packets++;
+ sch->
b
stats.bytes += skb->len;
+ sch->
b
stats.packets++;
return 0;
}
return 0;
}
- sch->stats.drops++;
+ sch->
q
stats.drops++;
#ifdef CONFIG_NET_CLS_POLICE
if (sch->reshape_fail==NULL || sch->reshape_fail(skb, sch))
#endif
#ifdef CONFIG_NET_CLS_POLICE
if (sch->reshape_fail==NULL || sch->reshape_fail(skb, sch))
#endif
@@
-126,6
+127,7
@@
static int
pfifo_requeue(struct sk_buff *skb, struct Qdisc* sch)
{
__skb_queue_head(&sch->q, skb);
pfifo_requeue(struct sk_buff *skb, struct Qdisc* sch)
{
__skb_queue_head(&sch->q, skb);
+ sch->qstats.requeues++;
return 0;
}
return 0;
}
@@
-138,7
+140,7
@@
pfifo_dequeue(struct Qdisc* sch)
static int fifo_init(struct Qdisc *sch, struct rtattr *opt)
{
static int fifo_init(struct Qdisc *sch, struct rtattr *opt)
{
- struct fifo_sched_data *q =
(void*)sch->data
;
+ struct fifo_sched_data *q =
qdisc_priv(sch)
;
if (opt == NULL) {
unsigned int limit = sch->dev->tx_queue_len ? : 1;
if (opt == NULL) {
unsigned int limit = sch->dev->tx_queue_len ? : 1;
@@
-158,7
+160,7
@@
static int fifo_init(struct Qdisc *sch, struct rtattr *opt)
static int fifo_dump(struct Qdisc *sch, struct sk_buff *skb)
{
static int fifo_dump(struct Qdisc *sch, struct sk_buff *skb)
{
- struct fifo_sched_data *q =
(void*)sch->data
;
+ struct fifo_sched_data *q =
qdisc_priv(sch)
;
unsigned char *b = skb->tail;
struct tc_fifo_qopt opt;
unsigned char *b = skb->tail;
struct tc_fifo_qopt opt;