From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Gavin.Hu@arm.com>
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00046.outbound.protection.outlook.com [40.107.0.46])
 by dpdk.org (Postfix) with ESMTP id BEB367CBC;
 Fri,  2 Nov 2018 08:15:51 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector1-arm-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2TtqH45dnlnmQXlJtWqKtKRBmpABezeEGdVCgAhmTBk=;
 b=Yw+Ql6fmBVJNDJx4shCY955WIIEZtjsUvaiibDRof3sTF+h3wYiqgsVQir97bUwwfNP9iUhYsmIOzJgmsJLjrx5GiW85IMG+eTlLMB7xIOAJQTuUPcZyu5qpqeG51w2XYxCCyByiQIJlNvGL1rO/kGoao788Jom614TLOmGj5Qw=
Received: from VI1PR08MB3167.eurprd08.prod.outlook.com (52.133.15.142) by
 VI1PR08MB3421.eurprd08.prod.outlook.com (20.177.59.11) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.1273.26; Fri, 2 Nov 2018 07:15:49 +0000
Received: from VI1PR08MB3167.eurprd08.prod.outlook.com
 ([fe80::d46a:1de3:53cd:3e49]) by VI1PR08MB3167.eurprd08.prod.outlook.com
 ([fe80::d46a:1de3:53cd:3e49%4]) with mapi id 15.20.1294.024; Fri, 2 Nov 2018
 07:15:49 +0000
From: "Gavin Hu (Arm Technology China)" <Gavin.Hu@arm.com>
To: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>, Stephen Hemminger
 <stephen@networkplumber.org>
CC: "dev@dpdk.org" <dev@dpdk.org>, "thomas@monjalon.net"
 <thomas@monjalon.net>, "olivier.matz@6wind.com" <olivier.matz@6wind.com>,
 "chaozhu@linux.vnet.ibm.com" <chaozhu@linux.vnet.ibm.com>,
 "bruce.richardson@intel.com" <bruce.richardson@intel.com>,
 "konstantin.ananyev@intel.com" <konstantin.ananyev@intel.com>,
 "jerin.jacob@caviumnetworks.com" <jerin.jacob@caviumnetworks.com>,
 "stable@dpdk.org" <stable@dpdk.org>, nd <nd@arm.com>
Thread-Topic: [PATCH v4 2/2] ring: move the atomic load of head above the loop
Thread-Index: AQHUccjZCIJwxa2i/k+ilpsv5CToGqU7LFmAgAB01bWAAEANEIAALnww
Date: Fri, 2 Nov 2018 07:15:48 +0000
Message-ID: <VI1PR08MB3167D05E09C39C714E60904D8FCF0@VI1PR08MB3167.eurprd08.prod.outlook.com>
References: <1541066031-29125-1-git-send-email-gavin.hu@arm.com>
 <1541066031-29125-3-git-send-email-gavin.hu@arm.com>,
 <20181101102601.7933b8d1@xeon-e3>
 <VI1PR08MB3167308B62BB96B9F99A93B08FCF0@VI1PR08MB3167.eurprd08.prod.outlook.com>
 <AM6PR08MB3672EB57F02379CD5649C6C998CF0@AM6PR08MB3672.eurprd08.prod.outlook.com>
In-Reply-To: <AM6PR08MB3672EB57F02379CD5649C6C998CF0@AM6PR08MB3672.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=Gavin.Hu@arm.com; 
x-originating-ip: [113.29.88.7]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; VI1PR08MB3421;
 6:KGikIDk4hpvV2IFiTxDiFp6tEr9dze28g6hPoFqr2ja2KFKnYa3VZS52lV9bzjv7wy/ENqjoiDRnVo7hY9OynM432maB0J9UPHi5Kp+Zs6ONwmU9tuVkRXm2kEAOf0rWhmMWr60rUu3/+xFLf2vEoAD+ENZ9dPqWHRspWw+FPf/wnKkD/SRx1NwcJD59C/zzbGrlf8rFN4bfKIGjt1ZU7qn0jGAtnlsSKEBtzrvWIX0LG0Q8X0GuFRA/ete30echhhWw70oawJe8Z8px33ar8rbGX0ZLBCfC00MELdHaAvxJ1P0thpyUlC2FxNbnQdRncylwMHO0KtEH3qLmiiAV7Axjda6O9vAiIUsJuij/mGTxiPwLiz4hDXhINWM/wo75S9g6z07DNeiEldbqw+YfKdaAkC7dWlGxjuyPjpsfzuzCABty9BF7Na5IHC7JiIdr8+Lr/03/ZIhkuA+NhxLkkQ==;
 5:HKsVBNP6fX0FaTGOLRkPkUajD5MQmWXP6AfIawLlHy87YGl9q+PY2UyRtp8iFgaY3RF5pGljTgwNFUeKsdmbPaeSb1ZUO0Q0R3KJk9v1a5NRBVL65eZKOXHQJ1DYFg2gsX3ltwIscpPyn05IRjVGtvqZKmEK6+d3pLMgjdObmeM=;
 7:1poAdr+KOJrhpGhW6d8RiWp0ybt17+/sB9O/OC6rc0bW9Lp5pP1jH/Oajy/+HoFv1vz2xyjWM47Xve55jcun70U0eimlsu8qpvVoh3zbVjCmAU8zBEfNslwOA0Y3rNmSQyBz99Vr/5hu2mUjXudj2g==
x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR;
x-ms-office365-filtering-correlation-id: 23354def-e1b8-4a70-ac38-08d640930416
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020);
 SRVR:VI1PR08MB3421; 
x-ms-traffictypediagnostic: VI1PR08MB3421:
nodisclaimer: True
x-microsoft-antispam-prvs: <VI1PR08MB3421049D81B668B942E780548FCF0@VI1PR08MB3421.eurprd08.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(104084551191319)(228905959029699)(209352067349851)(180628864354917); 
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231382)(944501410)(52105095)(3002001)(10201501046)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(201708071742011)(7699051)(76991095);
 SRVR:VI1PR08MB3421; BCL:0; PCL:0; RULEID:; SRVR:VI1PR08MB3421; 
x-forefront-prvs: 08444C7C87
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(366004)(39860400002)(376002)(346002)(396003)(136003)(199004)(189003)(13464003)(68736007)(66066001)(966005)(74316002)(7736002)(305945005)(14454004)(86362001)(486006)(2900100001)(229853002)(72206003)(5660300001)(110136005)(54906003)(316002)(71190400001)(71200400001)(11346002)(446003)(105586002)(106356001)(478600001)(476003)(25786009)(6246003)(76176011)(6306002)(186003)(97736004)(53936002)(7696005)(102836004)(55236004)(4326008)(6506007)(8936002)(93886005)(53546011)(99286004)(81166006)(6116002)(2906002)(55016002)(3846002)(33656002)(6436002)(81156014)(8676002)(14444005)(9686003)(256004)(26005);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB3421;
 H:VI1PR08MB3167.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:1; MX:1; 
received-spf: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
x-microsoft-antispam-message-info: FeTnGQMcxqbvmDnXyvSeplgAIv3LJ2sYPgecRiVGv/cPHFEW2Aoy4JAGIg2aHJQLYcunpYtSUjA9vQEwuNW4JZexzR968b6D5YymJ6sT6e0BtOLa0pa9W8+MVKSjkztTEbw7WzlbsQC9iO022kxAEVrtTiJ2v965nuX32ge6IVGop01TN9KlsSOSfJaEfOWft75T0haG+SCNLpd2EW1LD0N4IBtIGCV0EqHVmXMBbP7lWPWjfATTwsTmmCad7+AuZTSC6b24Q6OTv4c8lo44joiP/IgouB+wk/TuEiOas+bbZejGydhJEW9lkleGfM0jJIcdmZnA9lWVgH+tMTfOag3Gvg8fAjQTpiZZXaiN7Y0=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 23354def-e1b8-4a70-ac38-08d640930416
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Nov 2018 07:15:48.9646 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3421
Subject: Re: [dpdk-dev] [PATCH v4 2/2] ring: move the atomic load of head
	above the loop
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>,
 <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>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Nov 2018 07:15:52 -0000



> -----Original Message-----
> From: Honnappa Nagarahalli
> Sent: Friday, November 2, 2018 12:31 PM
> To: Gavin Hu (Arm Technology China) <Gavin.Hu@arm.com>; Stephen
> Hemminger <stephen@networkplumber.org>
> Cc: dev@dpdk.org; thomas@monjalon.net; olivier.matz@6wind.com;
> chaozhu@linux.vnet.ibm.com; bruce.richardson@intel.com;
> konstantin.ananyev@intel.com; jerin.jacob@caviumnetworks.com;
> stable@dpdk.org; nd <nd@arm.com>
> Subject: RE: [PATCH v4 2/2] ring: move the atomic load of head above the
> loop
>=20
> <Fixing this to make the reply inline, making email plain text>
>=20
>=20
> On Thu, 1 Nov 2018 17:53:51 +0800
> Gavin Hu <mailto:gavin.hu@arm.com> wrote:
>=20
> > +* **Updated the ring library with C11 memory model.**
> > +
> > + Updated the ring library with C11 memory model including the followin=
g
> changes:
> > +
> > + * Synchronize the load and store of the tail
> > + * Move the atomic load of head above the loop
> > +
>=20
> Does this really need to be in the release notes? Is it a user visible ch=
ange or
> just an internal/optimization and fix.
>=20
> [Gavin] There is no api changes, but this is a significant change as ring=
 is
> fundamental and widely used, it decreases latency by 25% in our tests, it=
 may
> do even better for cases with more contending producers/consumers or
> deeper depth of rings.
>=20
> [Honnappa] I agree with Stephen. Release notes should be written from
> DPDK user perspective. In the rte_ring case, the user has the option of
> choosing between c11 and non-c11 algorithms. Performance would be one
> of the criteria to choose between these 2 algorithms. IMO, it probably ma=
kes
> sense to indicate that the performance of c11 based algorithm has been
> improved. However, I do not know what DPDK has followed historically
> regarding performance optimizations. I would prefer to follow whatever ha=
s
> been followed so far.
> I do not think that we need to document the details of the internal chang=
es
> since it does not help the user make a decision.

I read through the online guidelines for release notes, besides API and new=
 features, resolved issues which are significant and not newly introduced i=
n this release cycle, should also be included.
In this case, the resolved issue existed for long time, across multiple rel=
ease cycles and ring is a core lib, so it should be a candidate for release=
 notes.=20

https://doc.dpdk.org/guides-18.08/contributing/patches.html
section 5.5 says:=20
Important changes will require an addition to the release notes in doc/guid=
es/rel_notes/.=20
See the Release Notes section of the Documentation Guidelines for details.
https://doc.dpdk.org/guides-18.08/contributing/documentation.html#doc-guide=
lines
"Developers should include updates to the Release Notes with patch sets tha=
t relate to any of the following sections:
New Features
Resolved Issues (see below)
Known Issues
API Changes
ABI Changes
Shared Library Versions
Resolved Issues should only include issues from previous releases that have=
 been resolved in the current release. Issues that are introduced and then =
fixed within a release cycle do not have to be included here."

     Suggested order in release notes items:
     * Core libs (EAL, mempool, ring, mbuf, buses)
     * Device abstraction libs and PMDs