From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,URIBL_SBL,URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8B7DC48BD4 for ; Tue, 25 Jun 2019 06:15:55 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 37FA720652 for ; Tue, 25 Jun 2019 06:15:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b="tQOf7Dwt"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=marvell.onmicrosoft.com header.i=@marvell.onmicrosoft.com header.b="HPhdiulB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 37FA720652 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=marvell.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2D5451B94D; Tue, 25 Jun 2019 08:15:54 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 9F8853237 for ; Tue, 25 Jun 2019 08:15:52 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x5P650MU025092; Mon, 24 Jun 2019 23:15:49 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=SHN4mrHDFN0u3qp+Hniaj3up6n03mZ9zK/Y70uN65Xk=; b=tQOf7DwtzyNvemiDpeIGnhM2gG0m2lxehrMPtw4k++Qp9Epsko6NY1G5OtWId9QD37Ym lR5WQI8KT18AsMQVwbqbEladU42aUnyolrat5gLklF7zxRLkmzaxDV8U281JGmzK6tJw sxaxA2UqHp29y79P/ziajHM7A0TKYK6845DRgAOG79kweWr4Fbo6VATt3PtLxPrOya3u oFwI6vNHQZAur2GeUjjCpL60avbnzxoFqEzdQt4WtuIoZ34CSunitg9XfHkSTS0oiKM7 sbzJK3d+k4f8e6wmQ0X0vOuPpsCxpVnnoEVZoO0L+T17d0E1WLRof1vc6x+QzE0SzogN mg== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2tbcudr8gq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 24 Jun 2019 23:15:49 -0700 Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Mon, 24 Jun 2019 23:15:47 -0700 Received: from NAM01-BY2-obe.outbound.protection.outlook.com (104.47.34.56) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Mon, 24 Jun 2019 23:15:47 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SHN4mrHDFN0u3qp+Hniaj3up6n03mZ9zK/Y70uN65Xk=; b=HPhdiulB7Tw/jTsJ5A/DSjyLU+xm65O48nrhFb3FpU6jy/8bmNag7lZJCQUsjbR2Eca3XXCpQXlMEZ0VaI1teR7sYUmDWBVO5jnVXy3skx+unz23/Wj+KK6rwBfkwFG52mQABj0+tjk9yRHZIA4T+9I/gRSH9sXgRlEXvQNlp8A= Received: from BYAPR18MB2424.namprd18.prod.outlook.com (20.179.91.149) by BYAPR18MB2982.namprd18.prod.outlook.com (20.179.60.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2008.13; Tue, 25 Jun 2019 06:15:47 +0000 Received: from BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::75fd:a528:a1bf:bef4]) by BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::75fd:a528:a1bf:bef4%3]) with mapi id 15.20.2008.017; Tue, 25 Jun 2019 06:15:47 +0000 From: Jerin Jacob Kollanukkaran To: Honnappa Nagarahalli , "thomas@monjalon.net" , "Phil Yang (Arm Technology China)" CC: "dev@dpdk.org" , "hemant.agrawal@nxp.com" , "Gavin Hu (Arm Technology China)" , nd , "gage.eads@intel.com" , nd Thread-Topic: [PATCH v2 1/3] eal/arm64: add 128-bit atomic compare exchange Thread-Index: AQHVKrQF6ARIEhvYp0+3xnoWVSyjXaar49zA Date: Tue, 25 Jun 2019 06:15:46 +0000 Message-ID: References: <22963143.DP9djbVQ2r@xps> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [106.200.248.176] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 30c99928-7d48-460a-d3f1-08d6f9349015 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:BYAPR18MB2982; x-ms-traffictypediagnostic: BYAPR18MB2982: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0079056367 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(396003)(366004)(136003)(346002)(39860400002)(13464003)(189003)(199004)(66946007)(4326008)(73956011)(66476007)(3846002)(76116006)(66446008)(64756008)(478600001)(66556008)(6116002)(71200400001)(71190400001)(256004)(14444005)(316002)(110136005)(486006)(86362001)(2501003)(305945005)(7736002)(186003)(68736007)(66066001)(476003)(55016002)(5660300002)(446003)(54906003)(11346002)(2906002)(81156014)(8676002)(26005)(81166006)(102836004)(229853002)(6436002)(53936002)(7696005)(52536014)(6246003)(99286004)(14454004)(25786009)(33656002)(9686003)(76176011)(8936002)(6506007)(53546011)(74316002); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR18MB2982; H:BYAPR18MB2424.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: v00E+lUh/N+Jj+yfTk5vE5nC/saKF8yNgP42YjYfdQhshzv62Vlb3/TueHIL6AeUBe8hxe+7DVb/9Lx08IXomzvavu9p7CyapGuwU8Vb6Iuep7qM0z4NMAw4kBBlP2hITeaEumlzvnRYisqBsIimQfF1DuD8NfKoNxcoTS/CISZktX8cG+bG7ccj+ALay4PQvqV/LY4UiuFHfcOdeReT1VO/xEYnR+574uqCrxhyorkIyYIijG2IguXmIr3o+xtukOLZG/Dakk0RAmANW2dtGDAiF1H7fGZZWa/LiHqesF5W94/sPdpyH004p1d9xwtJa8vzcAVCla9cNsuXA3F5I3/2rV/2uOgA+X/pBfuBSZ23YK0PefNP6pd0gITJMi/CgMXFemj0BAQMN51Ug6GIWFOQyWGFWtgDFWkt5ex+2NI= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 30c99928-7d48-460a-d3f1-08d6f9349015 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2019 06:15:46.8300 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jerinj@marvell.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR18MB2982 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-06-25_04:, , signatures=0 Subject: Re: [dpdk-dev] [PATCH v2 1/3] eal/arm64: add 128-bit atomic compare exchange 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" > -----Original Message----- > From: Honnappa Nagarahalli > Sent: Monday, June 24, 2019 11:11 PM > To: thomas@monjalon.net; Phil Yang (Arm Technology China) > > Cc: Jerin Jacob Kollanukkaran ; dev@dpdk.org; > hemant.agrawal@nxp.com; Gavin Hu (Arm Technology China) > ; Honnappa Nagarahalli > ; nd ; gage.eads@intel.com; > nd > Subject: [EXT] RE: [PATCH v2 1/3] eal/arm64: add 128-bit atomic compare > exchange > > > > 24/06/2019 18:12, Honnappa Nagarahalli: > > > > > > + } else { > > > > > > + rte_panic("Invalid memory order\n"); > > > > > > > > > > > > > > > rte_panic should be removed from library. In this case, I think, > > > > > invalid mo can go for strongest barrier. > > > > > > It is added here to capture programming errors. > > > Memory order can be passed during compilation or during run time. > > > 'rte_panic' supports both of these. > > > Adding code with strongest memory order will mask the programming err= or. > > > > An error must return a specific code from the function. > > rte_panic is really forbidden in libraries. > > We are in the process of removing all of them. > Thank you for clarifying. > In this particular use case, the API is similar to '__atomic_compare_exch= ange' > built-in. Users would expect similar behavior. If we are differing from t= he > standard behavior, we should document it in the API definition. IMO, We should not differ from the standard behavior(return type) of atomic= _compare_exchange. And we should not have rte_panic in library. IMO, Best option would be 1) If mo is compile time constant then check with RTE_BUILD_ON for static a= ssert to find invalid mo 2) if mo is runtime value and it is invalid then move to strongest memory o= rder to make functionally correct >=20 > > > >