Patrick McHardy wrote:
Corey Hickey wrote:
Make a new function sfq_q_enqueue() that operates directly on the
queue data. This will be useful for implementing sfq_change() in
a later patch. A pleasant side-effect is reducing most of the
duplicate code in sfq_enqueue() and sfq_requeue().

Similarly, make a new function sfq_q_dequeue().

Signed-off-by: Corey Hickey <[EMAIL PROTECTED]>
---
 net/sched/sch_sfq.c |   72 +++++++++++++++++++++++++++------------------------
 1 files changed, 38 insertions(+), 34 deletions(-)

diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c
index 3a23e30..57485ef 100644
--- a/net/sched/sch_sfq.c
+++ b/net/sched/sch_sfq.c



The sfq_q_enqueue part looks fine.

- sch->qstats.drops++;


A line in the changelog explaining that this was increased twice
would have been nice.

Certainly; I think I didn't realize, when you originally pointed out the duplicate incrementing, that it was a bug in the original version and not in my patch. Otherwise, I would have sent it as a separate patch.

If a note in this patch will suffice, though, I'll definitely do so.

        sfq_drop(sch);
        return NET_XMIT_CN;
 }
-
-
-
-static struct sk_buff *
-sfq_dequeue(struct Qdisc* sch)
+static struct
+sk_buff *sfq_q_dequeue(struct sfq_sched_data *q)


What is this function needed for?

It gets used in sfq_change for moving packets from the old queue into the new one. In this case, we don't want to modify sch->q.qlen or sch->qstats.backlog, since those don't actually change.

         while ((skb = sfq_q_dequeue(q)) != NULL)
                 sfq_q_enqueue(skb, &tmp, SFQ_TAIL);


I'll improve the description of this patch to make that more clear.

-Corey
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to