git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
nfsd4: simplify lease/grace interaction
[safe/jmp/linux-2.6]
/
net
/
sched
/
sch_dsmark.c
diff --git
a/net/sched/sch_dsmark.c
b/net/sched/sch_dsmark.c
index
ba43aab
..
d303daa
100644
(file)
--- a/
net/sched/sch_dsmark.c
+++ b/
net/sched/sch_dsmark.c
@@
-68,7
+68,8
@@
static int dsmark_graft(struct Qdisc *sch, unsigned long arg,
}
sch_tree_lock(sch);
}
sch_tree_lock(sch);
- *old = xchg(&p->q, new);
+ *old = p->q;
+ p->q = new;
qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
qdisc_reset(*old);
sch_tree_unlock(sch);
qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
qdisc_reset(*old);
sch_tree_unlock(sch);
@@
-313,24
+314,13
@@
static struct sk_buff *dsmark_dequeue(struct Qdisc *sch)
return skb;
}
return skb;
}
-static
int dsmark_requeue(struct sk_buff *skb,
struct Qdisc *sch)
+static
struct sk_buff *dsmark_peek(
struct Qdisc *sch)
{
struct dsmark_qdisc_data *p = qdisc_priv(sch);
{
struct dsmark_qdisc_data *p = qdisc_priv(sch);
- int err;
-
- pr_debug("dsmark_requeue(skb %p,sch %p,[qdisc %p])\n", skb, sch, p);
-
- err = p->q->ops->requeue(skb, p->q);
- if (err != NET_XMIT_SUCCESS) {
- if (net_xmit_drop_count(err))
- sch->qstats.drops++;
- return err;
- }
- sch->q.qlen++;
- sch->qstats.requeues++;
+ pr_debug("dsmark_peek(sch %p,[qdisc %p])\n", sch, p);
- return
NET_XMIT_SUCCESS
;
+ return
p->q->ops->peek(p->q)
;
}
static unsigned int dsmark_drop(struct Qdisc *sch)
}
static unsigned int dsmark_drop(struct Qdisc *sch)
@@
-496,7
+486,7
@@
static struct Qdisc_ops dsmark_qdisc_ops __read_mostly = {
.priv_size = sizeof(struct dsmark_qdisc_data),
.enqueue = dsmark_enqueue,
.dequeue = dsmark_dequeue,
.priv_size = sizeof(struct dsmark_qdisc_data),
.enqueue = dsmark_enqueue,
.dequeue = dsmark_dequeue,
- .
requeue = dsmark_requeue
,
+ .
peek = dsmark_peek
,
.drop = dsmark_drop,
.init = dsmark_init,
.reset = dsmark_reset,
.drop = dsmark_drop,
.init = dsmark_init,
.reset = dsmark_reset,