From patchwork Mon Mar 25 13:42:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ioana Ciornei X-Patchwork-Id: 1064334 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="ONg2cWVZ"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44Sb6s2PLDz9sRj for ; Tue, 26 Mar 2019 00:42:45 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727211AbfCYNmn (ORCPT ); Mon, 25 Mar 2019 09:42:43 -0400 Received: from mail-eopbgr30062.outbound.protection.outlook.com ([40.107.3.62]:46487 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725554AbfCYNmn (ORCPT ); Mon, 25 Mar 2019 09:42:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wGpNuZIG4KzfC4mmXP5T5dYiahEqKAJ1QgODEbhKFbw=; b=ONg2cWVZy6lWEG4njZTkzsQuFO9OPLBUvW6PFxy4kUqJWIzCrNdX5HlNyCGuoag3L+c7vhcVlkBtFmzfnMfQxfZjsWwLi9QfchLhYccgTxRFSUFBMKAVKQ4ElHlopOmKKKn/AQRV1YIVTpWha3PeWLMnlma+W0bImEsvCzZJuec= Received: from VI1PR0402MB2800.eurprd04.prod.outlook.com (10.172.255.18) by VI1PR0402MB3598.eurprd04.prod.outlook.com (52.134.5.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1730.16; Mon, 25 Mar 2019 13:42:39 +0000 Received: from VI1PR0402MB2800.eurprd04.prod.outlook.com ([fe80::f808:5ebf:a573:3ea1]) by VI1PR0402MB2800.eurprd04.prod.outlook.com ([fe80::f808:5ebf:a573:3ea1%8]) with mapi id 15.20.1730.019; Mon, 25 Mar 2019 13:42:39 +0000 From: Ioana Ciornei To: "davem@davemloft.net" CC: "netdev@vger.kernel.org" , Ioana Ciocoi Radulescu , Ioana Ciornei Subject: [PATCH net-next] dpaa2-eth: use netif_receive_skb_list Thread-Topic: [PATCH net-next] dpaa2-eth: use netif_receive_skb_list Thread-Index: AQHU4xCdk2FwpgUONE2m42NflamCnw== Date: Mon, 25 Mar 2019 13:42:39 +0000 Message-ID: <1553521344-31094-1-git-send-email-ioana.ciornei@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR07CA0225.eurprd07.prod.outlook.com (2603:10a6:802:58::28) To VI1PR0402MB2800.eurprd04.prod.outlook.com (2603:10a6:800:ad::18) authentication-results: spf=none (sender IP is ) smtp.mailfrom=ioana.ciornei@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 1.9.1 x-originating-ip: [212.146.100.6] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a765356d-2b5f-4009-1199-08d6b127bf60 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600127)(711020)(4605104)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:VI1PR0402MB3598; x-ms-traffictypediagnostic: VI1PR0402MB3598: x-microsoft-antispam-prvs: x-forefront-prvs: 0987ACA2E2 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(376002)(366004)(346002)(39860400002)(396003)(199004)(189003)(6116002)(6916009)(97736004)(2351001)(66066001)(106356001)(105586002)(478600001)(2501003)(53936002)(14454004)(5640700003)(6486002)(6512007)(4326008)(86362001)(1730700003)(6436002)(8676002)(25786009)(71200400001)(71190400001)(99286004)(14444005)(8936002)(26005)(52116002)(6506007)(386003)(68736007)(3846002)(2616005)(476003)(486006)(44832011)(81166006)(81156014)(36756003)(7736002)(305945005)(256004)(50226002)(54906003)(5660300002)(102836004)(2906002)(186003)(316002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0402MB3598; H:VI1PR0402MB2800.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: HBzvgjgmPpBURnho+5Wj6/urNF9sVbXFGeh7kYUxsuD63mt8UztaCx3991fsEjs2nImfu4zolIF8mQntY+FT1l1LAmCQV6X54rUfSH6e4OklePzljLPbmyKQv+QNiNehzeDmz9RT1IBszWc7YpleVLE0WsRb46/cBnF7CUZ1nuPaZ44RCZwC0QYhJ93LWCFXRNozFj0YxjM/PN6TMrFIAdn5gOA3tv4U2kbuoVdJTV+8OntYUchr+jNiA2BaQiubzn/LdKK5LSR06YlKV0sr1NlEocbFKxkrao0Ix8jMfpuUR7Q3aNJ025YQGJLI/9H3hUDi4CVmN6eldxqY6vUI6aZE1MGLe7lKeGiKars9n2LDjRov/Ep39ozsD0oRtUKAZzQFh1BCm3IPOITc0niz7CIKiaG0MFUea5icfZfx804= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a765356d-2b5f-4009-1199-08d6b127bf60 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2019 13:42:39.4430 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3598 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Take advantage of the software Rx batching by using netif_receive_skb_list instead of napi_gro_receive. Signed-off-by: Ioana Ciornei --- drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 8 +++++++- drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c index 2ba49e9..e923e5c 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c @@ -435,7 +435,7 @@ static void dpaa2_eth_rx(struct dpaa2_eth_priv *priv, percpu_stats->rx_packets++; percpu_stats->rx_bytes += dpaa2_fd_get_len(fd); - napi_gro_receive(&ch->napi, skb); + list_add_tail(&skb->list, ch->rx_list); return; @@ -1108,12 +1108,16 @@ static int dpaa2_eth_poll(struct napi_struct *napi, int budget) struct dpaa2_eth_fq *fq, *txc_fq = NULL; struct netdev_queue *nq; int store_cleaned, work_done; + struct list_head rx_list; int err; ch = container_of(napi, struct dpaa2_eth_channel, napi); ch->xdp.res = 0; priv = ch->priv; + INIT_LIST_HEAD(&rx_list); + ch->rx_list = &rx_list; + do { err = pull_channel(ch); if (unlikely(err)) @@ -1157,6 +1161,8 @@ static int dpaa2_eth_poll(struct napi_struct *napi, int budget) work_done = max(rx_cleaned, 1); out: + netif_receive_skb_list(ch->rx_list); + if (txc_fq && txc_fq->dq_frames) { nq = netdev_get_tx_queue(priv->net_dev, txc_fq->flowid); netdev_tx_completed_queue(nq, txc_fq->dq_frames, diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h index 7879622..a11ebfd 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h @@ -334,6 +334,7 @@ struct dpaa2_eth_channel { struct dpaa2_eth_ch_stats stats; struct dpaa2_eth_ch_xdp xdp; struct xdp_rxq_info xdp_rxq; + struct list_head *rx_list; }; struct dpaa2_eth_dist_fields {