From patchwork Tue Oct 14 09:53:25 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jarek Poplawski X-Patchwork-Id: 4427 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id EBE95DE04E for ; Tue, 14 Oct 2008 20:53:37 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754864AbYJNJxc (ORCPT ); Tue, 14 Oct 2008 05:53:32 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754841AbYJNJxc (ORCPT ); Tue, 14 Oct 2008 05:53:32 -0400 Received: from ug-out-1314.google.com ([66.249.92.170]:52657 "EHLO ug-out-1314.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754407AbYJNJxb (ORCPT ); Tue, 14 Oct 2008 05:53:31 -0400 Received: by ug-out-1314.google.com with SMTP id k3so850192ugf.37 for ; Tue, 14 Oct 2008 02:53:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:cc:subject :message-id:mime-version:content-type:content-disposition :in-reply-to:x-mutt-fcc:user-agent; bh=uQczlaruKurHgcM7uv14+C6SCtZ8q9wJqpTzdDkIqqg=; b=Q1VDBNqj+/1ScRHbJ9JImWcKq+AAMs8CNu/HaV/LfOIBQGxHuNdU+YnkPKoJi3nWWH OhRwhctU2jrsSWPui5S2ovWExbhXtjy/UX2Y4ddE8jOEzqPN80C4Y5/XUyfs84035saf 8KtAwRjuZiYz1BPJsAo/pSkByr35WkqX5KYzE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:in-reply-to:x-mutt-fcc:user-agent; b=gCyZqb/8U58KquMmXy67xADGv4srB6nxjr2GHxuaDcFSn3tmp+32NcqBKgvZ+TQ6TB 4d1QDOk7ThY0wtQ/yeHPZMlpazvvWvSJp7hhB1e/O/dPV8FIC7DxAE0kgHRBhRYuaWEg u7in9BlNV+QwJKGHiZkrhlZQwJcFrYARdHouo= Received: by 10.67.116.18 with SMTP id t18mr4168429ugm.58.1223978010513; Tue, 14 Oct 2008 02:53:30 -0700 (PDT) Received: from ff.dom.local (bv170.internetdsl.tpnet.pl [80.53.205.170]) by mx.google.com with ESMTPS id y7sm1015474ugc.2.2008.10.14.02.53.28 (version=SSLv3 cipher=RC4-MD5); Tue, 14 Oct 2008 02:53:29 -0700 (PDT) Date: Tue, 14 Oct 2008 09:53:25 +0000 From: Jarek Poplawski To: David Miller Cc: netdev@vger.kernel.org Subject: [PATCH 02/14] pkt_sched: Replace all explitic ->dequeue() calls with qdisc_dequeue(). Message-ID: <20081014095324.GC10804@ff.dom.local> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mutt-Fcc: =outbox User-Agent: Mutt/1.5.18 (2008-05-17) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org -------- Original Message -------- Subject: [PATCH 4/9]: pkt_sched: Replace all explitic ->dequeue() calls with qdisc_dequeue(). Date: Mon, 18 Aug 2008 01:36:58 -0700 (PDT) From: David Miller -----------> From: David Miller pkt_sched: Replace all explitic ->dequeue() calls with qdisc_dequeue(). This spotted a bug in sch_dsmark, it was using qdisc->ops->dequeue() instead of qdisc->dequeue(). Signed-off-by: Jarek Poplawski --- net/sched/sch_atm.c | 4 ++-- net/sched/sch_cbq.c | 2 +- net/sched/sch_dsmark.c | 2 +- net/sched/sch_hfsc.c | 4 ++-- net/sched/sch_htb.c | 2 +- net/sched/sch_netem.c | 2 +- net/sched/sch_prio.c | 2 +- net/sched/sch_red.c | 2 +- net/sched/sch_tbf.c | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/net/sched/sch_atm.c b/net/sched/sch_atm.c index 43d3725..ca3467b 100644 --- a/net/sched/sch_atm.c +++ b/net/sched/sch_atm.c @@ -480,7 +480,7 @@ static void sch_atm_dequeue(unsigned long data) * If traffic is properly shaped, this won't generate nasty * little bursts. Otherwise, it may ... (but that's okay) */ - while ((skb = flow->q->dequeue(flow->q))) { + while ((skb = qdisc_dequeue(flow->q))) { if (!atm_may_send(flow->vcc, skb->truesize)) { (void)flow->q->ops->requeue(skb, flow->q); break; @@ -516,7 +516,7 @@ static struct sk_buff *atm_tc_dequeue(struct Qdisc *sch) pr_debug("atm_tc_dequeue(sch %p,[qdisc %p])\n", sch, p); tasklet_schedule(&p->task); - skb = p->link.q->dequeue(p->link.q); + skb = qdisc_dequeue(p->link.q); if (skb) sch->q.qlen--; return skb; diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c index 8b06fa9..c68e09c 100644 --- a/net/sched/sch_cbq.c +++ b/net/sched/sch_cbq.c @@ -881,7 +881,7 @@ cbq_dequeue_prio(struct Qdisc *sch, int prio) goto next_class; } - skb = cl->q->dequeue(cl->q); + skb = qdisc_dequeue(cl->q); /* Class did not give us any skb :-( It could occur even if cl->q->q.qlen != 0 diff --git a/net/sched/sch_dsmark.c b/net/sched/sch_dsmark.c index ba43aab..c29e9c2 100644 --- a/net/sched/sch_dsmark.c +++ b/net/sched/sch_dsmark.c @@ -279,7 +279,7 @@ static struct sk_buff *dsmark_dequeue(struct Qdisc *sch) pr_debug("dsmark_dequeue(sch %p,[qdisc %p])\n", sch, p); - skb = p->q->ops->dequeue(p->q); + skb = qdisc_dequeue(p->q); if (skb == NULL) return NULL; diff --git a/net/sched/sch_hfsc.c b/net/sched/sch_hfsc.c index c1e77da..67aa3ea 100644 --- a/net/sched/sch_hfsc.c +++ b/net/sched/sch_hfsc.c @@ -889,7 +889,7 @@ qdisc_peek_len(struct Qdisc *sch) struct sk_buff *skb; unsigned int len; - skb = sch->dequeue(sch); + skb = qdisc_dequeue(sch); if (skb == NULL) { if (net_ratelimit()) printk("qdisc_peek_len: non work-conserving qdisc ?\n"); @@ -1642,7 +1642,7 @@ hfsc_dequeue(struct Qdisc *sch) } } - skb = cl->qdisc->dequeue(cl->qdisc); + skb = qdisc_dequeue(cl->qdisc); if (skb == NULL) { if (net_ratelimit()) printk("HFSC: Non-work-conserving qdisc ?\n"); diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index d14f020..34c0caf 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c @@ -840,7 +840,7 @@ next: goto next; } - skb = cl->un.leaf.q->dequeue(cl->un.leaf.q); + skb = qdisc_dequeue(cl->un.leaf.q); if (likely(skb != NULL)) break; if (!cl->warned) { diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index a119599..cc4d057 100644 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c @@ -283,7 +283,7 @@ static struct sk_buff *netem_dequeue(struct Qdisc *sch) if (sch->flags & TCQ_F_THROTTLED) return NULL; - skb = q->qdisc->dequeue(q->qdisc); + skb = qdisc_dequeue(q->qdisc); if (skb) { const struct netem_skb_cb *cb = netem_skb_cb(skb); psched_time_t now = psched_get_time(); diff --git a/net/sched/sch_prio.c b/net/sched/sch_prio.c index 504a78c..d527732 100644 --- a/net/sched/sch_prio.c +++ b/net/sched/sch_prio.c @@ -128,7 +128,7 @@ static struct sk_buff *prio_dequeue(struct Qdisc* sch) for (prio = 0; prio < q->bands; prio++) { struct Qdisc *qdisc = q->queues[prio]; - struct sk_buff *skb = qdisc->dequeue(qdisc); + struct sk_buff *skb = qdisc_dequeue(qdisc); if (skb) { sch->q.qlen--; return skb; diff --git a/net/sched/sch_red.c b/net/sched/sch_red.c index 5da0583..3709720 100644 --- a/net/sched/sch_red.c +++ b/net/sched/sch_red.c @@ -131,7 +131,7 @@ static struct sk_buff * red_dequeue(struct Qdisc* sch) struct red_sched_data *q = qdisc_priv(sch); struct Qdisc *child = q->qdisc; - skb = child->dequeue(child); + skb = qdisc_dequeue(child); if (skb) sch->q.qlen--; else if (!red_is_idling(&q->parms)) diff --git a/net/sched/sch_tbf.c b/net/sched/sch_tbf.c index 94c6159..a99529d 100644 --- a/net/sched/sch_tbf.c +++ b/net/sched/sch_tbf.c @@ -169,7 +169,7 @@ static struct sk_buff *tbf_dequeue(struct Qdisc* sch) struct tbf_sched_data *q = qdisc_priv(sch); struct sk_buff *skb; - skb = q->qdisc->dequeue(q->qdisc); + skb = qdisc_dequeue(q->qdisc); if (skb) { psched_time_t now;