From patchwork Tue Oct 14 09:53:09 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jarek Poplawski X-Patchwork-Id: 4426 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 1F3AADE04E for ; Tue, 14 Oct 2008 20:53:20 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754795AbYJNJxP (ORCPT ); Tue, 14 Oct 2008 05:53:15 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754777AbYJNJxO (ORCPT ); Tue, 14 Oct 2008 05:53:14 -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 S1754373AbYJNJxN (ORCPT ); Tue, 14 Oct 2008 05:53:13 -0400 Received: by ug-out-1314.google.com with SMTP id k3so850192ugf.37 for ; Tue, 14 Oct 2008 02:53:12 -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=1ES/3e4gjWjbfcTeapCHVOhAlPorOaTeXTavcmpA8aY=; b=RF2kvi2NOJL9JaZjuOsz48zE17MKFM6J/jXbzY84p8Tb4RAjcGdNSIVyLJJ73MoCY+ vqY2QIaohxoNch9ZQjWjjlqBPMLjSGt/L7MjRkfck1W5xWATh/O4d7HZhbpeQp4kc6FN FeMAP4I6k9DlxrCALc4MG+unJmA0qvtVTMenc= 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=OxpmmZFBlBDsRp+zkwpjRAeVyU8JqVk9h0BCZwexKieTsqPHC8wwU77c8/uaBaXO2j DztPbrkw+Sg/n24NVcgnLqji+BcvTboDA3oIg9SwoG+4UyFvVm6k+88LRfQvqKTWAa1Q 8hYEGiCX4frhI3aYTa/9p2RyXctva7pklQhQU= Received: by 10.66.252.18 with SMTP id z18mr4179447ugh.46.1223977992902; Tue, 14 Oct 2008 02:53:12 -0700 (PDT) Received: from ff.dom.local (bv170.internetdsl.tpnet.pl [80.53.205.170]) by mx.google.com with ESMTPS id k27sm494874ugd.20.2008.10.14.02.53.12 (version=SSLv3 cipher=RC4-MD5); Tue, 14 Oct 2008 02:53:12 -0700 (PDT) Date: Tue, 14 Oct 2008 09:53:09 +0000 From: Jarek Poplawski To: David Miller Cc: netdev@vger.kernel.org Subject: [PATCH 01/14] pkt_sched: Add qdisc_dequeue() helper. Message-ID: <20081014095308.GB10804@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 3/9]: pkt_sched: Add qdisc_dequeue() helper. Date: Mon, 18 Aug 2008 01:36:55 -0700 (PDT) From: David Miller Modified sch_generic.c part. -------------> From: David Miller pkt_sched: Add qdisc_dequeue() helper. It prioritizes packets on the ->requeue list. Use in qdisc_restart() as it's basically a complete copy of dequeue_skb(). Signed-off-by: Jarek Poplawski --- include/net/sch_generic.h | 8 ++++++++ net/sched/sch_generic.c | 2 +- 2 files changed, 9 insertions(+), 1 deletions(-) diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h index 3fe49d8..00c1309 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -369,6 +369,14 @@ enum net_xmit_qdisc_t { #define net_xmit_drop_count(e) (1) #endif +static inline struct sk_buff *qdisc_dequeue(struct Qdisc *sch) +{ + struct sk_buff *skb = __skb_dequeue(&sch->requeue); + if (!skb) + skb = sch->dequeue(sch); + return skb; +} + static inline int qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch) { #ifdef CONFIG_NET_SCHED diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index 7b5572d..6730bac 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -66,7 +66,7 @@ static inline struct sk_buff *dequeue_skb(struct Qdisc *q) else skb = NULL; } else { - skb = q->dequeue(q); + skb = qdisc_dequeue(q); } return skb;