SOURCES: kernel-esfq.patch - updated for 2.6.29

baggins baggins at pld-linux.org
Mon Apr 6 23:08:47 CEST 2009


Author: baggins                      Date: Mon Apr  6 21:08:46 2009 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- updated for 2.6.29

---- Files affected:
SOURCES:
   kernel-esfq.patch (1.2 -> 1.3) 

---- Diffs:

================================================================
Index: SOURCES/kernel-esfq.patch
diff -u SOURCES/kernel-esfq.patch:1.2 SOURCES/kernel-esfq.patch:1.3
--- SOURCES/kernel-esfq.patch:1.2	Tue Mar 31 14:04:21 2009
+++ SOURCES/kernel-esfq.patch	Mon Apr  6 23:08:41 2009
@@ -465,20 +465,17 @@
 +	return NET_XMIT_CN;
 +}
 +
-+
-+static int esfq_requeue(struct sk_buff *skb, struct Qdisc* sch)
++static struct sk_buff *esfq_peek(struct Qdisc* sch)
 +{
 +	struct esfq_sched_data *q = qdisc_priv(sch);
-+	esfq_q_enqueue(skb, q, ESFQ_HEAD);
-+	sch->qstats.backlog += skb->len;
-+	if (++sch->q.qlen < q->limit - 1) {
-+		sch->qstats.requeues++;
-+		return 0;
-+	}
++	esfq_index a;
++
++	/* No active slots */
++	if (q->tail == q->depth)
++		return NULL;
 +
-+	sch->qstats.drops++;
-+	esfq_drop(sch);
-+	return NET_XMIT_CN;
++	a = q->next[q->tail];
++	return skb_peek(&q->qs[a]);
 +}
 +
 +static struct sk_buff *esfq_q_dequeue(struct esfq_sched_data *q)
@@ -773,7 +770,7 @@
 +	.priv_size	=	sizeof(struct esfq_sched_data),
 +	.enqueue	=	esfq_enqueue,
 +	.dequeue	=	esfq_dequeue,
-+	.requeue	=	esfq_requeue,
++	.peek		=	esfq_peek,
 +	.drop		=	esfq_drop,
 +	.init		=	esfq_init,
 +	.reset		=	esfq_reset,
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/kernel-esfq.patch?r1=1.2&r2=1.3&f=u



More information about the pld-cvs-commit mailing list