From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3573EA055A; Tue, 25 Feb 2020 16:14:33 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 42F6D1BFAB; Tue, 25 Feb 2020 16:14:32 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 92D932C02 for ; Tue, 25 Feb 2020 16:14:30 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Feb 2020 07:14:29 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,484,1574150400"; d="scan'208";a="255978516" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga002.jf.intel.com with ESMTP; 25 Feb 2020 07:14:28 -0800 Received: from fmsmsx161.amr.corp.intel.com (10.18.125.9) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 25 Feb 2020 07:14:28 -0800 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by FMSMSX161.amr.corp.intel.com (10.18.125.9) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 25 Feb 2020 07:14:28 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.45) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 25 Feb 2020 07:14:06 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mS/qqv0WmCOKAyCzSMlGIOY8o1lWP/V+MvgkXomEC2nDccsCfltMy+w8pzhfhoaURag6KtMIbJTd4giurtRhn1qlkXTWqbOCj7lVyrf4pxHG84LVEgxBBs+DaO3TOOGWxzEQ70sRe47yTyqUAs2D1b6o0Y+ZCgDo5t1kqhkOr8fxRvRjkNI3wev4j5D97crN+fC3zD+SGkdI2ejTDxwZi3atNAJtflTumA5PTrKl4FLgIR8MR2L0dtAzw19u8LC/H0y3qburzwjpORQslIeFLGHJs78S+Upm6dwEMnymhgDuFbaFTW+s6FrtY+u5e97HDvK8YZtMCxPBLBPHTsAZqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ffR0TmQ5DlzwchZol+d9oaO/0Bqz8VCQgi5oq0GBaDc=; b=hJF8Hfc8RAKdI2e8buPQumGyz1bTisoi/O3TEpmLLUeegKJeIona33mIpLvamWM4Kr/7iLG8zl2LSR8MC2sUpQLGgM54vmNAFgxQglAdZX7glxJi4MeVpj7yULb62H54CoY41TnWZWTGgHkMuTD1xU7AmPeSIpVY/38z0BZYwweUAQ0oWy7rKhrun8DlDRUD1KEoKRcxEMh8Qizw1HBpacMNBK5/NWgEHi57LEwv38wIpRBBCGu3gfhT4MLZgF/CHJ/l8+VZDMiyYgUbF+Mgpi8HInlyThmckQBeRifobE+oqDIDOUlI+h3AToPX8yIX6UCfw1hqgv9CdxApAHlR/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ffR0TmQ5DlzwchZol+d9oaO/0Bqz8VCQgi5oq0GBaDc=; b=zxswx4Yo2tPjm2rH+lnHPkuajX/m0qo/ysHo/mBEfB4JaRnqdz6FIze2iT3okTuLQiceQoQ9qNJkNdQwFTwcV+MGVYIoh9K6GS20JWouRITtb2r2tqkpSEQFyhG0Hsv25wbpCBOiHSgMnX5ScmFgYepbhjluv7+RC0WigNsgpgM= Received: from SN6PR11MB2558.namprd11.prod.outlook.com (2603:10b6:805:5d::19) by SN6PR11MB3389.namprd11.prod.outlook.com (2603:10b6:805:c8::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.17; Tue, 25 Feb 2020 15:14:05 +0000 Received: from SN6PR11MB2558.namprd11.prod.outlook.com ([fe80::395e:eb75:6ab7:2ba5]) by SN6PR11MB2558.namprd11.prod.outlook.com ([fe80::395e:eb75:6ab7:2ba5%3]) with mapi id 15.20.2750.021; Tue, 25 Feb 2020 15:14:05 +0000 From: "Ananyev, Konstantin" To: Honnappa Nagarahalli , Jerin Jacob , Stephen Hemminger CC: dpdk-dev , Olivier Matz , nd , nd , "wang.yong19@zte.com.cn" Thread-Topic: [dpdk-dev] [RFC 0/6] New sync modes for ring Thread-Index: AQHV6waQaBpJG6uFVkOED+rLZZWNPqgqkXSAgAAQ8YCAAHT5gIAA1+GQ Date: Tue, 25 Feb 2020 15:14:05 +0000 Message-ID: References: <20200224113515.1744-1-konstantin.ananyev@intel.com> <20200224085919.3e73fda7@hermes.lan> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiY2Y5MzFiYTEtMWMwZS00YTFhLWEyNmYtYWNmZmFjZmIzMzQ1IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiR2k5dDhFSktuZlNwTm1tbDhORmhpeWVaYmU4b0RQNlQ3UGRqb3lFTVRhak5VempoN2VOT2I3Q3dMbVBhZDRRaSJ9 dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 x-ctpclassification: CTP_NT authentication-results: spf=none (sender IP is ) smtp.mailfrom=konstantin.ananyev@intel.com; x-originating-ip: [192.198.151.174] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9ea836da-ca2e-4526-7c64-08d7ba055ac0 x-ms-traffictypediagnostic: SN6PR11MB3389: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0324C2C0E2 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(346002)(376002)(366004)(39860400002)(396003)(189003)(199004)(110136005)(33656002)(316002)(54906003)(478600001)(4326008)(2906002)(5660300002)(81166006)(8936002)(8676002)(81156014)(966005)(71200400001)(64756008)(6506007)(52536014)(76116006)(26005)(186003)(55016002)(66556008)(66446008)(86362001)(66476007)(7696005)(66946007)(9686003); DIR:OUT; SFP:1102; SCL:1; SRVR:SN6PR11MB3389; H:SN6PR11MB2558.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TLSit4MB38BSwQXdVL1FpoOAKUZ1yBjufZjDCi5pv0gxI/mdi6rUGvxz+xpDo6pTGYvHMi64CpItrDmmNgUbGbMq+Z2GuFo30j140mMgL6YWacDxQys72fAf3Bqi+GPMgYVVlrBmkvb6TYpTd4UcpMR8v1DMhRBOvRYG+h581fBKhPzWahFYSzJgmhOTQrfFbc0trZ3eul2zo9hwe/8coapV2sRC4tl9VngxDZs7ArAc7ohRox/ZADF6SNa9j0dgVQwRsWAK4IlVuse07OGgz1F8mUEye2GhyJU/q5Z6ck5Y5UJLGSBGTvzHz3WcZIHm+flc/i1pdOOswHDqJW5t7AxBYYF6x1XGZx49vbs54I9VLNgKYmVJXEJnVRJlvZO3Fgtt0uayftvOWYWgpbzeMG3hGK5qdIu7I4JO5htvf2ut+jis49DrRl3OzLMTzPfyUBpmRJVFG+f/YAmpGBtrYjZeEoa+O7yrkekplmMXGeCIaAMWpC6Bj5Imidf0KeFzCThy9e3fNnv3nk2d1X2gjA== x-ms-exchange-antispam-messagedata: Xn3CwRsmXHVyEl3SzjOzw0wDDz6Cu/jGgPKKNsM3FBcEqN6DOrLQzpoT2qVVsHSypDzigKeSSA7TFMtiK4OX4rh3dyGOcBFiTjk5ow2Q6pZzYT7zloh+tzM7NC/REPxBe5rcA33HMl1jMXBwQ5UgWw== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 9ea836da-ca2e-4526-7c64-08d7ba055ac0 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Feb 2020 15:14:05.4762 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ADXt6gOx+6I7mQbloznVE06uxr2/VpBJ8iqUajLirShtt75zydiKIYJ2p93OapWznmBchWiop+9QxU848qNOROTHGKZSDyrtzv7w6C1f9uc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3389 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [RFC 0/6] New sync modes for ring 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" PiA+ID4gPiBVcGZyb250IG5vdGUgLSB0aGF0IFJGQyBpcyBub3QgYSBjb21wbGV0ZSBwYXRjaC4N Cj4gPiA+ID4gSXQgaW50cm9kdWNlcyBhbiBBQkkgYnJlYWthZ2UsIHBsdXMgaXQgZG9lc24ndCB1 cGRhdGUgcmluZ19lbGVtIGNvZGUNCj4gPiA+ID4gcHJvcGVybHksIGV0Yy4NCj4gPiA+ID4gSSBw bGFuIHRvIGRlYWwgd2l0aCBhbGwgdGhlc2UgdGhpbmdzIGluIGxhdGVyIHZlcnNpb25zLg0KPiA+ ID4gPiBSaWdodCBub3cgSSBzZWVrIGFuIGluaXRpYWwgZmVlZGJhY2sgYWJvdXQgcHJvcG9zZWQg aWRlYXMuDQo+ID4gPiA+IFdvdWxkIGFsc28gYXNrIHBlb3BsZSB0byByZXBlYXQgcGVyZm9ybWFu Y2UgdGVzdHMgKHNlZSBiZWxvdykgb24NCj4gPiA+ID4gdGhlaXIgcGxhdGZvcm1zIHRvIGNvbmZp cm0gdGhlIGltcGFjdC4NCj4gPiA+ID4NCj4gPiA+ID4gTW9yZSBhbmQgbW9yZSBjdXN0b21lcnMg dXNlKC90cnkgdG8gdXNlKSBEUERLIGJhc2VkIGFwcHMgd2l0aGluDQo+ID4gPiA+IG92ZXJjb21t aXR0ZWQgc3lzdGVtcyAobXVsdGlwbGUgYWN0dGl2ZSB0aHJlYWRzIG92ZXIgc2FtZSBweXNpY2Fs IGNvcmVzKToNCj4gPiA+ID4gVk0sIGNvbnRhaW5lciBkZXBsb3ltZW50cywgZXRjLg0KPiA+ID4g PiBPbmUgcXVpdGUgY29tbW9uIHByb2JsZW0gdGhleSBoaXQ6IExvY2stSG9sZGVyLVByZWVtcHRp b24gd2l0aA0KPiA+IHJ0ZV9yaW5nLg0KPiA+ID4gPiBMSFAgaXMgcXVpdGUgYSBjb21tb24gcHJv YmxlbSBmb3Igc3Bpbi1iYXNlZCBzeW5jIHByaW1pdGl2ZXMNCj4gPiA+ID4gKHNwaW4tbG9ja3Ms IGV0Yy4pIG9uIG92ZXJjb21taXR0ZWQgc3lzdGVtcy4NCj4gPiA+ID4gVGhlIHNpdHVhdGlvbiBn ZXRzIG11Y2ggd29yc2Ugd2hlbiBzb21lIHNvcnQgb2YgZmFpci1sb2NraW5nDQo+ID4gPiA+IHRl Y2huaXF1ZSBpcyB1c2VkICh0aWNrZXQtbG9jaywgZXRjLikuDQo+ID4gPiA+IEFzIG5vdyBub3Qg b25seSBsb2NrLW93bmVyIGJ1dCBhbHNvIGxvY2std2FpdGVycyBzY2hlZHVsaW5nIG9yZGVyDQo+ ID4gPiA+IG1hdHRlcnMgYSBsb3QuDQo+ID4gPiA+IFRoaXMgaXMgYSB3ZWxsLWtub3duIHByb2Js ZW0gZm9yIGtlcm5lbCB3aXRoaW4gVk1zOg0KPiA+ID4gPiBodHRwOi8vd3d3LWFyY2hpdmUueGVu cHJvamVjdC5vcmcvZmlsZXMveGVuc3VtbWl0Ym9zdG9uMDgvTEhQLnBkZg0KPiA+ID4gPiBodHRw czovL3d3dy5jcy5ocy1ybS5kZS9+a2Fpc2VyL2V2ZW50cy93YW1vczIwMTcvU2xpZGVzL3NlbGN1 ay5wZGYNCj4gVGhlc2Ugc2xpZGVzIHNlZW0gdG8gaW5kaWNhdGUgdGhhdCB0aGUgcHJvYmxlbXMg YXJlIG1pdGlnYXRlZCB0aHJvdWdoIHRoZSBIeXBlcnZpc29yIGNvbmZpZ3VyYXRpb24uIERvIHdl IHN0aWxsIG5lZWQgdG8gYWRkcmVzcyB0aGUgaXNzdWVzPw0KDQpJIGFtIG5vdCByZWFsbHkgYW4g ZXhwZXJ0IGhlcmUsIGJ1dCBBRkFJSyBjdXJyZW50IG1pdGlnYXRpb25zIGRlYWwgbW9zdGx5IHdp dGggZ3Vlc3Qga2VybmVsOg0KbGludXggaW1wbGVtZW50cyBQViB2ZXJzaW9uIG9mIHNwaW5sb2Nr cyAodW5mYWlyIGFuZC9vciBiYXNlZCBvbiBoeXBlcmNhbGwgYXZhaWxhYmlsaXR5KSwNCmh5cGVy dmlzb3IgbWlnaHQgbWFrZSBkZWNpc2lvbiBpdHNlbGYgYmFzZWQgb24gaXMgZ3Vlc3QgaW4gdXNl ci9rZXJuZWwgbW9kZSwNCnBsdXMgb24gc29tZSBzcGVjaWFsIGNwdSBpbnN0cnVjdGlvbnMuIA0K V2UgZG8gc3BpbiBpbiB1c2VyLXNwYWNlIG1vZGUuDQpNaWdodCBiZSBoeXBlcnZpc29ycyBiZWNh bWUgc21hcnRlciB0aGVzZSBkYXlzLCBidXQgc28gZmFyLA0KSSBoZWFyZCBhYm91dCBmZXcgZGlm ZmVyZW50IGN1c3RvbWVycyB0aGF0IGhpdCBzdWNoIHByb2JsZW0uDQpBcyBhbiBleGFtcGxlLCBO QSBEUERLIHN1bW1pdCBwcmVzZW50YXRpb246DQpodHRwczovL2RwZGtuYTIwMTkuc2NoZWQuY29t L2V2ZW50L1dZQkcvZHBkay1jb250YWluZXJzLWNoYWxsZW5nZXMtc29sdXRpb25zLXdhbmcteW9u Zy16dGUNCnBhZ2UgMTYgKHByb2JsZW0gIzQpIGRlc2NyaWJlcyBzYW1lIGlzc3VlLg0KDQo+IA0K PiA+ID4gPiBUaGUgcHJvYmxlbSB3aXRoIHJ0ZV9yaW5nIGlzIHRoYXQgd2hpbGUgaGVhZCBhY2N1 c2lvbiBpcyBzb3J0IG9mDQo+ID4gPiA+IHVuLWZhaXIgbG9ja2luZywgd2FpdGluZyBvbiB0YWls IGlzIHZlcnkgc2ltaWxhciB0byB0aWNrZXQgbG9jaw0KPiA+ID4gPiBzY2hlbWEgLSB0YWlsIGhh cyB0byBiZSB1cGRhdGVkIGluIHBhcnRpY3VsYXIgb3JkZXIuDQo+ID4gPiA+IFRoYXQgbWFrZXMg Y3VycmVudCBydGVfcmluZyBpbXBsZW1lbnRhdGlvbiB0byBwZXJmb3JtIHJlYWxseSBwdXJlIG9u DQo+ID4gPiA+IHNvbWUgb3ZlcmNvbW1pdGVkIHNjZW5hcmlvcy4NCj4gPiA+DQo+ID4gPiBSYXRo ZXIgdGhhbiByZWZvcm0gcnRlX3JpbmcgdG8gZml0IHRoaXMgc2NlbmFyaW8sIGl0IHdvdWxkIG1h a2UgbW9yZQ0KPiA+ID4gc2Vuc2UgdG8gbWUgdG8gaW50cm9kdWNlIGFub3RoZXIgcHJpbWl0aXZl LiBUaGUgY3VycmVudCBsb2NrbGVzcyByaW5nDQo+ID4gPiBwZXJmb3JtcyB2ZXJ5IHdlbGwgZm9y IHRoZSBpc29sYXRlZCB0aHJlYWQgbW9kZWwgdGhhdCBEUERLIHdhcyBidWlsdA0KPiA+ID4gYXJv dW5kLiBUaGlzIGxvb2tzIGxpa2UgYSBjYXNlIG9mIGN1c3RvbWVycyB2aW9sYXRpbmcgdGhlIHVz YWdlIG1vZGVsDQo+ID4gPiBvZiB0aGUgRFBESyBhbmQgdGhlbiBiZWluZyBzdXJwcmlzZWQgYXQg dGhlIGZhbGxvdXQuDQo+ID4NCj4gPiBJIGFncmVlIHdpdGggU3RlcGhlbiBoZXJlLg0KPiA+DQo+ ID4gSSB0aGluaywgYWRkaW5nIG1vcmUgcnVudGltZSBjaGVjayBpbiB0aGUgZW5xdWV1ZSgpIGFu ZCBkZXF1ZXVlKCkgd2lsbCBoYXZlIGENCj4gPiBiYWQgZWZmZWN0IG9uIHRoZSBsb3ctZW5kIGNv cmVzIHRvby4NCj4gPiBCdXQgSSBhZ3JlZSB3aXRoIHRoZSBwcm9ibGVtIHN0YXRlbWVudCB0aGF0 IGluIHRoZSB2aXJ0dWFsaXphdGlvbiB1c2UgY2FzZSwgSXQNCj4gPiBtYXkgYmUgcG9zc2libGUg dG8gaGF2ZSBOIHZpcnR1YWwgY29yZXMgcnVucyBvbiBhIHBoeXNpY2FsIGNvcmUuDQo+IEl0IGlz IGhhcmQgdG8gaW1hZ2luZSB0aGF0IHRoZXJlIGFyZSBkYXRhIHBsYW5lIGFwcGxpY2F0aW9ucyBk ZXBsb3llZCBpbiBzdWNoIGVudmlyb25tZW50cy4gV291bGRuJ3QgdGhpcyBhZmZlY3QgdGhlIHBl cmZvcm1hbmNlIHRlcnJpYmx5Pw0KDQpJdCB3b3VsZG4ndCByZWFjaCBzYW1lIHBlcmZvcm1hbmNl IGFzIGlzb2xhdGVkIHRocmVhZHMsIA0KYnV0IGZvciBzb21lIHRhc2tzIGl0IG1pZ2h0IGJlIGVu b3VnaC4gDQpBRkFJSywgb25lIHF1aXRlIGNvbW1vbiBzY2VuYXJpbyAtIGZldyBpc29sYXRlZCB0 aHJlYWRzKC9wcm9jZXNzZXMpIGRvaW5nDQphY3R1YWwgSU8gYW5kIHRoZW4gc3ByZWFkIHBhY2tl dHMgb3ZlciBkb3plbnMoL2h1bmRyZWRzKSBub24taXNvbGF0ZWQNCmNvbnN1bWVycy4gDQoNCj4g DQo+ID4NCj4gPiBJTU8sIFRoZSBiZXN0IHNvbHV0aW9uIHdvdWxkIGJlIGtlZXBpbmcgdGhlIHJp bmcgQVBJIHNhbWUgYW5kIGhhdmUgYQ0KPiA+IGRpZmZlcmVudCBmbGF2b3IgaW4gImNvbXBpbGUt dGltZSIuIFNvbWV0aGluZyBsaWtlIGxpYnVyY3UgZGlkIGZvcg0KPiA+IGFjY29tbW9kYXRpbmcg ZGlmZmVyZW50IGZsYXZvcnMuDQo+ID4NCj4gPiBpLmUgdXJjdS1xc2JyLmggYW5kIHVyY3UtYnAu aCB3aWxsIGlkZW50aWNhbCBkZWZpbml0aW9uIG9mIEFQSS4gVGhlIGFwcGxpY2F0aW9uDQo+ID4g Y2FuIHNpbXBseSBpbmNsdWRlIE9ORSBoZWFkZXIgZmlsZSBpbiBhIEMgZmlsZSBiYXNlZCBvbiB0 aGUgZmxhdm9yLg0KPiA+IElmIG5lZWQgYm90aCBhdCBydW50aW1lLiBOZWVkIHRvIGhhdmUgZnVu Y3Rpb24gcG9pbnRlciBvciBzbyBpbiB0aGUgYXBwbGljYXRpb24NCj4gPiBhbmQgZGVmaW5lIHRo ZSBmdW5jdGlvbiBpbiBkaWZmZXJlbnQgYyBmaWxlIGJ5IGluY2x1ZGluZyB0aGUgYXBwcm9haXRl IGZsYXZvciBpbiBDDQo+ID4gZmlsZS4NCj4gPg0KPiA+ICNpbmNsdWRlIDx1cmN1LXFzYnIuaD4g LyogUVNCUiBSQ1UgZmxhdm9yICovICNpbmNsdWRlIDx1cmN1LWJwLmg+IC8qDQo+ID4gQnVsbGV0 cHJvb2YgUkNVIGZsYXZvciAqLw0K