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 298FBA034F; Tue, 30 Mar 2021 04:54:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CBB43140F40; Tue, 30 Mar 2021 04:54:33 +0200 (CEST) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30071.outbound.protection.outlook.com [40.107.3.71]) by mails.dpdk.org (Postfix) with ESMTP id C7A5D406B4 for ; Tue, 30 Mar 2021 04:54:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cs5hNDpkSTHvcSVWJxMtZ8CQajlJnmeAso9UryAFJh4=; b=0lVXLVYuRm+tAiIGRXwbC2NGP0oN+pHY8G3mJE4SbgH6+BoVSski1LuLIrJhdN+uj+0MPHBSX2bloJVukWAvMWIv/Tnt53866zD1DuTqPia6cv1d/hIarZrm7LVLNuzSWSRBgT+cTslyaJnZyBYNWzUF8LgrMqd7D44HwyJiamc= Received: from AM6P194CA0097.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:8f::38) by PR3PR08MB5562.eurprd08.prod.outlook.com (2603:10a6:102:85::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.24; Tue, 30 Mar 2021 02:54:29 +0000 Received: from AM5EUR03FT005.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8f:cafe::f8) by AM6P194CA0097.outlook.office365.com (2603:10a6:209:8f::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.25 via Frontend Transport; Tue, 30 Mar 2021 02:54:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT005.mail.protection.outlook.com (10.152.16.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.25 via Frontend Transport; Tue, 30 Mar 2021 02:54:28 +0000 Received: ("Tessian outbound 24fdfdedd45c:v89"); Tue, 30 Mar 2021 02:54:28 +0000 X-CR-MTA-TID: 64aa7808 Received: from 32b199675b51.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 3A7913F7-E05B-4883-BCA1-227CCABF2F0C.1; Tue, 30 Mar 2021 02:54:21 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 32b199675b51.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 30 Mar 2021 02:54:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JMSVIpRJ5OgWCoY2Ku5214NjdVJm7eFGyYAHSghk0rEx2LO03xtdnPFj/Rhz4igpFy+BssDHVEfn9+PtZhGC9PUr6E4XTGL0IZVpMRge4Uvqc/xLunnv04NXULW8bsoc6vp64paSHcijr1UHMV1z2P+ixBUsR3DgLn/hafwfzL+iTuXpIVNaTEBm3ck6NHzNEr1GfysmIz3Vk7p92NKCz9/SwlmRhUjJNzCKuKcMSwynEgeshBWyG6wDspON7ZUAKvmZrkg9lpEZbKlJhHubWvhAXYEkjXNfxHOwTA1TKeZ8LDoDWdLGoQh0GhyPL+C23R9Zu+Q+Rq5iVe6BhvuLsQ== 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=cs5hNDpkSTHvcSVWJxMtZ8CQajlJnmeAso9UryAFJh4=; b=GyslNm5G09K9uGNHxxXaMJtXdcjv7hw8SnheVmGur3hBPkgtAFooDr1EXAB8z73I3qT34Bh/zWCtgd65RHwklVrQhOPFsgQTFGUrHcc7yogFRz7LGAm5mmLxs+5pJRRTWOktxz5H7T0MGmT+8RfPfrgXd5wg6jid2voNR6jeB59pyOJxoPIpPr4rvuVRNWI9g8wRWTX08ogjeMW/UHIRD7rvSBGYPYbNg56v6c1QeEm0gfhZiQlchEUxHneK9HttpEmRnhovYHXqqwwC1zhlPb5LejayTctSmMtkakBqostW5Rfl1PjpAKvb4dZtNYnA8jZsIOdL6Gcqk1zdTw0jlg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cs5hNDpkSTHvcSVWJxMtZ8CQajlJnmeAso9UryAFJh4=; b=0lVXLVYuRm+tAiIGRXwbC2NGP0oN+pHY8G3mJE4SbgH6+BoVSski1LuLIrJhdN+uj+0MPHBSX2bloJVukWAvMWIv/Tnt53866zD1DuTqPia6cv1d/hIarZrm7LVLNuzSWSRBgT+cTslyaJnZyBYNWzUF8LgrMqd7D44HwyJiamc= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by DB9PR08MB6682.eurprd08.prod.outlook.com (2603:10a6:10:2a2::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.29; Tue, 30 Mar 2021 02:54:20 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::2994:a01e:2de:f94e]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::2994:a01e:2de:f94e%7]) with mapi id 15.20.3977.033; Tue, 30 Mar 2021 02:54:20 +0000 From: Honnappa Nagarahalli To: "Ananyev, Konstantin" , "thomas@monjalon.net" , Feifei Wang , "david.marchand@redhat.com" CC: "hemant.agrawal@nxp.com" , "Nipun.gupta@nxp.com" , "jerinj@marvell.com" , "Van Haaren, Harry" , "Richardson, Bruce" , "dmitry.kozliuk@gmail.com" , "navasile@linux.microsoft.com" , "dmitrym@microsoft.com" , "Kadam, Pallavi" , "dev@dpdk.org" , Ruifeng Wang , nd , Honnappa Nagarahalli , nd Thread-Topic: [RFC 3/5] eal: lcore state FINISHED is not required Thread-Index: AQHXCvL6fsXhExvHBE+iVSlZJam1PKpofqqwgAAAyECAAGZ6YIABNlMAgAXsayCAG2zkgIAQkM5g Date: Tue, 30 Mar 2021 02:54:19 +0000 Message-ID: References: <20210224212018.17576-1-honnappa.nagarahalli@arm.com> <36690444.8nk3bCcZ7h@thomas> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 17B61D9C8C2C9C40947AE8C962D17D39.0 x-checkrecipientchecked: true Authentication-Results-Original: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [70.113.13.105] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 58b9548a-26db-4a1b-4278-08d8f32722e8 x-ms-traffictypediagnostic: DB9PR08MB6682:|PR3PR08MB5562: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: C+ZwsGWs1Oy4i5YY9bT12jH8nObMXn6tSXcIYM8V6BC3kogMcu9Hih83blqpLPVAyk99XDRCP1LckEwsxNvAIfDXSdjgZQA+bmYSHd29f+BBTQgOYAcCEcJpHm3LDdCMbeXzr1anzSRv8GyCbugkxD3p7mndpN272UAf4S54dLQh4FqrT+5lkPfAbvzws78o43LufUD1ST/eAlCIXcmXDeQuqlezENc4XE0q8JO4M9wefAqIq9PCYQQXR6V+/aUO0no4iJhBJOOrPDh6J2EKJF15hRapmvtVMXAWXf1o6wDh1/rMHq2gGSn9dH1z2A2GXmUbkA+jPQCfFwTFMITeCmvQv832JqSbQ2M5KOB7u9V1zMsAlfw3VLK/Gu3C821rocdVmLvoMuNOqBPoPkZ4LkRQtmWlV3ACWhJY1q5YTaF8mAh3/H8a7BjJ3DmFQOWhQr3+5boCfwCZuMkw2Tvc/NH1L3R+lN9CKmwz0pEMRoJa+dBwWFQUe/0VLiuP9EWQ7EgRqutL+WxoDTHS7nOymK336fJqepjaz9JDfQoyjmj/fQd0dSWjDhEscjTIm1F+KyXdO4LLAri7RKkbP19FQFwukbD3m5OTEswF0+CXUNB0INoByJZZRCZfFbd8FFBvkAAxQr8DBZnaoxxDQ69FUVW89vsmKj/Ao3Qvm7f5Jr4= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39860400002)(136003)(366004)(396003)(346002)(7416002)(83380400001)(38100700001)(9686003)(54906003)(2906002)(71200400001)(76116006)(110136005)(7696005)(8936002)(4326008)(8676002)(66476007)(66556008)(64756008)(5660300002)(6506007)(52536014)(66446008)(55016002)(478600001)(66946007)(86362001)(33656002)(186003)(316002)(26005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?5BeLdm84dZZDIWOiOjlH/3zanfp6+XMl1hF3Bqd6paGkQkp91Uq56ON8jF7E?= =?us-ascii?Q?ylr+jlYLi3m3fUPgVJe9QQflVt2Gg4mBUAweAiK3dCjtXucvammV9dwmQ1wr?= =?us-ascii?Q?vTEjhKz/5/TPVDIx+vpjOP3WaZziD/KWVTuc7LYaVNaYPsK9yYd8aXYg68jX?= =?us-ascii?Q?knRnvO52JFDLHV4nIS3hOY//Qrsp20RIoEjSNn9wIig5E+AoeNJGLhmKbj5z?= =?us-ascii?Q?UpinsTah7J8KVD12ttvWjqHbo1Q3KRymtsxFpbPnvS5RB0ORjAA6grZ30QT8?= =?us-ascii?Q?ZYBX59EPMHlabOWggu/GLc4gnPIVcrFfF+CWOa6ZTug8zmjI6wcg1l2xbpU8?= =?us-ascii?Q?BEy+ALIwc/Y5VR+R9aYkSJHKZ8h1dIidOF6m0PBW+JBcsmvmWwKtE8RBA+rf?= =?us-ascii?Q?VkZk62OVjvPuN1OyNw8YJvgjc4qo2b5hTLlnMPnutLsHxnKdRmJjG3gGYILD?= =?us-ascii?Q?AEVtnDcoEfc41U0m7afMtROGlsDaGnZM7rhu1DSYawprzL65sbI21UZmcudp?= =?us-ascii?Q?saGRNbtwfqdO2Jk3Z02sjP/6uxycO1ehByra2sqpznx0Vilwxo7kXWPzwuET?= =?us-ascii?Q?8IBUi5zdJ7zshfhKy3NdbVooNMPj2LK6sNqVkXkuqpaWt55Tv9BSrtJeLdjF?= =?us-ascii?Q?hY95QCYXgAIl04J0jzXqGRPHjsUNpGpxvOWg16yunlYM/scFUgIKab7i7EU9?= =?us-ascii?Q?W0ttW2DGRq/QkL7SvMtL2fV+guTbx/j4iX+akIbY3EpwyoIJWI71LeODukml?= =?us-ascii?Q?Bvx67yX0UTngsuNlpw89GYk/ySKrXBAnXhHu64VNRvv4b/XgcZLEsKCp4xuj?= =?us-ascii?Q?YaEPCbRnNfBWUwv8oYtTTvcLfCU47VHomhJkuwWDyrvnLQQ6BAcQCaEzisma?= =?us-ascii?Q?tjQpyARclQPzkdEhEDb2DkU6dVO5j92fJO2coDYUZNvKhjU9uWk0zwy3eJp4?= =?us-ascii?Q?W3c7TsQOPo86DNil6QNnezFf0mp1bwTzWnGVE6mhyh3MnVsv0534Aw8a4eci?= =?us-ascii?Q?PNxG63BwAHr9+VB0Q764rTriMBV9mUvaAAFqcQBkpl35gkfaiXtriZe0eSLi?= =?us-ascii?Q?IUrtO9vpu+nboJ2maYBz/qLw3ljX/7tAFc1lheDd403IF5FfaWI8ryWWj3bZ?= =?us-ascii?Q?N2tBji/zMPapYAK5wb+Ge6lwp8E9aUSqhiehz2vXLgA78zyslLTypWqUGinM?= =?us-ascii?Q?/2oHSDdBgj7KAFiDx0E/oNw7N2oGZR1/r+z0o41BeO9AwE6TXz2/hvsVaxOI?= =?us-ascii?Q?+kK1M9nt02lPznkJgq8iknfe2m604mWMl7P89nzRNO8R906jdWGOT9PE7xhI?= =?us-ascii?Q?xvNyec44Z4qer8oCOk2AxnXv?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6682 Original-Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT005.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: da664fa0-6b73-4901-0493-08d8f3271dbd X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cb8qVqD5Wto5LnsssDMzqbBNJsABnB5YqC6UvGQ+zf1wyUTcqiwAnqVr2+Q36anj00J5VbuYLIrdLilwC2PJT9VuKeHDnVrzcsEtECmDg30gaUflZ7Bq28m6wL9TiA1BDLlZE5wuvPBIQcTfHE92QaBpMaAjt+HxBC0YXm9/LLFGhw61N1uF9jZQlArYdBiyQTHuQBNS8yMUjlLR20wHpJD1ZNEX0Z4slsB6WHyrbX0q/DLPFmyb8OQvvkvnnPU7zXm1/+ohXVetLqEi3RvJhFxZLekKMGnCOcIXqCqUVrTIQ3/9H8utVPRZV5lx14l+GDS7Ue+TocNh338B3ujRyij9GumKS2nUy7KRgK+Ns/DPHdynpxOcfw/lZr6c8Y7Ha3eaniCxkfTOjg8BI5yP0CMwrzIJiZtobecd+8Lrb94DX30E6r5KTA9s2XeqvIY5JE82pqjVXnDKzqyvldr6TdHSBFCqyino9gd9O9AiS6BqeR60D7iPOP9z6Jfdm10K+Z8UpNpunK03hSOIKNIx5YzEEASxB1kV1tjHKYCr1Mz+ubcYULxMEsZrXHOXQEVhqp1I8LNvjNYSzdSV6o37Jdd6rKFQbUAbAYyN5hdkjp4QkC480FmQCH41o3O94E4FzxRYys1TL8XmR6SSWMUac0XO/hBhBLYGyGbRGWF6tog= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(136003)(376002)(39860400002)(346002)(396003)(36840700001)(46966006)(52536014)(82740400003)(47076005)(54906003)(316002)(33656002)(81166007)(70586007)(8936002)(5660300002)(356005)(110136005)(4326008)(186003)(9686003)(478600001)(83380400001)(82310400003)(86362001)(55016002)(6506007)(2906002)(36860700001)(26005)(336012)(8676002)(7696005)(70206006); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2021 02:54:28.7067 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 58b9548a-26db-4a1b-4278-08d8f32722e8 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT005.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5562 Subject: Re: [dpdk-dev] [RFC 3/5] eal: lcore state FINISHED is not required X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" >=20 > Hi everyone, Thanks Konstantin for the review. >=20 > > > > > > > > > > > > > > Subject: [RFC 3/5] eal: lcore state FINISHED is not required > > > > > > > > > > > > FINISHED state seems to be used to indicate that the worker's > > > > > > update of the 'state' is not visible to other threads. There > > > > > > seems to be no requirement to have such a state. > > > > > > > > > > I am not sure "FINISHED" is necessary to be removed, and I > > > > > propose some of my profiles for discussion. > > > > > There are three states for lcore now: > > > > > "WAIT": indicate lcore can start working > > > > > "RUNNING": indicate lcore is working > > > > > "FINISHED": indicate lcore has finished its working and wait to > > > > > be reset > > > > If you look at the definitions of "WAIT" and "FINISHED" states, > > > > they look > > > similar, except for "wait to be reset" in "FINISHED" state . The > > > code really does not do anything to reset the lcore. It just changes = the > state to "WAIT". >=20 >=20 > I agree that 3 states here seems excessive. > Just 2 (RUNNING/IDLE) seems enough. > Though we can't just remove FINISHED here - it will be an Abi breakage. > Might be deprecate FINISHED now and remove in 21.11. Agree, will add a new patch to deprecate the FINISHED state. Also, does the= deprecation notice need to go into 20.08 release notes? >=20 > Also need to decide what rte_eal_wait_lcore() should return in that case? > Always zero, or always status of last function called? I am not sure why ' rte_eal_wait_lcore' has the following code: if (lcore_config[worker_id].state =3D=3D WAIT) return 0; This indicates that the caller has called 'rte_eal_wait_lcore' function ear= lier. May be there is a use case where there are multiple threads waiting f= or the lcores to complete? Anyway, IMO, returning the status of the last function always is better for= this API. >=20 > > > > > > > > > > > > > > From the description above, we can find "FINISHED" is different > > > > > from "WAIT", it can shows that lcore has done the work and finish= ed > it. > > > > > Thus, if we remove "FINISHED", maybe we will not know whether > > > > > the lcore finishes its work or just doesn't start, because this > > > > > two state has the > > > same tag "WAIT". > > > > Looking at "eal_thread_loop", the worker thread sets the state to > "RUNNING" > > > before sending the ack back to main core. After that it is > > > guaranteed that the worker will run the assigned function. Only case > > > where it will not run the assigned function is when the 'write' > > > syscall fails, in which case it results in a panic. > > > > > > Quick note: it should not panic. > > > We must find a way to return an error without crashing the whole > > > application. > > The syscalls are being used to communicate the status back to the main > thread. If they fail, it is not possible to communicate the status. > > May be it is better to panic. > > We could change the implementation using shared variables, but it > > would require polling the memory. May be the syscalls are being used to > avoid polling. However, this polling would happen during init time (or si= milar) > for a short duration. >=20 > AFAIK we use read and write not for status communication, but sort of > sleep/ack point. > Though I agree if we can't do read/write from the system pipe then > something is totally wrong, and probably there is no much point to contin= ue. >=20 > > > > > > > > > > > Furthermore, consider such a scenario: > > > > > Core 1 need to monitor Core 2 state, if Core 2 finishes one > > > > > task, Core 1 can start its working. > > > > > However, if there is only one tag "WAIT", Core 1 maybe start > > > > > its work at the wrong time, when Core 2 still does not start its > > > > > task at state > > > "WAIT". > > > > > This is just my guess, and at present, there is no similar > > > > > application scenario in dpdk. > > > > To be able to do this effectively, core 1 needs to observe the > > > > state change > > > from WAIT->RUNNING->FINISHED. This requires that core 1 should be > > > calling rte_eal_remote_launch and rte_eal_wait_lcore functions. It > > > is not possible to observe this state transition from a 3rd core > > > (for ex: a worker might go from > > > RUNNING->FINISHED->WAIT->RUNNING which a 3rd core might not be > able > > > RUNNING->FINISHED->WAIT->to > > > observe). > > > > > > > > > > > > > > On the other hand, if we decide to remove "FINISHED", please > > > > > consider the following files: > > > > > 1. lib/librte_eal/linux/eal_thread.c: line 31 > > > > > lib/librte_eal/windows/eal_thread.c: line 22 > > > > > lib/librte_eal/freebsd/eal_thread.c: line 31 > > > > I have looked at these lines, they do not capture "why" FINISHED > > > > state is > > > required. > > > > > > > > 2. > > > > > lib/librte_eal/include/rte_launch.h: line 24, 44, 121, 123, 131 3= . > > > > > examples/l2fwd- > > > > > keepalive/main.c: line 510 > > > > > rte_eal_wait_lcore(id_core) can be removed. Because the core > > > > > state has been checked as "WAIT", this is a redundant operation > > > > > >