From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7C482A0564; Sat, 7 Mar 2020 02:14:50 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B89A92BA8; Sat, 7 Mar 2020 02:14:49 +0100 (CET) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00080.outbound.protection.outlook.com [40.107.0.80]) by dpdk.org (Postfix) with ESMTP id CD510FEB for ; Sat, 7 Mar 2020 02:14:47 +0100 (CET) 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=+F/th+BF4G9t1pYZKCdagpUkatkV8qOz1YbsNq58DGs=; b=R2uabEgOnCBnRuA/yuiv6qtYAC7/CDQgoPRgcW6jf3xkQyFB4HQBLxuWi7cJ5zjiNNOOUnwuCx8QdTAFsPUj+Cl7zmYLGUgfegFqNexEW3wwgBrAdJqYaFQzM5TuaJaztnEVIApuRIJYUeQVu1pqmGbBBwyXncI8djNRQUyEows= Received: from DB6PR0601CA0007.eurprd06.prod.outlook.com (2603:10a6:4:7b::17) by AM0PR08MB3155.eurprd08.prod.outlook.com (2603:10a6:208:56::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.19; Sat, 7 Mar 2020 01:14:45 +0000 Received: from DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:7b:cafe::ac) by DB6PR0601CA0007.outlook.office365.com (2603:10a6:4:7b::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.14 via Frontend Transport; Sat, 7 Mar 2020 01:14:45 +0000 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=bestguesspass 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 DB5EUR03FT036.mail.protection.outlook.com (10.152.20.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.11 via Frontend Transport; Sat, 7 Mar 2020 01:14:45 +0000 Received: ("Tessian outbound da94dc68d1bb:v42"); Sat, 07 Mar 2020 01:14:45 +0000 X-CR-MTA-TID: 64aa7808 Received: from d967cc7456e6.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 83A4E6EE-FD02-4579-A3B0-5F9B7AB2008B.1; Sat, 07 Mar 2020 01:14:40 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d967cc7456e6.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Sat, 07 Mar 2020 01:14:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IGolLyah86OMu/YKlj6zPCYufQsYVYWNijc8hn4hJQIDFgqNWXHSsrjmehdCS1hAWeMfBi+Da4J/4a7BoDteIqiIOnZHDf7IP2YceHYtbtD8WcuMKtaL5WZvC0J+C6/l4Q9+s+/Wa9uRJZYEP+lfPkL5dlR6IVERHXy48JWIKzaBk6HhwB2GsS1TSHCV/lmwss2YrOHifC4KKfqvl2sVdPz2V8+gXfJUjRQbHRiij3shR/u5txYTuXKPRMZvqEhj7CevmDQ7klkGlHGvK3qOAty4gXvBCiwIFb8eLnBcScVPgrRmXKnTvpYPU3rLlsKngs1MwmlQ43ldiWu567LHEQ== 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=+F/th+BF4G9t1pYZKCdagpUkatkV8qOz1YbsNq58DGs=; b=dzpVl9NAJNEEQk21I3dyf0WoATpq+rETQFKjvba2XmTuxKPKt+zChBdeV1Pn4Atsy8FlYrfAzWsLnQZt5hXJNbVwlaPP+xpiijcRjGCuyqLgTQ7qrG3l/BxnzUm0EH/IHsgKk3wdGb9BmmLTLt1fm1UTkHUCyouSvRdd4XRhyy2482XRUMa5rE/XC+PX8ZSICt7RXd5EzKtmm+qAGys0UmFko0z/sbZfNPBuC7tIyh/mwCTrXib0QdgEkDfCjhsI0XzlfJduK2f7zNvjYxEjQmzHEQmZxXt54313O1Rg3Zew2OqZal8wghU6Sy2sk8FMbl9fqy/3EDvUQ2vQsYMPNA== 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=+F/th+BF4G9t1pYZKCdagpUkatkV8qOz1YbsNq58DGs=; b=R2uabEgOnCBnRuA/yuiv6qtYAC7/CDQgoPRgcW6jf3xkQyFB4HQBLxuWi7cJ5zjiNNOOUnwuCx8QdTAFsPUj+Cl7zmYLGUgfegFqNexEW3wwgBrAdJqYaFQzM5TuaJaztnEVIApuRIJYUeQVu1pqmGbBBwyXncI8djNRQUyEows= Received: from VE1PR08MB5149.eurprd08.prod.outlook.com (20.179.30.27) by VE1PR08MB4816.eurprd08.prod.outlook.com (10.255.112.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.18; Sat, 7 Mar 2020 01:14:38 +0000 Received: from VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::29eb:a1be:8f8f:fae2]) by VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::29eb:a1be:8f8f:fae2%7]) with mapi id 15.20.2750.028; Sat, 7 Mar 2020 01:14:38 +0000 From: Honnappa Nagarahalli To: "Van Haaren, Harry" CC: "dev@dpdk.org" , Phil Yang , Gavin Hu , nd , nd Thread-Topic: Questions on service core feature implementation Thread-Index: AdX0FYNEgdKQmrv+TaKE0Ss7kzbiUw== Date: Sat, 7 Mar 2020 01:14:38 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 4a73b5ea-ffd1-44d2-9ea0-3fa0ff52c1b7.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; x-originating-ip: [217.140.111.135] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 30284de1-61e1-4464-a387-08d7c234ec33 X-MS-TrafficTypeDiagnostic: VE1PR08MB4816:|VE1PR08MB4816:|AM0PR08MB3155: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:2887;OLM:2887; x-forefront-prvs: 03355EE97E X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(376002)(136003)(366004)(346002)(396003)(39860400002)(199004)(189003)(54906003)(8936002)(81156014)(316002)(33656002)(71200400001)(81166006)(8676002)(6916009)(76116006)(66946007)(9686003)(4326008)(55016002)(66556008)(52536014)(66476007)(66446008)(7696005)(64756008)(5660300002)(186003)(2906002)(6506007)(86362001)(478600001)(26005); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4816; H:VE1PR08MB5149.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: x6V5+PKu5FM2W2NvZnHUlqCJ/NqJxS7KZM7eAEpK6S9/zUNF0qMXI9jJCRmlpH/8YQaD6H0ubZ+MKEN5S0lMmh7IlZgdk2aHMN59uTXW/xfuJFI390aJXiGMqaVEGzSG6+EdAQPgFZKnhagxnjKkbA1Hr+KnvU9mpzwlA13li3rh2dDnE6QUBsyCj1FJYd5w9VIGxhZa0+CNpmhlz+5yldqrCspF9xC/u60SfpdDTA3MFXBL6GgO6/l8nsLB6uLxUVGipmupy9vRL3Dj1z0KnlarwgJoWKVRyNOifBaAY163Df35ZElr/FljDblPdJCHt/ciVi5j3MCZo8I4M1TzzTxFYIbrxMN+ZDHWb6+PnGcJIQlEdEqF7/qDI85Q6klGB5vWDzdO6LWMvCIKBvKTL1qNhE2wus3Q7EPArIQ3F2SKyAJo7uyrQ+nOR7ptezD4 x-ms-exchange-antispam-messagedata: b0cCBohDYy9G7icv3ZqblnQheurHPeqqHPH94yAWV9v6xoXrUk/ot1laDGwlEvExi/687VtpZ5NMTZYGeTQwPJgteFZw0O6mqyrkpzPZe25p9vKSr2jSTzAH+Lb6Rg6w2YtzW4uWLryABnQwbgd3GA== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4816 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(136003)(39860400002)(346002)(396003)(376002)(189003)(199004)(8936002)(478600001)(70206006)(186003)(7696005)(33656002)(70586007)(52536014)(336012)(5660300002)(81156014)(26005)(8676002)(54906003)(86362001)(81166006)(6862004)(9686003)(55016002)(6506007)(4326008)(356004)(26826003)(316002)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR08MB3155; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Pass; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; MX:1; A:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: fac1c9b5-6477-4e37-efd3-08d7c234e858 X-Forefront-PRVS: 03355EE97E X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7cSlxUJcUkQkYEhMg9BZUxDyX+J6eHpiwsRk22cKNsSNxmEfVlh+P7cNez9HYCMDINx1xoe0UbIAsd6QTzw0NuGvUsi5wwJtCUdZ3MxXn5x4eMhnRFtN1VpAWOu7h3i2xa6QXk/Qtx0+iWtW6O2jmcGRYrxpHDbeAJdiv8mrVd27V48GG1Qobkc92U+TiQnS9DXFI7+LNI8JicqszYyiyrPQBzJJWBRpFIrGb1NO97q9ZkKg7MuaLHIwk8G0ej6CsFseaE3LbRnPmaRtHMfwxzovIvJNfA9OOAazeFnzB/JVQu6DG2wYpGcJf+oGGO3Ok8TXtI53F/P9SqaaNRGgeVP7+sQU0BNj4kTAZx+SAs/54sIhROF2bTkT0mgnaYAp40jOpxNqrN/q90EMYzGiyx8bWYtNRJLIBcoHvj4J8k9zyGfrj5RtZ+YYFWok/yUL X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2020 01:14:45.3039 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 30284de1-61e1-4464-a387-08d7c234ec33 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-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3155 Subject: [dpdk-dev] Questions on service core feature implementation 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Harry, I have few observations on service core feature implementation. I believe it is allowed to map/unmap a lcore to service while the service i= s running (i.e. not just during initialization stage). Please clarify other= wise. Assuming yes - In the 'service_run' function, the code to detect use of atomics seems to r= esult in allowing the mt-unsafe service to run on multiple cores. Looking a= t the following code: 1 const int use_atomics =3D (service_mt_safe(s) =3D=3D 0) && 2 (rte_atomic32_read(&s->num_mapped_cores) > 1); 3 if (use_atomics) { 4 if (!rte_atomic32_cmpset((uint32_t *)&s->execute_lock, 0, = 1)) 5 return -EBUSY; 6 7 rte_service_runner_do_callback(s, cs, i); 8 rte_atomic32_clear(&s->execute_lock); 9 } else 10 rte_service_runner_do_callback(s, cs, i); Let us say, on core1, after line 4, 'use_atomics' is set to 0. core1 is run= ning the service function. On the control plane let us say 'rte_service_map_lcore_set' is called to ma= p the service to an additional core, core2. Now, on core2, after line 4, 'use_atomics' is set to 1. But since core1 did= not take execute_lock, core2 will take the lock and starts running the ser= vice function. This should not be allowed since the service is a mt-unsafe = service. Please let me know if my assessment is correct. A possible solution is to take the execute_lock all the time. Thank you, Honnappa