List patch comments

GET /api/patches/73418/comments/?format=api&order=id
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Link: 
<https://patches.dpdk.org/api/patches/73418/comments/?format=api&order=id&page=1>; rel="first",
<https://patches.dpdk.org/api/patches/73418/comments/?format=api&order=id&page=1>; rel="last"
Vary: Accept
[ { "id": 115400, "web_url": "https://patches.dpdk.org/comment/115400/", "msgid": "<20200707101314.42df824c@hermes.lan>", "list_archive_url": "https://inbox.dpdk.org/dev/20200707101314.42df824c@hermes.lan", "date": "2020-07-07T17:13:14", "subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n operations", "submitter": { "id": 27, "url": "https://patches.dpdk.org/api/people/27/?format=api", "name": "Stephen Hemminger", "email": "stephen@networkplumber.org" }, "content": "On Tue, 7 Jul 2020 18:10:33 +0800\nPhil Yang <phil.yang@arm.com> wrote:\n\n> +\treturn (uint16_t)(__atomic_add_fetch((int16_t *)&shinfo->refcnt_atomic,\n> +\n\nWhy do you need so many casts here?\nThe type of refcnt_atomic is now uint16 after your patch.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E095EA00BE;\n\tTue, 7 Jul 2020 19:13:24 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id E77B41DE6F;\n\tTue, 7 Jul 2020 19:13:23 +0200 (CEST)", "from mail-pf1-f196.google.com (mail-pf1-f196.google.com\n [209.85.210.196]) by dpdk.org (Postfix) with ESMTP id 23FBC1DE05\n for <dev@dpdk.org>; Tue, 7 Jul 2020 19:13:23 +0200 (CEST)", "by mail-pf1-f196.google.com with SMTP id z3so9407661pfn.12\n for <dev@dpdk.org>; Tue, 07 Jul 2020 10:13:23 -0700 (PDT)", "from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127])\n by smtp.gmail.com with ESMTPSA id h23sm8145635pfo.166.2020.07.07.10.13.21\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 07 Jul 2020 10:13:22 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=networkplumber-org.20150623.gappssmtp.com; s=20150623;\n h=date:from:to:cc:subject:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=SjRL2x7gtaSGkxSKay+w+Yo7X/cTpWn4PTNQYAre77M=;\n b=C/4daNkQr5BbX4JPnM2zXbtENumD56OKzllzosFtaPnoV/q3qneHcbFq/c03I4ATDx\n VZZLPUHhHSlbNWPt3azDJLoHydjfkDtstuhFjCEWX9TM5iCSutKuo7aFu7TNOs93B56Q\n uBhEoyEx/iterOUbqWIWJlMQiGtoZckhLMO7/T/Vzw7s48p1QH523SMc8nJ7iCHHAVGn\n brgB0CHtfQ5egdlIyhpOEceJzibEF6E7l8PoE+0RStJbYnxJrF25JE+w6BDe/mOC2tkd\n WTAo7WwrFapIMUxJC9k0VgS1lcsAH2DXVBmvpgxV9DMhwSD8f1SWrSHpmlgnHxOTHrM+\n 92hg==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=SjRL2x7gtaSGkxSKay+w+Yo7X/cTpWn4PTNQYAre77M=;\n b=YusrtMYA4paOIWIrAIBra74chSbXcI9fWPaIZHHg6gR57EPoo7Pb4IN93yTw3ReDXS\n zdpKpSUZT+3h2Ky3SWbdkHKWqOpCWMuITdOk5vvRUWULYYDdV+K9QOGk2GGihhauOa6d\n Z/qfPSQRTQ90ELXlroxvZO0v3yqNWLBba2vWXTYEpBNuSqK0cOhT5jWaxTJbtjlwUV5n\n v3kyzM7mpMF6+Pewy7e3TFfaAWhFsAq3qkGo7WrW7Jr76/q2djC5dK4y+mCzJOI+rHit\n o3Z/MtsdEyTeeyNnRJkzK67o9cdF/LQ7EY7KX13PlwedpUMm73eCjwKGGFBZ0LnuVcK0\n ZpqA==", "X-Gm-Message-State": "AOAM533AZi1Jq1cx3h7eJ+TiWq7b2Bz64rFqVBIGB2D8YaQtrc8LpZfi\n 1wd9NfNgQw1bT/myCJp0k3B5mg==", "X-Google-Smtp-Source": "\n ABdhPJyWM+qscgsvHp3np8sffkDsMugV9159DnCnyTI0MjRd+QFjtRZls6IR+gC9IWaVxlwLXAzizQ==", "X-Received": "by 2002:a63:475c:: with SMTP id\n w28mr47154138pgk.222.1594142002306;\n Tue, 07 Jul 2020 10:13:22 -0700 (PDT)", "Date": "Tue, 7 Jul 2020 10:13:14 -0700", "From": "Stephen Hemminger <stephen@networkplumber.org>", "To": "Phil Yang <phil.yang@arm.com>", "Cc": "david.marchand@redhat.com, dev@dpdk.org, drc@linux.vnet.ibm.com,\n Honnappa.Nagarahalli@arm.com, olivier.matz@6wind.com, ruifeng.wang@arm.com,\n nd@arm.com", "Message-ID": "<20200707101314.42df824c@hermes.lan>", "In-Reply-To": "<1594116633-14554-1-git-send-email-phil.yang@arm.com>", "References": "<1591871178-12542-1-git-send-email-phil.yang@arm.com>\n <1594116633-14554-1-git-send-email-phil.yang@arm.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=US-ASCII", "Content-Transfer-Encoding": "7bit", "Subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n operations", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 115450, "web_url": "https://patches.dpdk.org/comment/115450/", "msgid": "<VE1PR08MB4640935CA367E216F788DEE5E9670@VE1PR08MB4640.eurprd08.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/VE1PR08MB4640935CA367E216F788DEE5E9670@VE1PR08MB4640.eurprd08.prod.outlook.com", "date": "2020-07-08T04:48:33", "subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "submitter": { "id": 833, "url": "https://patches.dpdk.org/api/people/833/?format=api", "name": "Phil Yang", "email": "phil.yang@arm.com" }, "content": "> -----Original Message-----\n> From: Stephen Hemminger <stephen@networkplumber.org>\n> Sent: Wednesday, July 8, 2020 1:13 AM\n> To: Phil Yang <Phil.Yang@arm.com>\n> Cc: david.marchand@redhat.com; dev@dpdk.org; drc@linux.vnet.ibm.com;\n> Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>;\n> olivier.matz@6wind.com; Ruifeng Wang <Ruifeng.Wang@arm.com>; nd\n> <nd@arm.com>\n> Subject: Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n> operations\n> \n> On Tue, 7 Jul 2020 18:10:33 +0800\n> Phil Yang <phil.yang@arm.com> wrote:\n> \n> > +\treturn (uint16_t)(__atomic_add_fetch((int16_t *)&shinfo-\n> >refcnt_atomic,\n> > +\n> \n> Why do you need so many casts here?\n> The type of refcnt_atomic is now uint16 after your patch.\n\nIn the existing code, the input parameter type for this API is signed integer. For example:\ndrivers/net/netvsc/hn_rxtx.c:531\nlib/librte_mbuf/rte_mbuf.h:1194\n\nHowever, the output type of rte_mbuf_ext_refcnt related APIs is not uniform. We use these typecast to consistent with the current API definition.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 39BBDA00BE;\n\tWed, 8 Jul 2020 06:48:50 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 3483C1DE50;\n\tWed, 8 Jul 2020 06:48:49 +0200 (CEST)", "from FRA01-PR2-obe.outbound.protection.outlook.com\n (mail-eopbgr120084.outbound.protection.outlook.com [40.107.12.84])\n by dpdk.org (Postfix) with ESMTP id 5FFA51D8EA\n for <dev@dpdk.org>; Wed, 8 Jul 2020 06:48:47 +0200 (CEST)", "from MR2P264CA0038.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::26) by\n PR2PR08MB4681.eurprd08.prod.outlook.com (2603:10a6:101:20::21) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.3153.24; Wed, 8 Jul 2020 04:48:43 +0000", "from VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com\n (2603:10a6:500:0:cafe::49) by MR2P264CA0038.outlook.office365.com\n (2603:10a6:500::26) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21 via Frontend\n Transport; Wed, 8 Jul 2020 04:48:43 +0000", "from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by\n VE1EUR03FT022.mail.protection.outlook.com (10.152.18.64) with\n Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.3174.21 via Frontend Transport; Wed, 8 Jul 2020 04:48:43 +0000", "(\"Tessian outbound f7489b7e84a7:v62\");\n Wed, 08 Jul 2020 04:48:42 +0000", "from c7c7d7ddb883.2\n by 64aa7808-outbound-1.mta.getcheckrecipient.com id\n BE236E70-D3EA-4D38-953F-E6404BECD326.1;\n Wed, 08 Jul 2020 04:48:37 +0000", "from EUR01-HE1-obe.outbound.protection.outlook.com\n by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id\n c7c7d7ddb883.2\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);\n Wed, 08 Jul 2020 04:48:37 +0000", "from VE1PR08MB4640.eurprd08.prod.outlook.com (2603:10a6:802:b2::11)\n by VI1PR08MB2784.eurprd08.prod.outlook.com (2603:10a6:802:25::17)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21; Wed, 8 Jul\n 2020 04:48:34 +0000", "from VE1PR08MB4640.eurprd08.prod.outlook.com\n ([fe80::c2e:9ccb:a690:6863]) by VE1PR08MB4640.eurprd08.prod.outlook.com\n ([fe80::c2e:9ccb:a690:6863%6]) with mapi id 15.20.3153.029; Wed, 8 Jul 2020\n 04:48:34 +0000" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=OP3R53szZ2VkGuI1yn774If6e2dC7su1hxomW0y8U2M=;\n b=X504jyUE9zAqIorekfRJiegaCRSOOjmlrepnCGC5PWIy1tzdyb5pFauTRyFPXeUpTBCRirVOIxUEqL++KWKsqjl5DQRtr9Pq8ulhynfq+Z6+4emkan/3eKzp+/2IRFBimudN9gz8hzGb/HHtsoXzOffmmLO5t4HI88OE+mT04NY=", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=OP3R53szZ2VkGuI1yn774If6e2dC7su1hxomW0y8U2M=;\n b=X504jyUE9zAqIorekfRJiegaCRSOOjmlrepnCGC5PWIy1tzdyb5pFauTRyFPXeUpTBCRirVOIxUEqL++KWKsqjl5DQRtr9Pq8ulhynfq+Z6+4emkan/3eKzp+/2IRFBimudN9gz8hzGb/HHtsoXzOffmmLO5t4HI88OE+mT04NY=" ], "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 63.35.35.123)\n smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified)\n header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none\n header.from=arm.com;", "Received-SPF": "Pass (protection.outlook.com: domain of arm.com designates\n 63.35.35.123 as permitted sender) receiver=protection.outlook.com;\n client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;", "X-CR-MTA-TID": "64aa7808", "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=IsHSFVOgStolnVWbRn3iuABhKYJ5OYeVnUYAFdWKyMEGY2lTH1wZ/jsHFG9MSXqA77Q1Sh8s+454YcoYe6d3E7KOU+sqjI1uH3BAAx29P3Z9Dm42LSuadDmDM1ssjipwyoN51Y9C/1OSGaRH/LcGPWD51rKLfWz2CJTUnnIoM/OY0UnypV4sI+1rFT9jI9ONO3lbzAJF6pqxmmhPhqIKfFwHa1EjOJGjOvL8b+G/7BwB9UxHgACIryQ4FZqO36yRvnoO/vchTT5Lqlzc1nlldy9aVxJQuvNMz7/BW1vLuou0fVgHcIDQWvKxIow34bMk3OpEuTL5iCSlNmpDlim7Ww==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=OP3R53szZ2VkGuI1yn774If6e2dC7su1hxomW0y8U2M=;\n b=n875yHUWuJmqa9dHJxdWOCEWkmNvajV5RtnRAXMiSnGR7uNlFn0vH5tpsidM+7E6ffG8G8Ysei3gH5wmo4I0R+zOFPxY+YitwGqhRepi+X4+5urmaMcjYm5b3Aum5Wv8bZs77th8Ku6rWnqAAi7uD/oxg7YrJ+5IEz3/gMfhM4xIiyRk+N0p7gX6h9ZsXg5ySG6aCgXUfTpF/5dMtNAyP5p7fPHcHU+iESzqdb1hMw1rDqz7EjELHvD1P0bs3dkO1g34mQP+0uPwMFp5enzftr1pbK1qxrBBOFjf3iuJY4qSoL3qn4tkqZmdOZYbWkoXDTgsQ+O5O3fPLhz2qLSakA==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass\n header.d=arm.com; arc=none", "From": "Phil Yang <Phil.Yang@arm.com>", "To": "Stephen Hemminger <stephen@networkplumber.org>", "CC": "\"david.marchand@redhat.com\" <david.marchand@redhat.com>, \"dev@dpdk.org\"\n <dev@dpdk.org>, \"drc@linux.vnet.ibm.com\" <drc@linux.vnet.ibm.com>, Honnappa\n Nagarahalli <Honnappa.Nagarahalli@arm.com>, \"olivier.matz@6wind.com\"\n <olivier.matz@6wind.com>, Ruifeng Wang <Ruifeng.Wang@arm.com>, nd\n <nd@arm.com>", "Thread-Topic": "[dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n operations", "Thread-Index": "AQHWVEbwX0ZZhWoutEejPVv4HOUHjKj8Wz4AgAC86dA=", "Date": "Wed, 8 Jul 2020 04:48:33 +0000", "Message-ID": "\n <VE1PR08MB4640935CA367E216F788DEE5E9670@VE1PR08MB4640.eurprd08.prod.outlook.com>", "References": "<1591871178-12542-1-git-send-email-phil.yang@arm.com>\n <1594116633-14554-1-git-send-email-phil.yang@arm.com>\n <20200707101314.42df824c@hermes.lan>", "In-Reply-To": "<20200707101314.42df824c@hermes.lan>", "Accept-Language": "zh-CN, en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-ts-tracking-id": "1920a578-fd00-4226-b2be-5319e9e1cb47.0", "x-checkrecipientchecked": "true", "Authentication-Results-Original": "networkplumber.org; dkim=none (message not\n signed) header.d=none;networkplumber.org; dmarc=none action=none\n header.from=arm.com;", "x-originating-ip": "[203.126.0.113]", "x-ms-publictraffictype": "Email", "X-MS-Office365-Filtering-HT": "Tenant", "X-MS-Office365-Filtering-Correlation-Id": "c0d3bd01-9807-429d-b73e-08d822fa3115", "x-ms-traffictypediagnostic": "VI1PR08MB2784:|PR2PR08MB4681:", "x-ms-exchange-transport-forked": "True", "X-Microsoft-Antispam-PRVS": "\n <PR2PR08MB4681BC86508CCBE5F4328D37E9670@PR2PR08MB4681.eurprd08.prod.outlook.com>", "x-checkrecipientrouted": "true", "nodisclaimer": "true", "x-ms-oob-tlc-oobclassifiers": "OLM:2512;OLM:2512;", "X-MS-Exchange-SenderADCheck": "1", "X-Microsoft-Antispam-Untrusted": "BCL:0;", "X-Microsoft-Antispam-Message-Info-Original": "\n IQd8p+4yjVxW7LClfyeOn9QFYzvvaDTigpEuuysYK0VydiNUUwPYhRsAySzoUHJ6O3mUwFGzUA5rKv8g1qAeXUtEiR6Kqu32FGwKOOBh4WGLY+JO2sW8y/A7mBvV5o/00wCa+/ZK7tSdNsaLkEMoCitGFY+cfMrY/6GabRp6OYaFemLlxeUQESN3IRsVn9NT1vjMtKR8dX/Bsg2ByZIjx4YG0yTebAwHJo0THSnQs/15SUOF9liW3MTk++Ccuid2gbrot3ATL4n0Kk7Qru3NxRDHypmDGMCWcYIRSttxy786+vIhUAzQXwjU14cYAGYiC0oOPrKohzO+p4KyEYCZZA==", "X-Forefront-Antispam-Report-Untrusted": "CIP:255.255.255.255; CTRY:; LANG:en;\n SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR08MB4640.eurprd08.prod.outlook.com;\n PTR:; CAT:NONE; SFTY:;\n SFS:(4636009)(366004)(136003)(376002)(39850400004)(346002)(396003)(33656002)(8676002)(6506007)(53546011)(26005)(71200400001)(83380400001)(4744005)(52536014)(66446008)(66946007)(64756008)(66556008)(66476007)(5660300002)(76116006)(86362001)(2906002)(9686003)(55016002)(478600001)(186003)(8936002)(7696005)(316002)(4326008)(6916009)(54906003);\n DIR:OUT; SFP:1101;", "x-ms-exchange-antispam-messagedata": "\n MI0fF9DzdqT+G+uSLfngzFH7eU3Oz79zPXs/8ErJqqY4lNwl54vIFlmeLQD0JRe8KSPSD30pywUSkBTk47I0dKBpIRtDEK/kD9m8oCEkwJTOk0uwxWJ3jhyd+v1144tjhVf70kKxtDwO8Mw+pWrIc7mw3PD3mzDW5oRdJZ/oFFBg0fQ1tirrgUgzkAY/BREMYtlpdv4ozD0KjIC8WH+JEaQRWQa3R4OIEtX47e2+ucwbuamWp19oW4phsIUWyE+Cb1XrrLRvqQaBusPHQGTYd0gWzsQQmRYWHP2XcBkqu8uuAN2+qdFrjLx4xfcVAEpZADFzKWtR9iNZtkWkVyT7LeuyyUdXXtieKm/bN44sSPM6V78XfWNLItKON6V51ZIU2XgnHvWyq+FhCiB+knsRudNGs7StCfJRzDlRfvFnwrZesIZBg0oA7FsVe6ktzm7zYPXxaDq2ddJ05xZkAQKX7CuAE00/kQHgtxrTM+pv+i4=", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [ "VI1PR08MB2784", "PR2PR08MB4681" ], "Original-Authentication-Results": "networkplumber.org;\n dkim=none (message not signed)\n header.d=none; networkplumber.org;\n dmarc=none action=none header.from=arm.com;", "X-EOPAttributedMessage": "0", "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com", "X-Forefront-Antispam-Report": "CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com;\n PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:;\n SFS:(4636009)(396003)(136003)(346002)(376002)(39850400004)(46966005)(53546011)(86362001)(6862004)(5660300002)(9686003)(6506007)(2906002)(186003)(81166007)(54906003)(356005)(82740400003)(8936002)(70586007)(316002)(8676002)(36906005)(83380400001)(26005)(82310400002)(4326008)(7696005)(33656002)(55016002)(47076004)(52536014)(336012)(70206006)(478600001);\n DIR:OUT; SFP:1101;", "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n 0efe9ffb-487f-4ac7-86e5-08d822fa2b86", "X-Forefront-PRVS": "04583CED1A", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n PYNYhy4Q3HK21yT2uaPdV4QqSnmnhiLt4I/OTcQdhsTtYE5311QxZDnv7HwHLVELhKXarHX5reSXrv5oDk6n/fdQKKWvo8lPoqYP+tNaFzVib7561hPm3mZeqHVUZpn9MVb/to1twEqWwqFPlkUC3POIlFigxig41kQVB7/GefYh8Jfk6AUUpT6xlCHQMVOiUeki0ySHzIh+tnH8l7myLl5azx2UFwXqONvUXGC0y3zn+5cPZ/HIuNKOL2/j54XqLzq4cUUum7YQB7PjDcpdFkjyCQod4sUCun4Y61uqMoGwEwFrnUGbzm+g6gcyPJdF8BwsunXfg5cvIhqPQ1tVcs+hpuAvwXGsywQF+Za400rg3XQ1fbpZfvxdC8WmdLMrWK+Pvx10usgcEkgw8toFmw==", "X-OriginatorOrg": "arm.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "08 Jul 2020 04:48:43.2510 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n c0d3bd01-9807-429d-b73e-08d822fa3115", "X-MS-Exchange-CrossTenant-Id": "f34e5979-57d9-4aaa-ad4d-b122a662184d", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];\n Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]", "X-MS-Exchange-CrossTenant-AuthSource": "\n VE1EUR03FT022.eop-EUR03.prod.protection.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "Subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 115451, "web_url": "https://patches.dpdk.org/comment/115451/", "msgid": "<VE1PR08MB4640B5F2AD9056E9FBD9704CE9670@VE1PR08MB4640.eurprd08.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/VE1PR08MB4640B5F2AD9056E9FBD9704CE9670@VE1PR08MB4640.eurprd08.prod.outlook.com", "date": "2020-07-08T05:11:30", "subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "submitter": { "id": 833, "url": "https://patches.dpdk.org/api/people/833/?format=api", "name": "Phil Yang", "email": "phil.yang@arm.com" }, "content": "> -----Original Message-----\n> From: dev <dev-bounces@dpdk.org> On Behalf Of Phil Yang\n> Sent: Tuesday, July 7, 2020 6:11 PM\n> To: david.marchand@redhat.com; dev@dpdk.org\n> Cc: drc@linux.vnet.ibm.com; Honnappa Nagarahalli\n> <Honnappa.Nagarahalli@arm.com>; olivier.matz@6wind.com; Ruifeng Wang\n> <Ruifeng.Wang@arm.com>; nd <nd@arm.com>\n> Subject: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt operations\n> \n> Use C11 atomics with explicit ordering instead of rte_atomic ops which\n> enforce unnecessary barriers on aarch64.\n> \n> Signed-off-by: Phil Yang <phil.yang@arm.com>\n> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>\n> ---\n> v2:\n> Fix ABI issue: revert the rte_mbuf_ext_shared_info struct refcnt field\n> to refcnt_atomic.\n> \n\n<snip>\n\n> diff --git a/lib/librte_mbuf/rte_mbuf_core.h\n> b/lib/librte_mbuf/rte_mbuf_core.h\n> index 16600f1..806313a 100644\n> --- a/lib/librte_mbuf/rte_mbuf_core.h\n> +++ b/lib/librte_mbuf/rte_mbuf_core.h\n> @@ -18,7 +18,6 @@\n> \n> #include <stdint.h>\n> #include <rte_compat.h>\n> -#include <generic/rte_atomic.h>\n> \n> #ifdef __cplusplus\n> extern \"C\" {\n> @@ -495,12 +494,8 @@ struct rte_mbuf {\n> \t * or non-atomic) is controlled by the\n> CONFIG_RTE_MBUF_REFCNT_ATOMIC\n> \t * config option.\n> \t */\n> -\tRTE_STD_C11\n> -\tunion {\n> -\t\trte_atomic16_t refcnt_atomic; /**< Atomically accessed\n> refcnt */\n> -\t\t/** Non-atomically accessed refcnt */\n> -\t\tuint16_t refcnt;\n> -\t};\n> +\tuint16_t refcnt;\n> +\n> \tuint16_t nb_segs; /**< Number of segments. */\n> \n> \t/** Input port (16 bits to support more than 256 virtual ports).\n> @@ -679,7 +674,7 @@ typedef void\n> (*rte_mbuf_extbuf_free_callback_t)(void *addr, void *opaque);\n> struct rte_mbuf_ext_shared_info {\n> \trte_mbuf_extbuf_free_callback_t free_cb; /**< Free callback\n> function */\n> \tvoid *fcb_opaque; /**< Free callback argument */\n> -\trte_atomic16_t refcnt_atomic; /**< Atomically accessed refcnt */\n> +\tuint16_t refcnt_atomic; /**< Atomically accessed refcnt */\n\nIt still causes an ABI check failure in Travis CI on this type change.\nI think we need an exception in libabigail.abignore for this. \n\nThanks,\nPhil\n> };\n> \n> /**< Maximum number of nb_segs allowed. */\n> --\n> 2.7.4", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 183D2A00BE;\n\tWed, 8 Jul 2020 07:11:40 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id EE07F1DBA1;\n\tWed, 8 Jul 2020 07:11:38 +0200 (CEST)", "from EUR04-DB3-obe.outbound.protection.outlook.com\n (mail-eopbgr60072.outbound.protection.outlook.com [40.107.6.72])\n by dpdk.org (Postfix) with ESMTP id D75031DB4F\n for <dev@dpdk.org>; Wed, 8 Jul 2020 07:11:37 +0200 (CEST)", "from DBBPR09CA0018.eurprd09.prod.outlook.com (2603:10a6:10:c0::30)\n by DBBPR08MB4299.eurprd08.prod.outlook.com (2603:10a6:10:ce::14) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.27; Wed, 8 Jul\n 2020 05:11:37 +0000", "from DB5EUR03FT032.eop-EUR03.prod.protection.outlook.com\n (2603:10a6:10:c0:cafe::fe) by DBBPR09CA0018.outlook.office365.com\n (2603:10a6:10:c0::30) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21 via Frontend\n Transport; Wed, 8 Jul 2020 05:11:37 +0000", "from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by\n DB5EUR03FT032.mail.protection.outlook.com (10.152.20.162) with\n Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.3153.24 via Frontend Transport; Wed, 8 Jul 2020 05:11:37 +0000", "(\"Tessian outbound 4e683f4039d5:v62\");\n Wed, 08 Jul 2020 05:11:36 +0000", "from 6292a40f3a74.3\n by 64aa7808-outbound-1.mta.getcheckrecipient.com id\n EC6E65B8-454F-4686-B145-5FD563BCD572.1;\n Wed, 08 Jul 2020 05:11:31 +0000", "from EUR04-DB3-obe.outbound.protection.outlook.com\n by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id\n 6292a40f3a74.3\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);\n Wed, 08 Jul 2020 05:11:31 +0000", "from VE1PR08MB4640.eurprd08.prod.outlook.com (2603:10a6:802:b2::11)\n by VE1PR08MB4735.eurprd08.prod.outlook.com (2603:10a6:802:a2::10)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.24; Wed, 8 Jul\n 2020 05:11:30 +0000", "from VE1PR08MB4640.eurprd08.prod.outlook.com\n ([fe80::c2e:9ccb:a690:6863]) by VE1PR08MB4640.eurprd08.prod.outlook.com\n ([fe80::c2e:9ccb:a690:6863%6]) with mapi id 15.20.3153.029; Wed, 8 Jul 2020\n 05:11:30 +0000" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=+8bpPoMZzDiYGuFExPQqbEK/bR5y2URirmM+3atzgrI=;\n b=0x9Wip5a3kRlRza164JIzIrEpWYZ0XKKKztExyZ/tN6mmOeR0zAIk5LUCA5Fjg3fTymbsLdjnH7jqP185+a69geLohknXxSR7ShDUZHZb+4Edaorcie8trmqyIy92IDPjYPWkAwGpNBoKYrgKzTfee9xDGG0ZGWAh/YN/WxFZhk=", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=+8bpPoMZzDiYGuFExPQqbEK/bR5y2URirmM+3atzgrI=;\n b=0x9Wip5a3kRlRza164JIzIrEpWYZ0XKKKztExyZ/tN6mmOeR0zAIk5LUCA5Fjg3fTymbsLdjnH7jqP185+a69geLohknXxSR7ShDUZHZb+4Edaorcie8trmqyIy92IDPjYPWkAwGpNBoKYrgKzTfee9xDGG0ZGWAh/YN/WxFZhk=" ], "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 63.35.35.123)\n smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified)\n header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none\n header.from=arm.com;", "Received-SPF": "Pass (protection.outlook.com: domain of arm.com designates\n 63.35.35.123 as permitted sender) receiver=protection.outlook.com;\n client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;", "X-CR-MTA-TID": "64aa7808", "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=AJmxLXnFcpmU/8t8VIKbDdA2YTGg7rGE2rhbptlsua2wpCOCKMSYQwlUuXcBf21CwaD/a/OqZTQtmBKMcme/WvFUylFkSTFrHvVHvk7nv6S01r7CawSx7T1rbbBm9XDvlcLc7bPWgeloXEEscNIb/c2EHL6LBWW4am+UfmmjZxyuOPUvoYxU3vcMC9U06R8HF5+ahuHA6EsR4Ku0vEYT8xezilE1qw+XQot+wlKJ0PHTEbCFCiiMpWmpu2rbyIVfFV9sABqgSumrQAjpbKWLKeMCWt/1LtKZv9cT7F9DiFni9lOrE1BcIcETyPquKRUyQneiBixPfMGTjBlpnkiz7A==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=+8bpPoMZzDiYGuFExPQqbEK/bR5y2URirmM+3atzgrI=;\n b=mOng9TQJLdzKRn7sMut2hFZHBEauQIKLR3QIiXvOi70Vp7IktCKC2R9lEQyx1Jf9rPVzviTtuB33ueg5VZUsHqkSEHgJ4bTaRR12dgrECqA+MNsITY7UyQMqKn7YbL/YzvBm8PTht5LUCJLzF4xj8LUvpHFB/QgdpwWCcNNFRiLmMRIoG5LziFNaI8jhD+/Qe0QxFYU7AiBa5c9nzfbem/SM2+996X4jw+oAYparyNrUFSWStA3vedylYRo0xjvQlQVI6BJ+nJgyRKceK+4lEyg7+6W9sfIwvjAm38BxNiGEWsDd/uBvJWzqXxcJx/2uVvN+X1b22UYvQ2z3/yhriw==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass\n header.d=arm.com; arc=none", "From": "Phil Yang <Phil.Yang@arm.com>", "To": "Phil Yang <Phil.Yang@arm.com>, \"david.marchand@redhat.com\"\n <david.marchand@redhat.com>, \"dev@dpdk.org\" <dev@dpdk.org>", "CC": "\"drc@linux.vnet.ibm.com\" <drc@linux.vnet.ibm.com>, Honnappa Nagarahalli\n <Honnappa.Nagarahalli@arm.com>, \"olivier.matz@6wind.com\"\n <olivier.matz@6wind.com>, Ruifeng Wang <Ruifeng.Wang@arm.com>, nd\n <nd@arm.com>", "Thread-Topic": "[dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n operations", "Thread-Index": "AQHWVEbwX0ZZhWoutEejPVv4HOUHjKj9H3PQ", "Date": "Wed, 8 Jul 2020 05:11:30 +0000", "Message-ID": "\n <VE1PR08MB4640B5F2AD9056E9FBD9704CE9670@VE1PR08MB4640.eurprd08.prod.outlook.com>", "References": "<1591871178-12542-1-git-send-email-phil.yang@arm.com>\n <1594116633-14554-1-git-send-email-phil.yang@arm.com>", "In-Reply-To": "<1594116633-14554-1-git-send-email-phil.yang@arm.com>", "Accept-Language": "zh-CN, en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-ts-tracking-id": "b4f77297-210c-487c-9afd-149c04eabf33.0", "x-checkrecipientchecked": "true", "Authentication-Results-Original": "arm.com; dkim=none (message not signed)\n header.d=none;arm.com; dmarc=none action=none header.from=arm.com;", "x-originating-ip": "[203.126.0.113]", "x-ms-publictraffictype": "Email", "X-MS-Office365-Filtering-HT": "Tenant", "X-MS-Office365-Filtering-Correlation-Id": "55da465e-2dbc-4856-2d49-08d822fd63dc", "x-ms-traffictypediagnostic": "VE1PR08MB4735:|DBBPR08MB4299:", "x-ms-exchange-transport-forked": "True", "X-Microsoft-Antispam-PRVS": "\n <DBBPR08MB42994C6FA555BBC6E7A12B6DE9670@DBBPR08MB4299.eurprd08.prod.outlook.com>", "x-checkrecipientrouted": "true", "nodisclaimer": "true", "x-ms-oob-tlc-oobclassifiers": "OLM:8273;OLM:8273;", "x-forefront-prvs": [ "04583CED1A", "04583CED1A" ], "X-MS-Exchange-SenderADCheck": "1", "X-Microsoft-Antispam-Untrusted": "BCL:0;", "X-Microsoft-Antispam-Message-Info-Original": "\n u5mK0+/7mUPXnyWSmTDVa9/ri9lV4MO/uHNL8qb8LqqbbW0snjX0ENeKNYFBEIpZ1Zairhb6psgx1sjgYLpW7d+czdp5NqTC68YjXlqowMh98P5VfuBgOcvkhHWp5N8t3C1Gq21BZ39PNi3KtcXcCb/3L83eU998Qn4do4EKWL6xsPBhGWiKJP+lRIDtBQDGgfcLN9M3cKKk44P+KB7KDCvr0R1tLjj5XnyubKgkDnpFPUUIoWM68nd6OVsYz7QP9L14CylNmJQvS5EvksIpYQj270OZMQ8aCK6Pzg3Yp4bR9nLnxWfN/sYGroUJBp7Wib83U8wGD+MwT+8U2UbkcQ==", "X-Forefront-Antispam-Report-Untrusted": "CIP:255.255.255.255; CTRY:; LANG:en;\n SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR08MB4640.eurprd08.prod.outlook.com;\n PTR:; CAT:NONE; SFTY:;\n SFS:(4636009)(346002)(136003)(376002)(39850400004)(366004)(396003)(66946007)(64756008)(55016002)(2906002)(66446008)(66476007)(66556008)(7696005)(76116006)(8936002)(71200400001)(4326008)(186003)(9686003)(86362001)(8676002)(110136005)(54906003)(478600001)(316002)(52536014)(33656002)(6506007)(5660300002)(83380400001)(26005)(53546011);\n DIR:OUT; SFP:1101;", "x-ms-exchange-antispam-messagedata": "\n BgljrueLiAPmWCPO+y3FQjrFw1+kiADlvOnR7lUf0xGc7R1jdQoZ4wUAo0t8FABb4VpDbxKfClpEPFXQZhwCzqufO1tqWo1g7mOpBZJacJQk6NTo7JeZluU6WyyIsJo2Vn21DaDZEiWtm9Ymu+KHVP0Jmnl2C98uyhCLwKWNk2QAEKGpRKRU7Kd9a/4ioiIBVP2kBzNF+7wOtk3Q552TVVaKhb3gUh+lnEkZfeerDwpPsSjL7Wkk7cFsdzInWreoxrwVyaNVJRB9OU78rC6Z7gX0CgAY6wQ37PFwvjt/BPZXRdi8EMFBvPjTqPcSP0h1EVS221udjWKy0fr19FskOquwT8iHCSVdqalYQ0UJM2UML3jvFD0nxTZF79WGhDS/LafCHX7GvC2WjXv3/7ijKkNsTac7EzSb+WL6fNfnbtI52FYdj5p4hXqfoBCLGKGDP2zsCTlKlBqHVzhDnJZBjuSnKMqF8E5rNlh+pZfb2Jf8eXsYd+8+DFqj5RK0OSBa", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [ "VE1PR08MB4735", "DBBPR08MB4299" ], "Original-Authentication-Results": "arm.com; dkim=none (message not signed)\n header.d=none;arm.com; dmarc=none action=none header.from=arm.com;", "X-EOPAttributedMessage": "0", "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n DB5EUR03FT032.eop-EUR03.prod.protection.outlook.com", "X-Forefront-Antispam-Report": "CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com;\n PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:;\n SFS:(4636009)(136003)(396003)(39850400004)(346002)(376002)(46966005)(81166007)(8676002)(186003)(5660300002)(54906003)(356005)(7696005)(82310400002)(86362001)(53546011)(70206006)(336012)(26005)(52536014)(6506007)(316002)(4326008)(110136005)(8936002)(55016002)(2906002)(70586007)(82740400003)(33656002)(83380400001)(478600001)(9686003)(47076004);\n DIR:OUT; SFP:1101;", "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n 1dbb0393-ea7f-408d-b199-08d822fd6030", "X-Forefront-PRVS": [ "04583CED1A", "04583CED1A" ], "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n IeKUi+50XNRH3GCwjZfrBIFjE7wR5Z2VxQNGJcrgQXy4WCtGyT/54jFeg51CvPYKWvTKCbjO34zf3+btCjFatlGYZN2h/RvIs9VORXjrHGa97f2XK3D8s6FWSltGOmqyIXC2/KhWAnL/+g6k5G6TrOWtW2Bi0R9crOsYoLZ5fuY+H2GI5Qa5sIPUXIuoXa6oUNphGxcw0ZuFmqx1xYdgi6pdTacTW3y5YnSuOYEqn4zm82gjfkjrDk1RTSgQW17PglpPeaPcOKhnpZ4TsWKUXwLHKiaPzpGkgu/D+tTVRI2h7o4VxZ1IlLuRwvNx+ZhyTq8qiJ2eMQHWrHgTXE2VgUsDfWvUZeDzpw//0ps7ocsBpnZ8GSluRh+H7bimyvn6D2PibC2dAbuG2cvdelu9VA==", "X-OriginatorOrg": "arm.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "08 Jul 2020 05:11:37.0299 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 55da465e-2dbc-4856-2d49-08d822fd63dc", "X-MS-Exchange-CrossTenant-Id": "f34e5979-57d9-4aaa-ad4d-b122a662184d", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];\n Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]", "X-MS-Exchange-CrossTenant-AuthSource": "\n DB5EUR03FT032.eop-EUR03.prod.protection.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "Subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 115497, "web_url": "https://patches.dpdk.org/comment/115497/", "msgid": "<20200708114301.GN5869@platinum>", "list_archive_url": "https://inbox.dpdk.org/dev/20200708114301.GN5869@platinum", "date": "2020-07-08T11:43:02", "subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "submitter": { "id": 8, "url": "https://patches.dpdk.org/api/people/8/?format=api", "name": "Olivier Matz", "email": "olivier.matz@6wind.com" }, "content": "On Wed, Jul 08, 2020 at 04:48:33AM +0000, Phil Yang wrote:\n> > -----Original Message-----\n> > From: Stephen Hemminger <stephen@networkplumber.org>\n> > Sent: Wednesday, July 8, 2020 1:13 AM\n> > To: Phil Yang <Phil.Yang@arm.com>\n> > Cc: david.marchand@redhat.com; dev@dpdk.org; drc@linux.vnet.ibm.com;\n> > Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>;\n> > olivier.matz@6wind.com; Ruifeng Wang <Ruifeng.Wang@arm.com>; nd\n> > <nd@arm.com>\n> > Subject: Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n> > operations\n> > \n> > On Tue, 7 Jul 2020 18:10:33 +0800\n> > Phil Yang <phil.yang@arm.com> wrote:\n> > \n> > > +\treturn (uint16_t)(__atomic_add_fetch((int16_t *)&shinfo-\n> > >refcnt_atomic,\n> > > +\n> > \n> > Why do you need so many casts here?\n> > The type of refcnt_atomic is now uint16 after your patch.\n> \n> In the existing code, the input parameter type for this API is signed integer. For example:\n> drivers/net/netvsc/hn_rxtx.c:531\n> lib/librte_mbuf/rte_mbuf.h:1194\n> \n> However, the output type of rte_mbuf_ext_refcnt related APIs is not uniform. We use these typecast to consistent with the current API definition.\n\nWould it make sense to cast the increment instead?\n\nI mean:\n\n\treturn __atomic_add_fetch(&m->refcnt, (uint16_t)value, __ATOMIC_ACQ_REL);\n\ninstead of:\n\n\treturn (uint16_t)(__atomic_add_fetch((int16_t *)&m->refcnt, value,\n\t\t\t\t__ATOMIC_ACQ_REL));\n\n\nThe same could apply to __rte_pktmbuf_pinned_extbuf_decref() I think:\n\n> -\tif (likely(rte_atomic16_add_return\n> -\t\t\t(&shinfo->refcnt_atomic, -1)))\n> +\tif (likely(__atomic_add_fetch((int *)&shinfo->refcnt_atomic, -1,\n> +\t\t\t\t __ATOMIC_ACQ_REL)))\n\nBy the way, why was the cast was to (int *) in this case? I think\nit can overwrite fields beside refcnt.", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id F1E16A0526;\n\tWed, 8 Jul 2020 13:43:04 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id CC7FE1DAEB;\n\tWed, 8 Jul 2020 13:43:04 +0200 (CEST)", "from mail-wm1-f68.google.com (mail-wm1-f68.google.com\n [209.85.128.68]) by dpdk.org (Postfix) with ESMTP id 502C81DABF\n for <dev@dpdk.org>; Wed, 8 Jul 2020 13:43:03 +0200 (CEST)", "by mail-wm1-f68.google.com with SMTP id l17so2641955wmj.0\n for <dev@dpdk.org>; Wed, 08 Jul 2020 04:43:03 -0700 (PDT)", "from 6wind.com\n (2a01cb0c0005a600345636f7e65ed1a0.ipv6.abo.wanadoo.fr.\n [2a01:cb0c:5:a600:3456:36f7:e65e:d1a0])\n by smtp.gmail.com with ESMTPSA id g3sm6384620wrb.59.2020.07.08.04.43.02\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 08 Jul 2020 04:43:02 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google;\n h=date:from:to:cc:subject:message-id:references:mime-version\n :content-disposition:in-reply-to:user-agent;\n bh=svx83nvZERQFqUQfmEPl2hP1X81LdN3kgCUVXHG/V1I=;\n b=S2U7tqHNgA8KchmmtKbhknJjst5PU5HcZM2bNj1wzfbr3/OX96VlGRiwP49UYZqeNp\n ISb99sDpCN4I6SHM8xRMwEKIoH1dJryeHSWIPLF8EivSjIs1smAdCubBnaZY5OTJMb6l\n FKlZKMgOUHTM3+ySc9MPCC+Nb5er5gHNhkt19sN1l1CZE66uinlm8b3rvYAd81JzF6UJ\n p6E+7lvKWa57aUPNQgBagCen0mWcuPgLUUt1VNwOK2Bx6hNh9f5crlbJHWmcCQCf/BoZ\n 2gxN7BlMdRaNurxiiI1ikuBT7HUe5Rm2oJSJUM7xAhHdA9RHh3rzwkkNJleu/iyMD8B8\n q/Zw==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:date:from:to:cc:subject:message-id:references\n :mime-version:content-disposition:in-reply-to:user-agent;\n bh=svx83nvZERQFqUQfmEPl2hP1X81LdN3kgCUVXHG/V1I=;\n b=C68pAZ3n1sUqpBKrznOi52kQAVuSyvxR+Pg8yOtlErJZPDDvjFdNYGsJb+5u3lsFsM\n UqY2HwGd61iNCtfHwFD6qoGCuhNfSRUdM4PuRdnYl1EKSopVFNoQW2705CA8aWlCu34k\n KK6REXkzJ4Jum8d/sw0THI2wJafvSDX+IEk2FT8uAWeCZ4fUgN0UmtHr9nR/EI/lkAYi\n SUvp8gw24fFeQR2J60eY9YMar2w2phtD3TOQoEVfUPowA3mDuH1FdcxD9ugrTo6j7I5k\n DqaBxaJ6mwgfJpiYf6D+bPNnumZf3tvEzXkA8LMO95o63/DuwJScmQDyaCmbq9jp3K7E\n K3oQ==", "X-Gm-Message-State": "AOAM533iAs5fozENLZXDlhzLgJ3y7JXwbffWey5kLfOwiZULSWlf1Q0o\n xQTp4k4JJ7YmL109Q+oR4uUhGg==", "X-Google-Smtp-Source": "\n ABdhPJxot5u98FlIahMhSBDFJK4ea6mT7mtnZInp2Xr5kdNLGS5hiC9n2wu/z1F7y9hEKLewlLcluw==", "X-Received": "by 2002:a7b:c0c9:: with SMTP id s9mr8423135wmh.166.1594208583121;\n Wed, 08 Jul 2020 04:43:03 -0700 (PDT)", "Date": "Wed, 8 Jul 2020 13:43:02 +0200", "From": "Olivier Matz <olivier.matz@6wind.com>", "To": "Phil Yang <Phil.Yang@arm.com>", "Cc": "Stephen Hemminger <stephen@networkplumber.org>,\n \"david.marchand@redhat.com\" <david.marchand@redhat.com>,\n \"dev@dpdk.org\" <dev@dpdk.org>,\n \"drc@linux.vnet.ibm.com\" <drc@linux.vnet.ibm.com>,\n Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,\n Ruifeng Wang <Ruifeng.Wang@arm.com>, nd <nd@arm.com>", "Message-ID": "<20200708114301.GN5869@platinum>", "References": "<1591871178-12542-1-git-send-email-phil.yang@arm.com>\n <1594116633-14554-1-git-send-email-phil.yang@arm.com>\n <20200707101314.42df824c@hermes.lan>\n <VE1PR08MB4640935CA367E216F788DEE5E9670@VE1PR08MB4640.eurprd08.prod.outlook.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=us-ascii", "Content-Disposition": "inline", "In-Reply-To": "\n <VE1PR08MB4640935CA367E216F788DEE5E9670@VE1PR08MB4640.eurprd08.prod.outlook.com>", "User-Agent": "Mutt/1.10.1 (2018-07-13)", "Subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 115498, "web_url": "https://patches.dpdk.org/comment/115498/", "msgid": "<20200708114428.GO5869@platinum>", "list_archive_url": "https://inbox.dpdk.org/dev/20200708114428.GO5869@platinum", "date": "2020-07-08T11:44:28", "subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "submitter": { "id": 8, "url": "https://patches.dpdk.org/api/people/8/?format=api", "name": "Olivier Matz", "email": "olivier.matz@6wind.com" }, "content": "Hi,\n\nOn Tue, Jul 07, 2020 at 06:10:33PM +0800, Phil Yang wrote:\n> Use C11 atomics with explicit ordering instead of rte_atomic ops which\n> enforce unnecessary barriers on aarch64.\n> \n> Signed-off-by: Phil Yang <phil.yang@arm.com>\n> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>\n> ---\n> v2:\n> Fix ABI issue: revert the rte_mbuf_ext_shared_info struct refcnt field\n> to refcnt_atomic.\n> \n> lib/librte_mbuf/rte_mbuf.c | 1 -\n> lib/librte_mbuf/rte_mbuf.h | 19 ++++++++++---------\n> lib/librte_mbuf/rte_mbuf_core.h | 11 +++--------\n> 3 files changed, 13 insertions(+), 18 deletions(-)\n> \n> diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c\n> index ae91ae2..8a456e5 100644\n> --- a/lib/librte_mbuf/rte_mbuf.c\n> +++ b/lib/librte_mbuf/rte_mbuf.c\n> @@ -22,7 +22,6 @@\n> #include <rte_eal.h>\n> #include <rte_per_lcore.h>\n> #include <rte_lcore.h>\n> -#include <rte_atomic.h>\n> #include <rte_branch_prediction.h>\n> #include <rte_mempool.h>\n> #include <rte_mbuf.h>\n> diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h\n> index f8e492e..4a7a98c 100644\n> --- a/lib/librte_mbuf/rte_mbuf.h\n> +++ b/lib/librte_mbuf/rte_mbuf.h\n> @@ -37,7 +37,6 @@\n> #include <rte_config.h>\n> #include <rte_mempool.h>\n> #include <rte_memory.h>\n> -#include <rte_atomic.h>\n> #include <rte_prefetch.h>\n> #include <rte_branch_prediction.h>\n> #include <rte_byteorder.h>\n> @@ -365,7 +364,7 @@ rte_pktmbuf_priv_flags(struct rte_mempool *mp)\n> static inline uint16_t\n> rte_mbuf_refcnt_read(const struct rte_mbuf *m)\n> {\n> -\treturn (uint16_t)(rte_atomic16_read(&m->refcnt_atomic));\n> +\treturn __atomic_load_n(&m->refcnt, __ATOMIC_RELAXED);\n> }\n> \n> /**\n> @@ -378,14 +377,15 @@ rte_mbuf_refcnt_read(const struct rte_mbuf *m)\n> static inline void\n> rte_mbuf_refcnt_set(struct rte_mbuf *m, uint16_t new_value)\n> {\n> -\trte_atomic16_set(&m->refcnt_atomic, (int16_t)new_value);\n> +\t__atomic_store_n(&m->refcnt, new_value, __ATOMIC_RELAXED);\n> }\n> \n> /* internal */\n> static inline uint16_t\n> __rte_mbuf_refcnt_update(struct rte_mbuf *m, int16_t value)\n> {\n> -\treturn (uint16_t)(rte_atomic16_add_return(&m->refcnt_atomic, value));\n> +\treturn (uint16_t)(__atomic_add_fetch((int16_t *)&m->refcnt, value,\n> +\t\t\t\t\t__ATOMIC_ACQ_REL));\n> }\n> \n> /**\n> @@ -466,7 +466,7 @@ rte_mbuf_refcnt_set(struct rte_mbuf *m, uint16_t new_value)\n> static inline uint16_t\n> rte_mbuf_ext_refcnt_read(const struct rte_mbuf_ext_shared_info *shinfo)\n> {\n> -\treturn (uint16_t)(rte_atomic16_read(&shinfo->refcnt_atomic));\n> +\treturn __atomic_load_n(&shinfo->refcnt_atomic, __ATOMIC_RELAXED);\n> }\n> \n> /**\n> @@ -481,7 +481,7 @@ static inline void\n> rte_mbuf_ext_refcnt_set(struct rte_mbuf_ext_shared_info *shinfo,\n> \tuint16_t new_value)\n> {\n> -\trte_atomic16_set(&shinfo->refcnt_atomic, (int16_t)new_value);\n> +\t__atomic_store_n(&shinfo->refcnt_atomic, new_value, __ATOMIC_RELAXED);\n> }\n> \n> /**\n> @@ -505,7 +505,8 @@ rte_mbuf_ext_refcnt_update(struct rte_mbuf_ext_shared_info *shinfo,\n> \t\treturn (uint16_t)value;\n> \t}\n> \n> -\treturn (uint16_t)rte_atomic16_add_return(&shinfo->refcnt_atomic, value);\n> +\treturn (uint16_t)(__atomic_add_fetch((int16_t *)&shinfo->refcnt_atomic,\n> +\t\t\t\t\t value, __ATOMIC_ACQ_REL));\n> }\n> \n> /** Mbuf prefetch */\n> @@ -1304,8 +1305,8 @@ static inline int __rte_pktmbuf_pinned_extbuf_decref(struct rte_mbuf *m)\n> \t * Direct usage of add primitive to avoid\n> \t * duplication of comparing with one.\n> \t */\n> -\tif (likely(rte_atomic16_add_return\n> -\t\t\t(&shinfo->refcnt_atomic, -1)))\n> +\tif (likely(__atomic_add_fetch((int *)&shinfo->refcnt_atomic, -1,\n> +\t\t\t\t __ATOMIC_ACQ_REL)))\n> \t\treturn 1;\n> \n> \t/* Reinitialize counter before mbuf freeing. */\n> diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h\n> index 16600f1..806313a 100644\n> --- a/lib/librte_mbuf/rte_mbuf_core.h\n> +++ b/lib/librte_mbuf/rte_mbuf_core.h\n> @@ -18,7 +18,6 @@\n> \n> #include <stdint.h>\n> #include <rte_compat.h>\n> -#include <generic/rte_atomic.h>\n> \n> #ifdef __cplusplus\n> extern \"C\" {\n> @@ -495,12 +494,8 @@ struct rte_mbuf {\n> \t * or non-atomic) is controlled by the CONFIG_RTE_MBUF_REFCNT_ATOMIC\n> \t * config option.\n> \t */\n> -\tRTE_STD_C11\n> -\tunion {\n> -\t\trte_atomic16_t refcnt_atomic; /**< Atomically accessed refcnt */\n> -\t\t/** Non-atomically accessed refcnt */\n> -\t\tuint16_t refcnt;\n> -\t};\n> +\tuint16_t refcnt;\n> +\n\nIt seems this patch does 2 things:\n- remove refcnt_atomic\n- use C11 atomics\n\nThe first change is an API break. I think it should be announced in a deprecation\nnotice. The one about atomic does not talk about it.\n\nSo I suggest to keep refcnt_atomic until next version.\n\n\n> \tuint16_t nb_segs; /**< Number of segments. */\n> \n> \t/** Input port (16 bits to support more than 256 virtual ports).\n> @@ -679,7 +674,7 @@ typedef void (*rte_mbuf_extbuf_free_callback_t)(void *addr, void *opaque);\n> struct rte_mbuf_ext_shared_info {\n> \trte_mbuf_extbuf_free_callback_t free_cb; /**< Free callback function */\n> \tvoid *fcb_opaque; /**< Free callback argument */\n> -\trte_atomic16_t refcnt_atomic; /**< Atomically accessed refcnt */\n> +\tuint16_t refcnt_atomic; /**< Atomically accessed refcnt */\n> };\n> \n> /**< Maximum number of nb_segs allowed. */\n> -- \n> 2.7.4\n>", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id A2043A0526;\n\tWed, 8 Jul 2020 13:44:32 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 613C91DB73;\n\tWed, 8 Jul 2020 13:44:32 +0200 (CEST)", "from mail-wr1-f68.google.com (mail-wr1-f68.google.com\n [209.85.221.68]) by dpdk.org (Postfix) with ESMTP id 4D11D1DAEB\n for <dev@dpdk.org>; Wed, 8 Jul 2020 13:44:30 +0200 (CEST)", "by mail-wr1-f68.google.com with SMTP id o11so48649925wrv.9\n for <dev@dpdk.org>; Wed, 08 Jul 2020 04:44:30 -0700 (PDT)", "from 6wind.com\n (2a01cb0c0005a600345636f7e65ed1a0.ipv6.abo.wanadoo.fr.\n [2a01:cb0c:5:a600:3456:36f7:e65e:d1a0])\n by smtp.gmail.com with ESMTPSA id a22sm5279512wmb.4.2020.07.08.04.44.29\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 08 Jul 2020 04:44:29 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google;\n h=date:from:to:cc:subject:message-id:references:mime-version\n :content-disposition:in-reply-to:user-agent;\n bh=fBFiuYeDM26KCeIMaU9FWwOHbpBtA3W+AKpTXBmGwZI=;\n b=XPD4Av0bvHSJZUlw9VSddhZkygTn/HMNgQgg0gqj0WTv1yQysUZYBr5IG7sCjgiY9N\n IgqGz+4gDm9pc0B3Eqb2YA2jt3Y370vnwVuupfaVmsQVXGit0Ynnq01gpg9zbA859Onn\n 5Y1LJX+vfNzS24nB4x+QQSO32NWcOraePgdy9pVu2RE8Yni0Bnv/07z97bijpmf9Pkdx\n B1Z97CVRcXisRi4i1JOV/RtIDJfpnakY5t2gD2ZbO7OFxaj80DG5rxZcLwfoaK4k1Gvs\n 9dQTllSnhl0q8H8ZCooLc8jLezs+VQ7+yG9y3/tT3FY4YAar7wXioBgPwQrc0aKpVUtU\n qs2w==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:date:from:to:cc:subject:message-id:references\n :mime-version:content-disposition:in-reply-to:user-agent;\n bh=fBFiuYeDM26KCeIMaU9FWwOHbpBtA3W+AKpTXBmGwZI=;\n b=UEWe80NySgrYXH7soXML9sEi1HzzMbQOLPYOC8EDXlRR2BtzOw0gm0A+rRbx08139v\n I2P5sUJ0Dl+ChsMl7A91Wr5zaBkTtAWKSD++NzKqJn0SsGFidtsl89lmmCf9Up0hjGiF\n /803U/XveZCINY2wucxgNhLQkClO6FsLZL51pAbm4WjLBdrulqWTl/qT9mjRIHYEDnjR\n I2S1EouaDkSzgBJfyea/VSN9fmYaZm6V+tpbXDXLuD26arfDpe7euIddjqt2wLHwLvMc\n MFe5H2nfu9b71ZCYX+CIf6drdDnCJT+ZxzjUzMQqTWq95AnZDMQxrWXfVhjGk9gGpmrk\n wG8g==", "X-Gm-Message-State": "AOAM532U97U61Gzj85S608TqdKg/BkY16sYSxER6xzSVBvR4E3sS+zzj\n CWKvV10MJvSDmmB/qIAqwYdMLQ==", "X-Google-Smtp-Source": "\n ABdhPJx2jvF5obJ5W3kSxoYR1hO876dBO//cgEh+QGUq6jYJp+0XB4fyqVfEaCabwcQ/y7x0JPRkPA==", "X-Received": "by 2002:a5d:4dc2:: with SMTP id f2mr59378516wru.399.1594208670014;\n Wed, 08 Jul 2020 04:44:30 -0700 (PDT)", "Date": "Wed, 8 Jul 2020 13:44:28 +0200", "From": "Olivier Matz <olivier.matz@6wind.com>", "To": "Phil Yang <phil.yang@arm.com>", "Cc": "david.marchand@redhat.com, dev@dpdk.org, drc@linux.vnet.ibm.com,\n Honnappa.Nagarahalli@arm.com, ruifeng.wang@arm.com, nd@arm.com", "Message-ID": "<20200708114428.GO5869@platinum>", "References": "<1591871178-12542-1-git-send-email-phil.yang@arm.com>\n <1594116633-14554-1-git-send-email-phil.yang@arm.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=us-ascii", "Content-Disposition": "inline", "In-Reply-To": "<1594116633-14554-1-git-send-email-phil.yang@arm.com>", "User-Agent": "Mutt/1.10.1 (2018-07-13)", "Subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 115602, "web_url": "https://patches.dpdk.org/comment/115602/", "msgid": "<VE1PR08MB4640ED9DD63FB69B113701AEE9640@VE1PR08MB4640.eurprd08.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/VE1PR08MB4640ED9DD63FB69B113701AEE9640@VE1PR08MB4640.eurprd08.prod.outlook.com", "date": "2020-07-09T09:52:45", "subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "submitter": { "id": 833, "url": "https://patches.dpdk.org/api/people/833/?format=api", "name": "Phil Yang", "email": "phil.yang@arm.com" }, "content": "> -----Original Message-----\n> From: Olivier Matz <olivier.matz@6wind.com>\n> Sent: Wednesday, July 8, 2020 7:43 PM\n> To: Phil Yang <Phil.Yang@arm.com>\n> Cc: Stephen Hemminger <stephen@networkplumber.org>;\n> david.marchand@redhat.com; dev@dpdk.org; drc@linux.vnet.ibm.com;\n> Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; Ruifeng Wang\n> <Ruifeng.Wang@arm.com>; nd <nd@arm.com>\n> Subject: Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n> operations\n> \n> On Wed, Jul 08, 2020 at 04:48:33AM +0000, Phil Yang wrote:\n> > > -----Original Message-----\n> > > From: Stephen Hemminger <stephen@networkplumber.org>\n> > > Sent: Wednesday, July 8, 2020 1:13 AM\n> > > To: Phil Yang <Phil.Yang@arm.com>\n> > > Cc: david.marchand@redhat.com; dev@dpdk.org;\n> drc@linux.vnet.ibm.com;\n> > > Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>;\n> > > olivier.matz@6wind.com; Ruifeng Wang <Ruifeng.Wang@arm.com>; nd\n> > > <nd@arm.com>\n> > > Subject: Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n> > > operations\n> > >\n> > > On Tue, 7 Jul 2020 18:10:33 +0800\n> > > Phil Yang <phil.yang@arm.com> wrote:\n> > >\n> > > > +\treturn (uint16_t)(__atomic_add_fetch((int16_t *)&shinfo-\n> > > >refcnt_atomic,\n> > > > +\n> > >\n> > > Why do you need so many casts here?\n> > > The type of refcnt_atomic is now uint16 after your patch.\n> >\n> > In the existing code, the input parameter type for this API is signed integer.\n> For example:\n> > drivers/net/netvsc/hn_rxtx.c:531\n> > lib/librte_mbuf/rte_mbuf.h:1194\n> >\n> > However, the output type of rte_mbuf_ext_refcnt related APIs is not\n> uniform. We use these typecast to consistent with the current API definition.\n> \n> Would it make sense to cast the increment instead?\n\nYes. It is better.\nThanks.\n\n> \n> I mean:\n> \n> \treturn __atomic_add_fetch(&m->refcnt, (uint16_t)value,\n> __ATOMIC_ACQ_REL);\n> \n> instead of:\n> \n> \treturn (uint16_t)(__atomic_add_fetch((int16_t *)&m->refcnt, value,\n> \t\t\t\t__ATOMIC_ACQ_REL));\n> \n> \n> The same could apply to __rte_pktmbuf_pinned_extbuf_decref() I think:\n> \n> > -\tif (likely(rte_atomic16_add_return\n> > -\t\t\t(&shinfo->refcnt_atomic, -1)))\n> > +\tif (likely(__atomic_add_fetch((int *)&shinfo->refcnt_atomic, -1,\n> > +\t\t\t\t __ATOMIC_ACQ_REL)))\n> \n> By the way, why was the cast was to (int *) in this case? I think\n> it can overwrite fields beside refcnt.\nFixed in the next version.\n\nThanks,\nPhil", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 59BDEA0528;\n\tThu, 9 Jul 2020 11:52:58 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id C316B1E54F;\n\tThu, 9 Jul 2020 11:52:57 +0200 (CEST)", "from EUR04-DB3-obe.outbound.protection.outlook.com\n (mail-eopbgr60076.outbound.protection.outlook.com [40.107.6.76])\n by dpdk.org (Postfix) with ESMTP id 57EC01E54B\n for <dev@dpdk.org>; Thu, 9 Jul 2020 11:52:56 +0200 (CEST)", "from AM5PR0202CA0003.eurprd02.prod.outlook.com\n (2603:10a6:203:69::13) by DB7PR08MB2970.eurprd08.prod.outlook.com\n (2603:10a6:5:17::21) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.20; Thu, 9 Jul\n 2020 09:52:55 +0000", "from AM5EUR03FT020.eop-EUR03.prod.protection.outlook.com\n (2603:10a6:203:69:cafe::ba) by AM5PR0202CA0003.outlook.office365.com\n (2603:10a6:203:69::13) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.22 via Frontend\n Transport; Thu, 9 Jul 2020 09:52:55 +0000", "from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by\n AM5EUR03FT020.mail.protection.outlook.com (10.152.16.116) with\n Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.3174.21 via Frontend Transport; Thu, 9 Jul 2020 09:52:55 +0000", "(\"Tessian outbound c4059ed8d7bf:v62\");\n Thu, 09 Jul 2020 09:52:54 +0000", "from 2022ab143824.2\n by 64aa7808-outbound-1.mta.getcheckrecipient.com id\n F0D3FBC2-3012-4230-80E1-FEE3991E63A3.1;\n Thu, 09 Jul 2020 09:52:49 +0000", "from EUR04-DB3-obe.outbound.protection.outlook.com\n by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id\n 2022ab143824.2\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);\n Thu, 09 Jul 2020 09:52:49 +0000", "from VE1PR08MB4640.eurprd08.prod.outlook.com (2603:10a6:802:b2::11)\n by VE1PR08MB4910.eurprd08.prod.outlook.com (2603:10a6:802:ac::15)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.24; Thu, 9 Jul\n 2020 09:52:45 +0000", "from VE1PR08MB4640.eurprd08.prod.outlook.com\n ([fe80::c2e:9ccb:a690:6863]) by VE1PR08MB4640.eurprd08.prod.outlook.com\n ([fe80::c2e:9ccb:a690:6863%6]) with mapi id 15.20.3174.022; Thu, 9 Jul 2020\n 09:52:45 +0000" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=UjTDMK/uYxND/iqSeC1kZxGEfe+hSYhRm2hR5pEwqZo=;\n b=fiwROk+xe31PijPqLMe8extanyJDd6T1jjE2PrCi8XqkkTbSiufv9ShUwF5kGbMRzGrF2PTz1jAtCU7k+0F9NRgmjysLjkGbJuMzk4jCSASjDhmwJOMXe7CZHkPxj3L8w5nbnlM18vrTXmUxFs8J4zqGrfIQ9j8nKJEJ676l2nQ=", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=UjTDMK/uYxND/iqSeC1kZxGEfe+hSYhRm2hR5pEwqZo=;\n b=fiwROk+xe31PijPqLMe8extanyJDd6T1jjE2PrCi8XqkkTbSiufv9ShUwF5kGbMRzGrF2PTz1jAtCU7k+0F9NRgmjysLjkGbJuMzk4jCSASjDhmwJOMXe7CZHkPxj3L8w5nbnlM18vrTXmUxFs8J4zqGrfIQ9j8nKJEJ676l2nQ=" ], "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 63.35.35.123)\n smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified)\n header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none\n header.from=arm.com;", "Received-SPF": "Pass (protection.outlook.com: domain of arm.com designates\n 63.35.35.123 as permitted sender) receiver=protection.outlook.com;\n client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;", "X-CR-MTA-TID": "64aa7808", "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=Ri3PGuONtVik6HKFuHyvDHAfk0Cm8+0xFvBU0F7o8ZztSibAA9J7NyqPAranSVJw6o4sumhR7sZO2rjGq5K2wIGF8dSfyRJ2EW21fe9d49wrmdfVm8M5xUYiL7G8x6D0I8t3TJBLSTnEREeBvB0Nfzhnt1tQxSCvV5kQQzF63h4dcf+2j/5qVY3kBVAANVOZ57OUAyAkxmKUcHv1zRmGBjfdj1o02PducL233u7eSbK9xlzgo500Y5orPSpiQCbDuFkgBeYX03KOcofzMEJD0LY5X3zklR1Sgc1ScftoEST4HNnrKllsF1bGlLyzojeBnMu+QwTUV3bVjlrohhZYog==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=UjTDMK/uYxND/iqSeC1kZxGEfe+hSYhRm2hR5pEwqZo=;\n b=i1jmOS5RP5/riPM2rG0BAdp6hcNABBLXwKYL3+TjWerBYu1Tpb8GQSOMKbtOUPIcplWXCXRmka+MMyMFOHsOU0alsEfI1+9CUNxt0RYRyytASkqr9dtePFogNMs1me9ruk6EH0eXMGZM0jqnrxOEFewlExBp7wZ1JATFQW2gv4P3OMsOhODZHU9tsQJHUUmhX0beeXKlC/ZJHwtM+HoOowZr480kVK+NxbUqsnxMnqnCoIb+tOzp2PW3mme18O6gJzASZyP1t5s9UJomMP0e9zHAM7DYGjAZXiR25MKjpGnmL8qhf0MWPBUReAosSvxpJEytZfRRjzQNM7/Rw5unEw==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass\n header.d=arm.com; arc=none", "From": "Phil Yang <Phil.Yang@arm.com>", "To": "Olivier Matz <olivier.matz@6wind.com>", "CC": "Stephen Hemminger <stephen@networkplumber.org>,\n \"david.marchand@redhat.com\" <david.marchand@redhat.com>, \"dev@dpdk.org\"\n <dev@dpdk.org>, \"drc@linux.vnet.ibm.com\" <drc@linux.vnet.ibm.com>, Honnappa\n Nagarahalli <Honnappa.Nagarahalli@arm.com>, Ruifeng Wang\n <Ruifeng.Wang@arm.com>, nd <nd@arm.com>", "Thread-Topic": "[dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n operations", "Thread-Index": "AQHWVEbwX0ZZhWoutEejPVv4HOUHjKj8Wz4AgAC86dCAAHkqAIABURdw", "Date": "Thu, 9 Jul 2020 09:52:45 +0000", "Message-ID": "\n <VE1PR08MB4640ED9DD63FB69B113701AEE9640@VE1PR08MB4640.eurprd08.prod.outlook.com>", "References": "<1591871178-12542-1-git-send-email-phil.yang@arm.com>\n <1594116633-14554-1-git-send-email-phil.yang@arm.com>\n <20200707101314.42df824c@hermes.lan>\n <VE1PR08MB4640935CA367E216F788DEE5E9670@VE1PR08MB4640.eurprd08.prod.outlook.com>\n <20200708114301.GN5869@platinum>", "In-Reply-To": "<20200708114301.GN5869@platinum>", "Accept-Language": "zh-CN, en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-ts-tracking-id": "0b6c2bd2-886c-4853-b44c-83cdd0841a85.0", "x-checkrecipientchecked": "true", "Authentication-Results-Original": "6wind.com; dkim=none (message not signed)\n header.d=none;6wind.com; dmarc=none action=none header.from=arm.com;", "x-originating-ip": "[203.126.0.112]", "x-ms-publictraffictype": "Email", "X-MS-Office365-Filtering-HT": "Tenant", "X-MS-Office365-Filtering-Correlation-Id": "a1f84de2-7fd5-47a4-c50f-08d823edda65", "x-ms-traffictypediagnostic": "VE1PR08MB4910:|DB7PR08MB2970:", "x-ms-exchange-transport-forked": "True", "X-Microsoft-Antispam-PRVS": "\n <DB7PR08MB29703089E56CC552D532F2A8E9640@DB7PR08MB2970.eurprd08.prod.outlook.com>", "x-checkrecipientrouted": "true", "nodisclaimer": "true", "x-ms-oob-tlc-oobclassifiers": "OLM:8273;OLM:8273;", "x-forefront-prvs": "04599F3534", "X-MS-Exchange-SenderADCheck": "1", "X-Microsoft-Antispam-Untrusted": "BCL:0;", "X-Microsoft-Antispam-Message-Info-Original": "\n oek2PNvSaRnpMpDTR4lUIfiZMsgR8nwSOdvnLpLmGx6DIn9yUhCDdbjNRJs82xbyuu/ReuKSnmPjQCnnJAnFutzSiL1zVK5/NwsGCqmwKkbqu8MMH1xoV/uLlFI4HkPKCieW+YHq7YMsR0a3nk3/3bMzFlGBOJ78nNnlgr3qi02GA+h35rgVdwG80wBu/W47NFq0goArkK6l+97ix669jueVLVVkzTp76cXtEb8gRTOXYayv6RzNwo+SX7V88LKaNqY6TMb4LVmQLqxmhDDm5CdsYHxkbSvLpICaSN5s6zgZHYnFLPKKB13++LSlMsvrdAA8SkGDz/VN7Fyfenen2Q==", "X-Forefront-Antispam-Report-Untrusted": "CIP:255.255.255.255; CTRY:; LANG:en;\n SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR08MB4640.eurprd08.prod.outlook.com;\n PTR:; CAT:NONE; SFTY:;\n SFS:(4636009)(39860400002)(136003)(396003)(366004)(376002)(346002)(55016002)(4326008)(186003)(6916009)(2906002)(7696005)(54906003)(316002)(9686003)(33656002)(478600001)(71200400001)(6506007)(53546011)(76116006)(26005)(66946007)(64756008)(66446008)(66556008)(66476007)(52536014)(5660300002)(83380400001)(86362001)(8936002)(8676002);\n DIR:OUT; SFP:1101;", "x-ms-exchange-antispam-messagedata": "\n dTZLD/GPzx4DxYqEzI0Yr4VQtv4Xon49pUGkTvX2LXmrlyynEuUhvJZm1GWKAsMD0V0VfVL1N9nPE6m9fa7jcpoFzGZULDAXkrrSNc9ktX1Y93bkmYZSIPlB8BzBz1rsv0lIFt4IDGapUlawJnwT5i6yez3DmIVbUiSbe7LfkvDyzqjm5dnoUVAcym2OjpbBZmknRlWRy46RxYuBxknVxNvVsN7vAIaDoXnJrXhDn30VTyDMh1UAiFTc4wWXZKHNBEeZNC/S9bw483PFTPFlpLqawvZHCdGd8i1vJ5V+MpNn6CG1n/v8deyd4rDNGn4a72VdE4xuw3RRUePXhDJVKMPLLDRr7Hb12+7wjpKj09U5j/7dPWa3WLhiXX6dO3HbKie0Ip+Gh73gTaDk5UHQT9qNU8Zn4nnSqgfYWr8KTzV5ooOtSV6rmQsI0b1sZIFRYc4OsSY4KvomKIv3DAxzoAVz5b92NTQfAs2jm5sxZtQ=", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [ "VE1PR08MB4910", "DB7PR08MB2970" ], "Original-Authentication-Results": "6wind.com; dkim=none (message not signed)\n header.d=none;6wind.com; dmarc=none action=none header.from=arm.com;", "X-EOPAttributedMessage": "0", "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n AM5EUR03FT020.eop-EUR03.prod.protection.outlook.com", "X-Forefront-Antispam-Report": "CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com;\n PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:;\n SFS:(4636009)(346002)(376002)(396003)(39860400002)(136003)(46966005)(83380400001)(86362001)(52536014)(54906003)(478600001)(53546011)(81166007)(70586007)(4326008)(9686003)(7696005)(336012)(55016002)(5660300002)(8676002)(2906002)(33656002)(36906005)(6506007)(26005)(47076004)(6862004)(8936002)(186003)(82310400002)(82740400003)(316002)(356005)(70206006);\n DIR:OUT; SFP:1101;", "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n e46e6d56-8fa6-40a5-cb35-08d823edd4cb", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n UjdJea9MQuIJcl6Hhhyx3b7zhpNNB+KTuFY4SFGGC6/fH+34fwQzT+L/X+XxyyfRkb3eDdWJ1TEsBU+iV9zeYrvOJ1aT1FF8nJROMZz/3wNoJR4rHQy7bt4ZXvTtp8aa33xijW07vKh8l4OFn57tDQdjO0DvrU1CL2VHCSkkIOpSsvwElrbRtEkBXNdXsfPPQpsTQFOqRCGtKx6okNhChNAkSeybb8RN8wa2uuMYULixopSvfVbSz56Sf5NR02mD+g48PESQ+q2NFeXxT0P/PdM0oEh19zKYaN4c99FsQrUcrqJf5Nj0GGyZ9n3Sk1EQg/k024SSMPR2UbO0DvcE2n1SPEH78/yXv3G1HIZ8K2PwvfnJf18NAnNBPJ15QVkQZTto3L680DdK5RRBuqwwkQ==", "X-OriginatorOrg": "arm.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "09 Jul 2020 09:52:55.0695 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n a1f84de2-7fd5-47a4-c50f-08d823edda65", "X-MS-Exchange-CrossTenant-Id": "f34e5979-57d9-4aaa-ad4d-b122a662184d", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];\n Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]", "X-MS-Exchange-CrossTenant-AuthSource": "\n AM5EUR03FT020.eop-EUR03.prod.protection.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "Subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null }, { "id": 115604, "web_url": "https://patches.dpdk.org/comment/115604/", "msgid": "<VE1PR08MB4640858A732B950D8CE2C1B8E9640@VE1PR08MB4640.eurprd08.prod.outlook.com>", "list_archive_url": "https://inbox.dpdk.org/dev/VE1PR08MB4640858A732B950D8CE2C1B8E9640@VE1PR08MB4640.eurprd08.prod.outlook.com", "date": "2020-07-09T10:00:23", "subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "submitter": { "id": 833, "url": "https://patches.dpdk.org/api/people/833/?format=api", "name": "Phil Yang", "email": "phil.yang@arm.com" }, "content": "> -----Original Message-----\n> From: Olivier Matz <olivier.matz@6wind.com>\n> Sent: Wednesday, July 8, 2020 7:44 PM\n> To: Phil Yang <Phil.Yang@arm.com>\n> Cc: david.marchand@redhat.com; dev@dpdk.org; drc@linux.vnet.ibm.com;\n> Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; Ruifeng Wang\n> <Ruifeng.Wang@arm.com>; nd <nd@arm.com>\n> Subject: Re: [PATCH v2] mbuf: use C11 atomics for refcnt operations\n> \n> Hi,\n> \n> On Tue, Jul 07, 2020 at 06:10:33PM +0800, Phil Yang wrote:\n> > Use C11 atomics with explicit ordering instead of rte_atomic ops which\n> > enforce unnecessary barriers on aarch64.\n> >\n> > Signed-off-by: Phil Yang <phil.yang@arm.com>\n> > Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>\n> > ---\n> > v2:\n> > Fix ABI issue: revert the rte_mbuf_ext_shared_info struct refcnt field\n> > to refcnt_atomic.\n> >\n> > lib/librte_mbuf/rte_mbuf.c | 1 -\n> > lib/librte_mbuf/rte_mbuf.h | 19 ++++++++++---------\n> > lib/librte_mbuf/rte_mbuf_core.h | 11 +++--------\n> > 3 files changed, 13 insertions(+), 18 deletions(-)\n> >\n\n<snip>\n\n> \n> It seems this patch does 2 things:\n> - remove refcnt_atomic\n> - use C11 atomics\n> \n> The first change is an API break. I think it should be announced in a\n> deprecation\n> notice. The one about atomic does not talk about it.\n> \n> So I suggest to keep refcnt_atomic until next version.\n\nAgreed.\nI did a local test, this approach doesn't have any ABI breakage issue.\nI will update in the next version. \n\nThanks,\nPhil\n\n> \n> \n> > \tuint16_t nb_segs; /**< Number of segments. */\n> >\n> > \t/** Input port (16 bits to support more than 256 virtual ports).\n> > @@ -679,7 +674,7 @@ typedef void\n> (*rte_mbuf_extbuf_free_callback_t)(void *addr, void *opaque);\n> > struct rte_mbuf_ext_shared_info {\n> > \trte_mbuf_extbuf_free_callback_t free_cb; /**< Free callback\n> function */\n> > \tvoid *fcb_opaque; /**< Free callback argument */\n> > -\trte_atomic16_t refcnt_atomic; /**< Atomically accessed refcnt */\n> > +\tuint16_t refcnt_atomic; /**< Atomically accessed refcnt */\n> > };\n> >\n> > /**< Maximum number of nb_segs allowed. */\n> > --\n> > 2.7.4\n> >", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 5BAEAA0528;\n\tThu, 9 Jul 2020 12:00:35 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 2FA071E551;\n\tThu, 9 Jul 2020 12:00:35 +0200 (CEST)", "from EUR05-DB8-obe.outbound.protection.outlook.com\n (mail-db8eur05on2076.outbound.protection.outlook.com [40.107.20.76])\n by dpdk.org (Postfix) with ESMTP id 6C76E1DEA4\n for <dev@dpdk.org>; Thu, 9 Jul 2020 12:00:34 +0200 (CEST)", "from DB6PR0301CA0003.eurprd03.prod.outlook.com (2603:10a6:4:3e::13)\n by VI1PR0801MB1727.eurprd08.prod.outlook.com (2603:10a6:800:5a::17)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.20; Thu, 9 Jul\n 2020 10:00:33 +0000", "from DB5EUR03FT054.eop-EUR03.prod.protection.outlook.com\n (2603:10a6:4:3e:cafe::a6) by DB6PR0301CA0003.outlook.office365.com\n (2603:10a6:4:3e::13) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21 via Frontend\n Transport; Thu, 9 Jul 2020 10:00:33 +0000", "from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by\n DB5EUR03FT054.mail.protection.outlook.com (10.152.20.248) with\n Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.3174.21 via Frontend Transport; Thu, 9 Jul 2020 10:00:33 +0000", "(\"Tessian outbound c83312565ef4:v62\");\n Thu, 09 Jul 2020 10:00:33 +0000", "from 6dede38bccbf.2\n by 64aa7808-outbound-1.mta.getcheckrecipient.com id\n B3A74FBC-BE62-4781-850B-D0E4F6356EDD.1;\n Thu, 09 Jul 2020 10:00:28 +0000", "from EUR04-DB3-obe.outbound.protection.outlook.com\n by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id\n 6dede38bccbf.2\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);\n Thu, 09 Jul 2020 10:00:28 +0000", "from VE1PR08MB4640.eurprd08.prod.outlook.com (2603:10a6:802:b2::11)\n by VE1PR08MB4910.eurprd08.prod.outlook.com (2603:10a6:802:ac::15)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.24; Thu, 9 Jul\n 2020 10:00:23 +0000", "from VE1PR08MB4640.eurprd08.prod.outlook.com\n ([fe80::c2e:9ccb:a690:6863]) by VE1PR08MB4640.eurprd08.prod.outlook.com\n ([fe80::c2e:9ccb:a690:6863%6]) with mapi id 15.20.3174.022; Thu, 9 Jul 2020\n 10:00:23 +0000" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=BmB+pPF1i4DGY2wmyOBhn0ZLdbhTJVWXmMFecScX3QY=;\n b=5Fgcdh59d45BJVWrIhLilhJHiZnca94HWvubK1QS/UjhdP/uk03siQ/53105nXkPKZAo69bMflbbLjNhLSb9Q9gechQgxkXJIypjzp4PhobDbe8FihaBEFhitv0V5Tm+kOg6kIBJUwU8nJS7j0rph+WSBYNHK0vsHa2Ic1wfdYE=", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;\n s=selector2-armh-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=BmB+pPF1i4DGY2wmyOBhn0ZLdbhTJVWXmMFecScX3QY=;\n b=5Fgcdh59d45BJVWrIhLilhJHiZnca94HWvubK1QS/UjhdP/uk03siQ/53105nXkPKZAo69bMflbbLjNhLSb9Q9gechQgxkXJIypjzp4PhobDbe8FihaBEFhitv0V5Tm+kOg6kIBJUwU8nJS7j0rph+WSBYNHK0vsHa2Ic1wfdYE=" ], "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 63.35.35.123)\n smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified)\n header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none\n header.from=arm.com;", "Received-SPF": "Pass (protection.outlook.com: domain of arm.com designates\n 63.35.35.123 as permitted sender) receiver=protection.outlook.com;\n client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;", "X-CR-MTA-TID": "64aa7808", "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=cVsyDct92ioYjlWNxIBATcdIzwjsIchd8wzFzSGXedk/7ZLzFp1GaH6NlinMyWnNm9MjHFD/YRlRtIbf9b0lQqJwWd3I1xkOTV4o8Ms5zrBxZe34okOU+jE3KIJi2WVYkRwVx4v0kDlavJAHOKOJxEx2jB+PdR6vO4s+HeTWPeeuMnN9ASO0mPfZOxhfYO1iQABVIKklHIS9p9dr0fM9hoPCM6jV0SfLwg/k5SJmBzPWiGZjTlW1tRZ5wvqVqGZ3VrNd6EC6UKvL7Fdi8L5ITy67dpwkieot1TRnsD9OPlVp2rASU9VxD8XXLXgd+Y00dGeh2wdpRhXvxyCrvy1OIQ==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=BmB+pPF1i4DGY2wmyOBhn0ZLdbhTJVWXmMFecScX3QY=;\n b=OtXTxDVCWHX/XMt/CjGcEpjDKqN8WejV99JDQ2D40wk0BiI2IMBnUCAcR47s71osleMt+fsbTc9aWieNnsMl7075QmRz2MdvXie4U1INu4+NMdHDD/U8NmQcgMwEzdwfdP9uTH+piuix7CbyzwVJ9LE7ydHp/V4akY4zStjcbIDudD6kKGTolBRi0uQtSTU/4F5R2/3UDjqTjaVJhJ7I+IdPk9c3/2Apf/Zf6F9T50SEbv/DBzEGdECcCx0ORvKlgUChNSkwlHjpaXVr0MonvDi+aDqW7q9CKpzF3Q85D/W/6cGiTnXP/ToYlvRvMFz53dmn869lfa6T0oNKsKDT8g==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass\n header.d=arm.com; arc=none", "From": "Phil Yang <Phil.Yang@arm.com>", "To": "Olivier Matz <olivier.matz@6wind.com>", "CC": "\"david.marchand@redhat.com\" <david.marchand@redhat.com>, \"dev@dpdk.org\"\n <dev@dpdk.org>, \"drc@linux.vnet.ibm.com\" <drc@linux.vnet.ibm.com>, Honnappa\n Nagarahalli <Honnappa.Nagarahalli@arm.com>, Ruifeng Wang\n <Ruifeng.Wang@arm.com>, nd <nd@arm.com>", "Thread-Topic": "[PATCH v2] mbuf: use C11 atomics for refcnt operations", "Thread-Index": "AQHWVR00pTIG4oOTZUS/nI0wX7HRZqj/AzOQ", "Date": "Thu, 9 Jul 2020 10:00:23 +0000", "Message-ID": "\n <VE1PR08MB4640858A732B950D8CE2C1B8E9640@VE1PR08MB4640.eurprd08.prod.outlook.com>", "References": "<1591871178-12542-1-git-send-email-phil.yang@arm.com>\n <1594116633-14554-1-git-send-email-phil.yang@arm.com>\n <20200708114428.GO5869@platinum>", "In-Reply-To": "<20200708114428.GO5869@platinum>", "Accept-Language": "zh-CN, en-US", "Content-Language": "en-US", "X-MS-Has-Attach": "", "X-MS-TNEF-Correlator": "", "x-ts-tracking-id": "21d8d2d7-90ef-445f-9f53-b71ca9db1b11.0", "x-checkrecipientchecked": "true", "Authentication-Results-Original": "6wind.com; dkim=none (message not signed)\n header.d=none;6wind.com; dmarc=none action=none header.from=arm.com;", "x-originating-ip": "[203.126.0.112]", "x-ms-publictraffictype": "Email", "X-MS-Office365-Filtering-HT": "Tenant", "X-MS-Office365-Filtering-Correlation-Id": "584778d9-a32b-426d-511f-08d823eeeb73", "x-ms-traffictypediagnostic": "VE1PR08MB4910:|VI1PR0801MB1727:", "x-ms-exchange-transport-forked": "True", "X-Microsoft-Antispam-PRVS": "\n <VI1PR0801MB1727303E00C35AF69379098DE9640@VI1PR0801MB1727.eurprd08.prod.outlook.com>", "x-checkrecipientrouted": "true", "nodisclaimer": "true", "x-ms-oob-tlc-oobclassifiers": "OLM:8882;OLM:8882;", "x-forefront-prvs": "04599F3534", "X-MS-Exchange-SenderADCheck": "1", "X-Microsoft-Antispam-Untrusted": "BCL:0;", "X-Microsoft-Antispam-Message-Info-Original": "\n ow5ccAl72AhLha3LP0h8K4vu8rF7DxGb3F90Kug/L51o1YvNd4kzTaHoJ5rmBt0l5yjF00SkekEcESjGKZmcrkbswJcLnrcXiLoPJyu3XNatuwclpeeyPXheMFxtLI+kfYkPQrMsDAgs0P7vQsonTJD8b5ngjFJnmLrnEpz8lim4Y5zsQNtoL+QtOdg1+xcRKe5E/QK/8Loknz5YLaJe6GctM6pWkMo+OCLFsLb+34MNatOyq/X4pUN0GNxtwdMr/FPK5fij3nzQSsaew3QjU5qjddxp6TFUQL2T8JXkkRDfIQH4rJHpqdVUPXbCVjBAz+XwaFNUXPG/HzYQ8vkl1w==", "X-Forefront-Antispam-Report-Untrusted": "CIP:255.255.255.255; CTRY:; LANG:en;\n SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR08MB4640.eurprd08.prod.outlook.com;\n PTR:; CAT:NONE; SFTY:;\n SFS:(4636009)(346002)(376002)(396003)(366004)(136003)(39860400002)(26005)(76116006)(66946007)(66446008)(66556008)(66476007)(64756008)(83380400001)(86362001)(8936002)(8676002)(5660300002)(52536014)(186003)(6916009)(55016002)(4326008)(71200400001)(478600001)(6506007)(53546011)(2906002)(9686003)(33656002)(316002)(7696005)(54906003);\n DIR:OUT; SFP:1101;", "x-ms-exchange-antispam-messagedata": "\n MQqiy1npYDNTm9uhpRBkM6x0bmvRgJGseB930s0Jo/nwjoQj4zZvD9hRaWCWD1KRpwbZfOcULmxk6CbxHQ8GSfLrwBFW32YuAhaPIiSkPpOfD0shhpsBpqpSKsUtxlpzmLL93JTiZX5AFQEkAcnqzZiInEJIojclgeqjLwuHaIKDAu9qDt91FtLklH02V/7n1zx1vfKuEizozFQcbshiujszPh8xP/Eab8+tjoKSEx4v6sW/BT896nK5FagOu0Eum/JFMaut0st5gCJ27qSSeqeOw1MeJXjC8z+IpdVJFJRWG1MU85t7zUphp5xPNZFS7T1jCObVfoIXAmkeq6iz6rAMXukjonQ1xYQ2oT+S1e6VFMJPkF8JVAbA8zIxwc/zdb8Z2D6VH1fkpCGrobkrZsZiQQxvd2CJ2LL96zza1M5LOPJ6dztSj3a8LIcBxzzwNfI/qwVdyUtxc/C7KmWvIxgF5VojMDExG+TwxbZKpqQ=", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "quoted-printable", "MIME-Version": "1.0", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": [ "VE1PR08MB4910", "VI1PR0801MB1727" ], "Original-Authentication-Results": "6wind.com; dkim=none (message not signed)\n header.d=none;6wind.com; dmarc=none action=none header.from=arm.com;", "X-EOPAttributedMessage": "0", "X-MS-Exchange-Transport-CrossTenantHeadersStripped": "\n DB5EUR03FT054.eop-EUR03.prod.protection.outlook.com", "X-Forefront-Antispam-Report": "CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com;\n PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:;\n SFS:(4636009)(136003)(346002)(396003)(39860400002)(376002)(46966005)(33656002)(8676002)(316002)(8936002)(478600001)(70586007)(81166007)(5660300002)(47076004)(82740400003)(82310400002)(70206006)(356005)(186003)(52536014)(26005)(4326008)(55016002)(2906002)(336012)(6862004)(9686003)(54906003)(86362001)(7696005)(83380400001)(53546011)(6506007);\n DIR:OUT; SFP:1101;", "X-MS-Office365-Filtering-Correlation-Id-Prvs": "\n c7cf4c96-6f89-4393-04a6-08d823eee584", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n /Ek8HD9NUao5GTLV1144IdTpi+NOpmSWZA+TNafBfKPP3U5mNfHC35pb4zP3LjZ2UrnwLXvRfrVcsRgN3PN8BTTgm6/QbrtywULezCVBjHwG7W3mg+tD2A+8X+bXSB71qo/7MumgEzg79iWfIUfOSf3Kl59Z1QNnTFUiLVKP/Q5v1O1kPi0gE6Fq5wkgrivGf9E0OhzXppkuzoAUDHdT4V3V/42edmvELiQohaRSQAyIHUuK9iJ3Li+MKQpbGHqGqmQ1KGzgwzCTrIb7SH8RyN7+512v1jhwz+kOCd1fzc0/iaFy9GMGnb+riV8ZatlM1A8i52EW2H/KHr8yMVr34i4iwYPx1qjtJnZ06HoFNrzq6vddE0xMyxKx7G6VUopB94yGwbic+lz/xemtfI2NKw==", "X-OriginatorOrg": "arm.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "09 Jul 2020 10:00:33.2217 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 584778d9-a32b-426d-511f-08d823eeeb73", "X-MS-Exchange-CrossTenant-Id": "f34e5979-57d9-4aaa-ad4d-b122a662184d", "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];\n Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]", "X-MS-Exchange-CrossTenant-AuthSource": "\n DB5EUR03FT054.eop-EUR03.prod.protection.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "Subject": "Re: [dpdk-dev] [PATCH v2] mbuf: use C11 atomics for refcnt\n\toperations", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "addressed": null } ]