From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 1A1F01E20 for ; Wed, 24 Jan 2018 11:02:20 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Jan 2018 02:02:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,406,1511856000"; d="scan'208";a="12643785" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga007.fm.intel.com with ESMTP; 24 Jan 2018 02:02:19 -0800 Received: from fmsmsx121.amr.corp.intel.com (10.18.125.36) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Jan 2018 02:02:18 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx121.amr.corp.intel.com (10.18.125.36) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Jan 2018 02:02:18 -0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.159]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.152]) with mapi id 14.03.0319.002; Wed, 24 Jan 2018 18:02:17 +0800 From: "Xing, Beilei" To: Ori Kam CC: "dev@dpdk.org" Thread-Topic: [PATCH v2] examples/flow_filtering: add delay during updating link status Thread-Index: AQHTlPEmdN4uZHEGwkK/AQjvrZEmpaOCykfg Date: Wed, 24 Jan 2018 10:02:16 +0000 Message-ID: <94479800C636CB44BD422CB454846E0132092225@SHSMSX101.ccr.corp.intel.com> References: <1516780359-57421-1-git-send-email-beilei.xing@intel.com> <1516782880-59883-1-git-send-email-beilei.xing@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2] examples/flow_filtering: add delay during updating link status X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Jan 2018 10:02:21 -0000 > -----Original Message----- > From: Ori Kam [mailto:orika@mellanox.com] > Sent: Wednesday, January 24, 2018 4:56 PM > To: Xing, Beilei > Cc: dev@dpdk.org > Subject: RE: [PATCH v2] examples/flow_filtering: add delay during updatin= g > link status >=20 > Hi >=20 >=20 > > -----Original Message----- > > From: Beilei Xing [mailto:beilei.xing@intel.com] > > Sent: Wednesday, January 24, 2018 10:35 AM > > To: Ori Kam > > Cc: dev@dpdk.org > > Subject: [PATCH v2] examples/flow_filtering: add delay during updating > > link status > > > > Add up to 9s delay for getting link status to make sure NIC updates > > link status successfully, just like other applications such as testpmd = and > l2fwd. > > > > Signed-off-by: Beilei Xing > > --- > > > > v2 changes: > > - Add rte_delay_ms(CHECK_INTERVAL) which is missed in v1. > > > > examples/flow_filtering/main.c | 13 ++++++++++++- > > 1 file changed, 12 insertions(+), 1 deletion(-) > > > > diff --git a/examples/flow_filtering/main.c > > b/examples/flow_filtering/main.c index 4a07b63..85d5727 100644 > > --- a/examples/flow_filtering/main.c > > +++ b/examples/flow_filtering/main.c > > @@ -55,6 +55,7 @@ > > #include > > #include > > #include > > +#include > > > > static volatile bool force_quit; > > > > @@ -119,13 +120,23 @@ main_loop(void) > > rte_eth_dev_close(port_id); > > } > > > > +#define CHECK_INTERVAL 1000 /* 100ms */ > > +#define MAX_REPEAT_TIME 90 /* 9s (90 * 100ms) in total */ >=20 > I know that in other examples there is use of MAX_REPEAT_TIME but don't > you think the name is incorrect, It should be called: > MAX_REPEAT_TIMES or MAX_REPEAT_COUNT? > Since it doesn't represent time but iterations. > What do you think? >=20 Make sense, looks like MAX_REPEAT_TIMES should be more accurate than MAX_RE= PEAT_TIME. Will update in next version. > > + > > static void > > assert_link_status(void) > > { > > struct rte_eth_link link; > > + uint8_t rep_cnt =3D MAX_REPEAT_TIME; > > > > memset(&link, 0, sizeof(link)); > > - rte_eth_link_get(port_id, &link); > > + do { > > + rte_eth_link_get(port_id, &link); > > + if (link.link_status =3D=3D ETH_LINK_UP) > > + break; > > + rte_delay_ms(CHECK_INTERVAL); > > + } while (--rep_cnt); > > + > > if (link.link_status =3D=3D ETH_LINK_DOWN) > > rte_exit(EXIT_FAILURE, ":: error: link is still down\n"); } > > -- > > 2.5.5