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 520FDA034F; Tue, 11 Jan 2022 14:46:40 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 385E842717; Tue, 11 Jan 2022 14:46:40 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 19E8D4270E for ; Tue, 11 Jan 2022 14:46:37 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1641908798; x=1673444798; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=12Ta+lEL0f6QgXSI5SkMWuyCKx92HaGv1vmAYYXwyzM=; b=caLTiFDYDj5a8oHOKTmaP0SI+/x9IWRJvvUHPIWClLPOqnt9ZnmYqm0e 8dFZq9KWv/GkjFvLiUN2nXkn6capTNJkTU7XqdukqOFfON3AgOwDO/FZh seuhBYeRFqqm2nEL28D+CIezJPl65BoGoxdYL4NwEvqzGmThaC7LJGVj/ RAZWyY9fI0B4v/7iGvotTcXokuXervkpY6NDpS8R2LHYaFWNGaArxvAFz Tn0kwyeDbwa7yLSps9aT+/qhq+fxmmyVL6JKTwb8cuJOxB95sj7Dirxwn iAxAeAnfvboy25Sen9QgHVe9wg7LDL24nvj3d3V72X+ETDF8Crvf237f4 A==; X-IronPort-AV: E=McAfee;i="6200,9189,10223"; a="224182231" X-IronPort-AV: E=Sophos;i="5.88,279,1635231600"; d="scan'208";a="224182231" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jan 2022 05:46:36 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,279,1635231600"; d="scan'208";a="613219941" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by FMSMGA003.fm.intel.com with ESMTP; 11 Jan 2022 05:46:36 -0800 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Tue, 11 Jan 2022 05:46:35 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Tue, 11 Jan 2022 05:46:35 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Tue, 11 Jan 2022 05:46:35 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OjyXm3Me0JY8E5jql7g7lNlu7vHPbeGaQ1dSfvrsOV5D52jXQVi7xwUY56IUqkoyvvhbiyUaxPth0DVOoqXMNerNK+KkmZ6Zb9SOpaA6xt3hJEYx+mW6MRuggGqp1zRx4Dqd1D2AXl65whFYr1BokhMrW+XNVdsPjeNxuMCuUkv60F48sH5wDQCkrbtJQl+oVhje+TXWDZ6eELrBBIR/N19fcdmBKO88yup+g44+AQLg9bB/0msgBLl4zHgXlqjXN1N65ihj9846fEeX4RulDMMu8C4KHUt7DOEg/cq07SV97iyLnxMRQJPbL73mC/eGECCsG+4sXHlNdkbUVy/0HA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jpRkyEojW8weaLqaGuldzZvP3pyInrJgfq9MJx2atnc=; b=IQ4juVxoU+D4qRG//1bUiPTOUHztOG3kkHWMEZrfIMXa92joBvdU6EOB+juBIPxzf2mK+cWR3JC9+zQzhHT7sw3n3zaUcy0aNgiTbxPYvcUIYiXIVuVDYIplZiezwkqDX+FGCBb2zM9HFfVuAC0tFnMsqU8Rkp7g0WlJrbxogIJQU2/IKGTmZnUX9Ey4jklGb9dyD2gSOx51XdpCw8ETnlhxoudMuNrNhu+rQH72TT6anB5rwVOjSP3auYT3hj2WEtUp53qdwMMFgGWsvm8yId8gibXgE9a65fGBSl++xWkK8psrFiNj4yFGiEarwDhv1RH177ZASxLQU5UKoMMw/g== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) by PH0PR11MB4807.namprd11.prod.outlook.com (2603:10b6:510:3a::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Tue, 11 Jan 2022 13:46:34 +0000 Received: from PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::5046:8550:928d:850e]) by PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::5046:8550:928d:850e%7]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022 13:46:34 +0000 Message-ID: Date: Tue, 11 Jan 2022 13:46:26 +0000 Subject: Re: [EXT] Re: [PATCH] common/cnxk: use cas with release semantics for batch alloc Content-Language: en-US To: Ashwin Sekhar Thalakalath Kottilveetil , "dev@dpdk.org" , Honnappa Nagarahalli , "Ruifeng Wang (Arm Technology China)" CC: Nithin Kumar Dabilpuram , "Jerin Jacob Kollanukkaran" , Sunil Kumar Kori , Satha Koteswara Rao Kottidi , "Pavan Nikhilesh Bhagavatula" , Kiran Kumar Kokkilagadda , Satheesh Paul , "Anoob Joseph" , Akhil Goyal References: <20211130054527.2696881-1-asekhar@marvell.com> <2f82681c-e615-8e3b-4548-58bcffc0ec8e@intel.com> From: Ferruh Yigit X-User: ferruhy In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LNXP265CA0079.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::19) To PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a58f903a-66bc-4f62-2876-08d9d508c7d4 X-MS-TrafficTypeDiagnostic: PH0PR11MB4807:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YpzVwOcj655QAOYO+barJFAoMz+/kOsF+/E5S8XcY/KnWLYH/toQlnbGim6wty/DVG4maYEhms7tq/EdiBW8ijGM00qzp9+xudNylJyw9TSYQ/drS7rwxyyXrV03rG5PFclHrYIMyAloNAKeQamxAzCn8LwKm5KSmU9O9NfBN/10wtQYLoIHBQGO6Qy87gRFk/Sm8cJxpji4xOzovKz4JqGxeE2cv4c/mfFLqd5bufH5KTxRWakfxfUMQE1AyDqcxlfW6n0aWb5vgdkwDYQUYbZKP3RZj+3NlDWHqqj2BYYuEw6hB2oiHks22XV2utY2SDknLOThmmVvlqXy3yseA8weCKk3v5H2+lVtkQlzWZnOf26ylhFp6dKzLFKX7G50vGcXzGy/Vp2+PK11XY7CttUWVzdUtgYhjOYO78onRBMfapPB4cSr6keZO6B1wzezEV0dp4nJiGyY8q+0SNJ/3s4V+kPHut9s94wKgXKFGFdTnq50MbDgjX+SRXT9B2rB/Ugod7WYQuHK4D3ZlB/55ktBypM6ymtTDR25ChZMkpQ2vh59uzZRv/kERU8ocBsveo1zVt4sqMCHNBSS3ef7S7K0ufzi3J71Ve1a2xl7q6dQWzkYQQAUH1l6ho4aHz4VDFTlUfehwXYEnPY69ec7HlCfmqcy38IyIWzzWePtUl/Lg8xmewfPQ4UtfAXSoFcJCSFPwFrowad+cMtCYuRxXA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5000.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(86362001)(6666004)(31696002)(6506007)(4326008)(26005)(316002)(83380400001)(7416002)(186003)(53546011)(5660300002)(82960400001)(54906003)(8676002)(8936002)(110136005)(2906002)(6512007)(66556008)(508600001)(66476007)(6486002)(44832011)(36756003)(31686004)(38100700002)(66946007)(2616005)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cUkyTHR1cS85WGVsK1hrWDRMNmtqb1FYenU5L2Ftd2t2UVp1TWU2eVJNTlh3?= =?utf-8?B?Z29WQ2NDUGRQNmdCKy9rK2s5akZtMTBPSEVQeGpvR0cwZWpWajlRaWp6YTJa?= =?utf-8?B?NDZPaTBSb2cvQ21oMllmdjV5cTBqajNqUDFJK3k1bzhTRlVhUU5ickVDVWFT?= =?utf-8?B?UWJlWWFtOTM5TE9zRlQ4RlFVU0crQ200YlZZV25QVDJVNEd1WExNV0NmUmtl?= =?utf-8?B?azl4c1dlbFFIbHUzYXVuNlBjajFsUFRpNkNMY1RPbU1xM0I5WUlsNCtRbS9Y?= =?utf-8?B?Qm1KU2JlUzVXRk1nTm1ONG56OFBjbmY3OGZZWmZmd0dhSldDQkxKM3A5OUJi?= =?utf-8?B?V0kza1hNQXRFdms2em5VM2I2VlJCdFlVUUVvbFAzRkU3Qm5QNHNZdC9zaHJo?= =?utf-8?B?aXNELy83WmFscW1MQ01PalpnQWpvK1YveHpsb3lDSnRNcXZoT2FObWNKdWhE?= =?utf-8?B?NUdzYnNNeEMwSVkvSFBaV3NQR2Z5Z0x2ekR0YkVtQkdlejQwSkNsMVc5U0I3?= =?utf-8?B?OWVUR1dXYm9USTArdzZ3UUU4ZjIxTTh1ZjRNNE1BTVFBYWFybVRxWTVrWFlx?= =?utf-8?B?YnZ3ZjRLUytDYXZ3dGFTWDNyUjRMTVdxL1hoNkR1UDFZdW9mU2tsRHllVFQr?= =?utf-8?B?OE5lQXVYK1VPTDNXb2NadzRYVUJGZUVZQ1BYNVhJdHI0MnplL0JRN1RKNkFh?= =?utf-8?B?N2IrdmpmYzZzMS9IeDJGczR3TVZzSDI5TzNVaURncXo0d2k4aW5HVHBwNGww?= =?utf-8?B?RTVtNXNtcWQwQ2RRMW1tVFQycVZPVkUwcXZjU0c1NnVST1l1SVpZRzA4VFp2?= =?utf-8?B?ZURYM3ZXU2w1bW1DSTVZZ2ZKbXc2RFdSMnNaZ0pDdzQ1d0Q5cDdRdXdZWmZC?= =?utf-8?B?OVBDZ1p2NUJtUDhtYnI4NzZtc05nUVpHL2VqTEw1cU9iTVYyRXEwQzhQVGU1?= =?utf-8?B?NnJ2MDdwMk1DSkZ0SGk2Nmd0cnBBNUtVNlIvcFdhaFBiUE9UOU5xdUZLZlEx?= =?utf-8?B?TWJzdmk5MXE3TXJvN0oybkJ1QmVKNjgybDkzZVlaWW56YUN1UVB5dFZnY3BQ?= =?utf-8?B?UU1vNjFyQ1ZMbk5yL3NwS3RxSlBESkxKaThPTU4yR0l6dW1sdjhVenVOMndu?= =?utf-8?B?QjJMRHJ0aEJjb0VxVWFFSGp6eUdDQXc4b01SQU1yTC82Q1BJNmo5MGhXaVdM?= =?utf-8?B?b2I2V2VrUDFONDFKMGJDbmNWeEo1TjA1SFFZMFdrQnpOWjFzOFA1ako0eW1x?= =?utf-8?B?Rko0ZnlFQWw1REhqUmFLQTJrS0dFTXRqdFNDd3RaK1RRN3FzcFB2aStrN1Zu?= =?utf-8?B?N2RhdThrVDlhaUNjeThtK05TRWFBMm0rQlp4M0hNVVplUFJWR3MzazlMMzB4?= =?utf-8?B?SmJtN2o1allTQW1sTkxoVUpJRHdwNVlFeVk3VE8vbWNYaUpDZWorN0thWEww?= =?utf-8?B?aitWOS92Z1dpdmo4OHY3Zjg4Y2RnZGczcmFYSnFlM0kybHFLT1M1RXVJNWkv?= =?utf-8?B?aENaM1hidjhWZE9BWmZJN3Z5Zm5maGVOSWNLRTludllGR1RvYjBvcW82R0hJ?= =?utf-8?B?RDlibXZ4czJFcWI1dlVBTUhmSGE4ZnBTZk9HSlV1QS94Y1grSW55Z1k1SGJs?= =?utf-8?B?RnIzV3dZaHFXQk1ieHdIMFJlY01jcDVuQU9Ibkd3VFhPampmZys0ZGpSZFBi?= =?utf-8?B?eVJTV3NJVlBVTGgvbEwwUzR5Szl2dmY0cmNNaE4xRmNmT0RuSm1BTDlJa1Zu?= =?utf-8?B?MkdOeUhJZ3lwOVNzVDhQd0lmOE43ajFjcVRlWFQzZVBOQlU4ajgvd0gzTU1i?= =?utf-8?B?RDRBUzRrL1ZoZk5vVXU5NmN6WCt6WU43MWQrVFJXWFFxdmxCd08xUVlGZXpv?= =?utf-8?B?ckkxVUR0NlBWL0VWeW16clZ4eXhvbGNjOXFRbGN2SDVySkJ5aDlkMlRsdlFl?= =?utf-8?B?bDZINzZPazVuWXpTSFBnU1MzeklodW1XejhOWEQzTjdPLzQzUWVyTG1VTzhm?= =?utf-8?B?U0ZoUlFRaGpRMTU5OVhNMHhUUWczY1ZGZkw0N1ZOUXNiS3poZlJPaEgxUVNN?= =?utf-8?B?cWxoc2cyOE1DdnlyekNKSHBpOHBNcUo2LzQ3YkN0RWlZTDdLU2NDcTY5cnpt?= =?utf-8?B?RE9BR3Q3Tnd3UDNMUVlmRlN6R0czM25QcDZTTStobTVOS1BZK0JJdk0yVUFR?= =?utf-8?Q?QKUce5itVjyidg9fVtTUZa0=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: a58f903a-66bc-4f62-2876-08d9d508c7d4 X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5000.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2022 13:46:34.1039 (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: ztK+iRG/cjKBXZL/6gafT257+PlA8Pj37zvpTJawpF5RBhd2DUVK4dqdusTIN7qKkTQtUkU5Uqvx8vUxa/EQ7g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4807 X-OriginatorOrg: intel.com 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 On 1/11/2022 12:26 PM, Ashwin Sekhar Thalakalath Kottilveetil wrote: > CAS is compare and swap. CASL is compare and swap with release semantics. > What does 'release semantics' mean? What is functional difference in both? > But on CNXK platform, the functionality of CAS* instructions is completely different when it is done to specific addresses. These APIs are meant for use for such special cases. These cannot be made ARM generic. > > Ashwin Sekhar T K > >> -----Original Message----- >> From: Ferruh Yigit >> Sent: Tuesday, January 11, 2022 5:42 PM >> To: Ashwin Sekhar Thalakalath Kottilveetil ; >> dev@dpdk.org; Honnappa Nagarahalli ; >> Ruifeng Wang (Arm Technology China) >> Cc: Nithin Kumar Dabilpuram ; Jerin Jacob >> Kollanukkaran ; Sunil Kumar Kori >> ; Satha Koteswara Rao Kottidi >> ; Pavan Nikhilesh Bhagavatula >> ; Kiran Kumar Kokkilagadda >> ; Satheesh Paul ; >> Anoob Joseph ; Akhil Goyal >> Subject: [EXT] Re: [PATCH] common/cnxk: use cas with release semantics for >> batch alloc >> >> External Email >> >> ---------------------------------------------------------------------- >> On 1/11/2022 12:08 PM, Ferruh Yigit wrote: >>> On 11/30/2021 5:45 AM, Ashwin Sekhar T K wrote: >>>> Before issuing the batch alloc, we clear the first word of cache >>>> lines so that NPA can update the status. Make sure that this line >>>> clear is flushed before the batch alloc is issued. >>>> >>>> Signed-off-by: Ashwin Sekhar T K >>>> --- >>>>   drivers/common/cnxk/roc_io.h         | 12 ++++++++++++ >>>>   drivers/common/cnxk/roc_io_generic.h |  9 +++++++++ >>>>   drivers/common/cnxk/roc_npa.h        |  2 +- >>>>   3 files changed, 22 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/common/cnxk/roc_io.h >>>> b/drivers/common/cnxk/roc_io.h index fe5f7f46d0..4f15503c29 100644 >>>> --- a/drivers/common/cnxk/roc_io.h >>>> +++ b/drivers/common/cnxk/roc_io.h >>>> @@ -78,6 +78,18 @@ roc_atomic64_cas(uint64_t compare, uint64_t >> swap, >>>> int64_t *ptr) >>>>       return compare; >>>>   } >>>> +static __plt_always_inline uint64_t >>>> +roc_atomic64_casl(uint64_t compare, uint64_t swap, int64_t *ptr) { >>>> +    asm volatile(PLT_CPU_FEATURE_PREAMBLE >>>> +             "casl %[compare], %[swap], [%[ptr]]\n" >>>> +             : [compare] "+r"(compare) >>>> +             : [swap] "r"(swap), [ptr] "r"(ptr) >>>> +             : "memory"); >>>> + >>> >>> out of curiosity, what is the "cas with release semantics"? >>> briefly, what is the difference between 'cas' and 'casl'? >> >> + Honnappa & Ruifeng, >> >> Isn't this API Arm wide, instead of being cnxk specific? >> Does it make sense to make this API for arm and cnxk use from there?