From patchwork Mon Sep 4 06:21:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gao Feng X-Patchwork-Id: 809533 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xm0Dr66Qfz9s71 for ; Mon, 4 Sep 2017 16:24:28 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751266AbdIDGYX (ORCPT ); Mon, 4 Sep 2017 02:24:23 -0400 Received: from mail-177180.vip.163.com ([123.58.177.180]:54318 "EHLO mail-177180.vip.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750782AbdIDGYX (ORCPT ); Mon, 4 Sep 2017 02:24:23 -0400 Received: from ikuai8.com (unknown [123.112.219.240]) by smtp1 (Coremail) with SMTP id oGZ4CgB3pPzZ8KxZG3Y_Kw--.8263S2; Mon, 04 Sep 2017 14:21:22 +0800 (CST) From: gfree.wind@vip.163.com To: jhs@mojatatu.com, xiyou.wangcong@gmail.com, jiri@resnulli.us, davem@davemloft.net, edumazet@google.com, netdev@vger.kernel.org Cc: Gao Feng Subject: [PATCH net-next 1/1] sched: Use __qdisc_drop instead of kfree_skb in sch_prio and sch_qfq Date: Mon, 4 Sep 2017 14:21:12 +0800 Message-Id: <1504506072-46207-1-git-send-email-gfree.wind@vip.163.com> X-Mailer: git-send-email 1.9.1 X-CM-TRANSID: oGZ4CgB3pPzZ8KxZG3Y_Kw--.8263S2 X-Coremail-Antispam: 1Uf129KBjvJXoW7GrW7Ary7Xw4DtF1DXFW3Awb_yoW8JrWrpF 4qgr1xKF1xGr18uF95Ar48Xw4rGwsxC3sxWFy09w43Arn5G34Ygr18Kr42grn3Crs5Ca1a qr1jy342qw48AFJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jjQ6LUUUUU= X-Originating-IP: [123.112.219.240] X-CM-SenderInfo: 5jiuvvgozl0vg6yl1hqrwthudrp/1tbiHQNJs1Qj2nhd-QAAsR Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Gao Feng The commit 520ac30f4551 ("net_sched: drop packets after root qdisc lock is released) made a big change of tc for performance. There are two points left in sch_prio and sch_qfq which are not changed with that commit. Now enhance them now with __qdisc_drop. Signed-off-by: Gao Feng --- net/sched/sch_prio.c | 2 +- net/sched/sch_qfq.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/net/sched/sch_prio.c b/net/sched/sch_prio.c index f31b28f..2dd6c68 100644 --- a/net/sched/sch_prio.c +++ b/net/sched/sch_prio.c @@ -80,7 +80,7 @@ struct prio_sched_data { if (ret & __NET_XMIT_BYPASS) qdisc_qstats_drop(sch); - kfree_skb(skb); + __qdisc_drop(skb, to_free); return ret; } #endif diff --git a/net/sched/sch_qfq.c b/net/sched/sch_qfq.c index cd661a7..6ddfd49 100644 --- a/net/sched/sch_qfq.c +++ b/net/sched/sch_qfq.c @@ -1215,7 +1215,7 @@ static int qfq_enqueue(struct sk_buff *skb, struct Qdisc *sch, if (cl == NULL) { if (err & __NET_XMIT_BYPASS) qdisc_qstats_drop(sch); - kfree_skb(skb); + __qdisc_drop(skb, to_free); return err; } pr_debug("qfq_enqueue: cl = %x\n", cl->common.classid);