From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5B28AA0C4A for ; Wed, 14 Jul 2021 04:18:13 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 39B104003E; Wed, 14 Jul 2021 04:18:13 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 936634003E for ; Wed, 14 Jul 2021 04:18:11 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10044"; a="207255175" X-IronPort-AV: E=Sophos;i="5.84,238,1620716400"; d="scan'208";a="207255175" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2021 19:18:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,238,1620716400"; d="scan'208";a="562299705" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga004.jf.intel.com with ESMTP; 13 Jul 2021 19:17:53 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Tue, 13 Jul 2021 19:17:53 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Tue, 13 Jul 2021 19:17:53 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Tue, 13 Jul 2021 19:17:52 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q8S1OVPre2cNfzX5ofPp4PLyG9Ry9X+JIBc4NH2QA5jAXtzE9siywPRj0VzqxZg5EFXq7nFurDGEU0XafyUJMHZXCd0V+HmyDNTSgRjQitT3YHqlVaaLJbxISNBn+YszVCExNMJIg9ODjUTCgnhvjC0SuZBt6sypz8MzqPnpP51qmh8dJn7NyB2oq0wZrtdKFR35FHgvuHkfrZQSBrvsQgjK2OZ5RZFUx9cmCGTBRj0cn+HcmUdahjITPbA6xMm4mikrDzH63abovAQRr9+mvDkKVI1O/AIXTPugfseck6Uc3D+nQLBpFOKMR8Qo+Iba29jXSmh7pqIfooWHYu7JFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EBFQ6UKKz9J4/GkwO0yOVmnD3D8x3ZVx0Se+QhHARbw=; b=BlTW4xMCQwcc1D5ISB4Qh6zHnEB87Gb6oSYgKTL93GDIW5sb+vUBRKPju1GFs4ZEakm1GUuMj9Eh7Qa39UOm+AnLDQATUk93NIqb2KZ4qLMFKn+mh6w0KyODH7FghUTDu58lx6P0+Qr54BLoyElecq60uYke34JR9JluElHMqZwK3D0eEg9AUt6N00XX9mlq3WWlAAe9RV4qBr+UywrwwOmaz6ENGxkFmlyf56fkmjvGuQvHwBCPH0MhfIvyDMldbAHb3X8VO6ilJDQzqdKgv3yrf68odE3d3hR3r3+pWmePAeMVyU/R4ZF3nroExmVX7+DJxIs/JhxwCP3kPvtsHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EBFQ6UKKz9J4/GkwO0yOVmnD3D8x3ZVx0Se+QhHARbw=; b=imJd12m6KFw7VkX9/T0hJ4/p8pb5AU43CJoaArGZ5s6yVwTRF25ssvnLl7wXxOKCEJnhaCvfqu7c2e7xGeW9EN2frR6ph7Ivr6zkksqLHmcdns5aezSyMdnXXqmSzm7cpZze/EKs7liFevRlCyuGAlinosHViiluQQt6GvfZutk= Received: from MN2PR11MB3807.namprd11.prod.outlook.com (2603:10b6:208:f0::24) by MN2PR11MB3982.namprd11.prod.outlook.com (2603:10b6:208:13b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.23; Wed, 14 Jul 2021 02:17:51 +0000 Received: from MN2PR11MB3807.namprd11.prod.outlook.com ([fe80::197b:884c:3d10:ee6a]) by MN2PR11MB3807.namprd11.prod.outlook.com ([fe80::197b:884c:3d10:ee6a%5]) with mapi id 15.20.4308.027; Wed, 14 Jul 2021 02:17:51 +0000 From: "Xing, Beilei" To: "Wu, Jingjing" CC: "stable@dpdk.org" Thread-Topic: [PATCH] net/iavf: replace event interrupt by alarm Thread-Index: AQHXeAbVORltfSE3W0ul1/uVB1lbp6tBvA1w Date: Wed, 14 Jul 2021 02:17:51 +0000 Message-ID: References: <20210714002319.22572-1-jingjing.wu@intel.com> In-Reply-To: <20210714002319.22572-1-jingjing.wu@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 07771ef9-401b-42e9-96cd-08d9466d9516 x-ms-traffictypediagnostic: MN2PR11MB3982: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:741; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JUsyJ0zkiimEcrOktxgVGB02mqCKNadX5r9Lu1sCy+1GdjIf+Jzel+nXwPk2bZLx6nKMMD+CmoEXhtj3/oGXNBG9PFmpGVTdnENoaqmqpv1TGrTC7UOfZNEEcymIJe6OHUhRSa1xA0CWvTK0Oc/a8cRFmelLfqn+D5hsB7T8Xfj/KGAqytcXW8qZ4bbXJYV05PRm4pyq8nR+GOk+cAPpRvcmIpIMZi9eADEPkXq4SplAxxMVvj28YkYqdoOv8UB8YOuez0ScjOleZeOzzWrZF9wh0uagV6Ksh4mzb0UJVQV2Mtsw8Qt6w5eQxld56fP5wn6DslMiwudWyXtLOF/mob7jwykEAqJIAKhDLpBu1sLX9XK2Xh6VqixY5PVDL2nlvHi2HIb7B/icWbJK7tWzHi65LAM/7ef6Qe2mddC7SjNqU7ukx7en95AyRvLn88YlIPpkrScIzdJ2iKgNHluiBSAGORmsaMywEH2QfXCPHMEW1zk3g90QxiHVJgf4oWn9Uk5Q1jI8V7h6xVdeV/Pl1DJQLVS0LFguU2tyNJPYm8muWBv1KivYQI7XCL6c7QU9P8m5EU6/ey15HFAZNUBWFHCMJocbMAWXvI4Cycjtc0nKwYMIGuA81kqwYVGA0OTPa19AMcSGJryQ3mEtyQqVdLttcp4Gwx4TU+qDf9xG4sxZa8glt0iI8PSiH+TGhNaydWI9uHToVBfxswsJsLY21g== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB3807.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(376002)(39860400002)(136003)(346002)(8676002)(186003)(316002)(6862004)(38100700002)(33656002)(5660300002)(9686003)(4326008)(55016002)(71200400001)(76116006)(6636002)(86362001)(53546011)(8936002)(2906002)(66946007)(26005)(66446008)(64756008)(66476007)(6506007)(478600001)(122000001)(7696005)(52536014)(83380400001)(66556008)(38070700004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?38XumgDooBWXzMfoOIBoFqZ1kASdyh/DxURkWiTg+cZKVQBLRk3LIjBxaFQi?= =?us-ascii?Q?FO4ToOoQqfwBp8Y0euuAgpqdwlNtkoGE3/AKKwe1E5c3HDPPCteV4Z6u+CrU?= =?us-ascii?Q?uE4cxdt3m9emcN+l1VHVqhmni6Geojkr2d0sFJaxxE3/pbz80CEuZM30u9zq?= =?us-ascii?Q?hatQYQy6nyKh2pQhBi8gflawvW8WTDUznzxRDFBWXI1OOXBp3V+oG/12Tf9x?= =?us-ascii?Q?54jozFBnCCNts6Uk9w/xuX5HMnz5fLMiHtSA+UoFQAVEJAPsj45DX04716SH?= =?us-ascii?Q?eC5RhHsJVdvTlc41whpWIBxD9QSA48KjS15oYzNR+LtwxxRzdf9xabXYyKs+?= =?us-ascii?Q?2pFZvRW+6fOnkZfipVk8/zJgB2HhXAMrtCBrnusYc9OLjslSIRknh+hx0fD5?= =?us-ascii?Q?ViOhEy5MarDWHwfo0egBMybs56T82KQBRY3AhK99An+5KoihIKXiFtw08TD8?= =?us-ascii?Q?GlL2XumCQzrfzOJVEg1CoyllfogmHSd+MD2haHQ93yNhjWerD7YyMH+Sn2dL?= =?us-ascii?Q?Mm1qI6bGmZfgpYngvi8mwhKU4QMNvJehzKnZfmNd+oZ+K+uZK9AMo8QpNzn4?= =?us-ascii?Q?ZBInxPPuyD5bmGuRDUb46VpzVXInkUaB0Ap/kqN9x2KSMZhdijnqdGRICLLk?= =?us-ascii?Q?ojfhxrb5ShyRFdWwjOTORQRXTcgGV2VyLzon916JF2V+AYL1anfCLxNJQcq3?= =?us-ascii?Q?wqMSZ8vvbonFs5m9W5uoTQxNPiNOZsxpQW4tMpS33O1839IrXNrowmNDgaWb?= =?us-ascii?Q?xg/VEhnxtCkYOAtrasZwkVCBhP/K9yWQBonSfiaJMUtx57shnGhym+R2cctH?= =?us-ascii?Q?K3QC8amhsITpVcwbuRQLYNajJA7MvH73iQ9JJEoCxzHcJT964C8H1cKqAehe?= =?us-ascii?Q?v4NHUbUd3QfPkAK1ZNpccYgdkvauZ3vgFrqCi5GOmSdYDoQB+7nv1qmAeSwa?= =?us-ascii?Q?QqyTABe3+ilR7ONSchCtyfj6Rfu8ny7MvC2R/6hkkG/cpyCvUjjagobe4Xld?= =?us-ascii?Q?TffevD80duqUJoYX1HPcoGoWd06TRHP5Iq5B3pOktQTKR4/x+TE32BbQyQC5?= =?us-ascii?Q?+26z/bo0FGrV6L74S2RDv50RPbGAwEmeOFuzlk2RdArLiYEjIs2Qobwz8lpo?= =?us-ascii?Q?3KxXSTXQoLD4icnX4vtZ4602qlaQcCbmYh7YxddztNnAKxyc2SFmRmd/cEHJ?= =?us-ascii?Q?wad7HioXo9cKjHOtZkXTAP3weR8AXfBABCI9dC5JC9W2o7oGSdzNpro969qo?= =?us-ascii?Q?5Pfg69jXRm8waopx3KmeXvGzRyFCkiL02cQehdGk98QVRAmjxsHuYvhA9AQ1?= =?us-ascii?Q?TjmQ0X2n2/jYsOILySiaU3Mk?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB3807.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07771ef9-401b-42e9-96cd-08d9466d9516 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jul 2021 02:17:51.2123 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2mzf1q+nbdu3oY6MXRyICteRSKo100E4LIQGJvanOK2yPYBEcNDgHUVEJUfa0HoKLtLlrIP999PIyksjX/e7HA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3982 X-OriginatorOrg: intel.com Subject: Re: [dpdk-stable] [PATCH] net/iavf: replace event interrupt by alarm X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Please hold on. Need more verification. BR, Beilei > -----Original Message----- > From: Wu, Jingjing > Sent: Wednesday, July 14, 2021 8:23 AM > To: Xing, Beilei > Cc: stable@dpdk.org; Wu, Jingjing > Subject: [PATCH] net/iavf: replace event interrupt by alarm >=20 > To support environment without MSI/MSIX interrupt support, and reduce > the performance impact when internal rx interrupt and adminq interrupt > share the same source, the patch removes the interrupt handler, replace i= t > with a low frequency interrupt polling daemon which is implemented by > registering a alarm callback periodly. >=20 > Fixes: 22b123a36d07 ("net/avf: initialize PMD") >=20 > Signed-off-by: Jingjing Wu > --- > drivers/net/iavf/iavf_ethdev.c | 29 +++++++++++++---------------- > 1 file changed, 13 insertions(+), 16 deletions(-) >=20 > diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethde= v.c > index 649061d2ba..4671add0bb 100644 > --- a/drivers/net/iavf/iavf_ethdev.c > +++ b/drivers/net/iavf/iavf_ethdev.c > @@ -18,6 +18,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -33,6 +34,8 @@ > /* devargs */ > #define IAVF_PROTO_XTR_ARG "proto_xtr" >=20 > +#define IAVF_ALARM_INTERVAL 50000 /* us */ > + > static const char * const iavf_valid_args[] =3D { > IAVF_PROTO_XTR_ARG, > NULL > @@ -729,6 +732,9 @@ iavf_dev_stop(struct rte_eth_dev *dev) >=20 > PMD_INIT_FUNC_TRACE(); >=20 > + if (dev->data->dev_conf.intr_conf.rxq !=3D 0) > + rte_intr_disable(intr_handle); > + > if (adapter->stopped =3D=3D 1) > return 0; >=20 > @@ -1902,7 +1908,7 @@ iavf_disable_irq0(struct iavf_hw *hw) } >=20 > static void > -iavf_dev_interrupt_handler(void *param) > +iavf_dev_alarm_handler(void *param) > { > struct rte_eth_dev *dev =3D (struct rte_eth_dev *)param; > struct iavf_hw *hw =3D IAVF_DEV_PRIVATE_TO_HW(dev->data- > >dev_private); > @@ -1912,6 +1918,8 @@ iavf_dev_interrupt_handler(void *param) > iavf_handle_virtchnl_msg(dev); >=20 > iavf_enable_irq0(hw); > + > + rte_eal_alarm_set(IAVF_ALARM_INTERVAL, iavf_dev_alarm_handler, > dev); > } >=20 > static int > @@ -2012,14 +2020,8 @@ iavf_dev_init(struct rte_eth_dev *eth_dev) > rte_ether_addr_copy((struct rte_ether_addr *)hw->mac.addr, > ð_dev->data->mac_addrs[0]); >=20 > - /* register callback func to eal lib */ > - rte_intr_callback_register(&pci_dev->intr_handle, > - iavf_dev_interrupt_handler, > - (void *)eth_dev); > - > - /* enable uio intr after callback register */ > - rte_intr_enable(&pci_dev->intr_handle); > - > + rte_eal_alarm_set(IAVF_ALARM_INTERVAL, > + iavf_dev_alarm_handler, eth_dev); > /* configure and enable device interrupt */ > iavf_enable_irq0(hw); >=20 > @@ -2036,8 +2038,6 @@ static int > iavf_dev_close(struct rte_eth_dev *dev) { > struct iavf_hw *hw =3D IAVF_DEV_PRIVATE_TO_HW(dev->data- > >dev_private); > - struct rte_pci_device *pci_dev =3D RTE_ETH_DEV_TO_PCI(dev); > - struct rte_intr_handle *intr_handle =3D &pci_dev->intr_handle; > struct iavf_adapter *adapter =3D > IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); > struct iavf_info *vf =3D IAVF_DEV_PRIVATE_TO_VF(dev->data- > >dev_private); > @@ -2060,14 +2060,11 @@ iavf_dev_close(struct rte_eth_dev *dev) > iavf_config_promisc(adapter, false, false); >=20 > iavf_shutdown_adminq(hw); > - /* disable uio intr before callback unregister */ > - rte_intr_disable(intr_handle); >=20 > - /* unregister callback func from eal lib */ > - rte_intr_callback_unregister(intr_handle, > - iavf_dev_interrupt_handler, dev); > iavf_disable_irq0(hw); >=20 > + rte_eal_alarm_cancel(iavf_dev_alarm_handler, dev); > + > if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF) { > if (vf->rss_lut) { > rte_free(vf->rss_lut); > -- > 2.21.1