From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ola Liljedahl Subject: Re: [RFC] lfring: lock-free ring buffer Date: Wed, 30 Jan 2019 11:36:07 +0000 Message-ID: <1548848178.2915.40.camel@arm.com> References: <1548678513-14348-1-git-send-email-ola.liljedahl@arm.com> <9184057F7FC11744A2107296B6B8EB1E541CC413@FMSMSX108.amr.corp.intel.com> <1548714375.11472.76.camel@arm.com> <9184057F7FC11744A2107296B6B8EB1E541CD01D@FMSMSX108.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: nd To: Honnappa Nagarahalli , "bruce.richardson@intel.com" , "gage.eads@intel.com" , "dev@dpdk.org" Return-path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50085.outbound.protection.outlook.com [40.107.5.85]) by dpdk.org (Postfix) with ESMTP id 526DA1B398 for ; Wed, 30 Jan 2019 12:36:10 +0100 (CET) In-Reply-To: <9184057F7FC11744A2107296B6B8EB1E541CD01D@FMSMSX108.amr.corp.intel.com> Content-Language: en-US Content-ID: <1C5D72708B0BA743BA04EAA5D165F1B3@eurprd08.prod.outlook.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" T24gV2VkLCAyMDE5LTAxLTMwIGF0IDA1OjE3ICswMDAwLCBFYWRzLCBHYWdlIHdyb3RlOg0KPFNO SVA+DQo+wqANCj4gPiA+IDIuIE9uIHRoZSBwbHVzIHNpZGUsIHRoZSBlbnF1ZXVlIGZ1bmN0aW9u IGRlc2lnbiB0aGF0IGFsbG93cyBpdCB0byB1c2UNCj4gPiA+IDEvMiB0aGUgYXRvbWljcyBvZiBt aW5lIGFwcGVhcnMgdG8gYmUgaW5kZXBlbmRlbnQgb2YgcmVzZXJ2aW5nIHJpbmcNCj4gPiA+IHNs b3RzLCBhbmQgc2hvdWxkIHRyYW5zZmVyIG92ZXIgZmFpcmx5IGNsZWFubHkuIEknbSBhIGxpdHRs ZSBjb25jZXJuZWQNCj4gPiA+IGFib3V0IHRoZSBwZXJmb3JtYW5jZSB2YXJpYWJpbGl0eSBpdCBp bnRyb2R1Y2VzIChpLmUuIGlmIHRoZSB0aHJlYWQNCj4gPiA+IGdldHMgaW50byAiY2F0Y2ggdXAi IG1vZGUpLA0KPiA+IElmIGEgdGhyZWFkIGhhcyB0byBjYXRjaCB1cCwgaXQgbWVhbnMgaXQgaXMg dXNpbmcgYSBzdGFsZSAoaGVhZC90YWlsKSBpbmRleA0KPiA+IChtb3JlDQo+ID4gdGhhbiBvbmUg cmluZyBsYXAgYmVoYWluZCkuIEJldHRlciB0byB0cnkgdG8gbG9hZCBhIGZyZXNoIHZhbHVlIChp ZiBvbmUgaXMNCj4gPiBhdmFpbGFibGUpIHRoYW4gdG8gaXRlcmF0ZSBvdmVyIHRoZSByaW5nIHVu dGlsIGl0IGhhcyBjYXVnaHQgdXAuIFNvIEkgdGhpbmsNCj4gPiB0aGlzIGlzIHRoZQ0KPiA+IGJl dHRlci9mYXN0ZXIgZGVzaWduLg0KPiA+IA0KPiA+IENhdGNoIHVwIG1vZGUgaXMgbm90IHRyaWdn ZXJlZCBieSBmaW5kaW5nIGFuIG9jY3VwaWVkIHNsb3QgZm9yIHRoZSBjdXJyZW50DQo+ID4gbGFw DQo+ID4gKHRoYXQgd2FzIGp1c3Qgd3JpdHRlbiBieSBzb21lIG90aGVyIHRocmVhZCkuIE9yIGF0 IGxlYXN0IHRoaXMgaXMgdGhlIGlkZWEuDQo+ID4gSWYgd2UNCj4gPiBmaW5kIGEgZnJlc2hseSB3 cml0dGVuIHNsb3QsIHdlIGp1c3QgbW92ZSB0byB0aGUgbmV4dCBzbG90Lg0KPiA+IA0KPiA+ID4g DQo+ID4gPiBwYXJ0aWN1bGFybHkgZm9yIGxhcmdlciByaW5ncywgc2luY2UgcmVhbC10aW1lIHNv ZnR3YXJlIHZhbHVlcw0KPiA+ID4gcHJlZGljdGFiaWxpdHkuDQo+ID4gPiBXaGF0IGlmIHRoZSBy ZWxvYWQgY3JpdGVyaWEgd2FzIGluc3RlYWQgc29tZXRoaW5nIGxpa2U6DQo+ID4gPiANCj4gPiA+ ICNkZWZpbmUgRU5RX1JFVFJZX0xJTUlUIDMyIC8vYXJiaXRyYXJ5DQo+ID4gPiANCj4gPiA+IGlm IChvbGQuZS5pZHggIT0gdGFpbCAtIHNpemUpIHsNCj4gPiA+IMKgwqDCoMKgaWYgKCsrZmFpbF9j bnQgPCBFTlFfUkVUUllfTElNSVQpIHsNCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqB0YWlsKys7DQo+ ID4gPiDCoMKgwqDCoH0gZWxzZSB7DQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgZmFpbF9jbnQgPSAw Ow0KPiA+ID4gwqDCoMKgwqDCoMKgwqDCoHRhaWwgPSBydGVfbGZyaW5nX3JlbG9hZCguLi4pOw0K PiA+ID4gwqDCoMKgwqB9DQo+ID4gPiDCoMKgwqDCoGdvdG8gcmVzdGFydDsNCj4gPiA+IH0NCj4g PiA+IGZhaWxfY250ID0gMDsNCj4gPiBUaGVyZSBhcmUgdGhyZWUgY2FzZXMgKHNsb3QgaW5kZXgg bXVzdCBiZSBiZXR3ZWVuIHEtPnRhaWwgYW5kIHEtPmhlYWQgKyBxLQ0KPiA+ID4gDQo+ID4gPiBz aXplKToNCj4gPiBzbG90LmlkeCA9PSB0YWlsIC0gc2l6ZTogc2xvdCBpcyBmcmVlLCB0cnkgdG8g d3JpdGUgaXQgc2xvdC5pZHggPT0gdGFpbDoNCj4gPiBzbG90IGhhcyBqdXN0IGJlZW4NCj4gPiB3 cml0dGVuIChieSBvdGhlciB0aHJlYWQpLCBza2lwIHRvIG5leHQgc2xvdCAodGFpbCsrKSBub25l IG9mIHRoZSBhYm92ZToNCj4gPiB0aHJlYWQgaXMNCj4gPiBiZWhpbmQgKGF0IGxlYXN0IG9uZSBs YXApLCByZS1sb2FkIHRhaWwgZnJvbSBxLQ0KPiA+ID4gDQo+ID4gPiB0YWlsDQo+ID4gSSB0aGlu ayB1c2luZyB0aGUgcmV0cnkgY291bnQgYWN0dWFsbHkgZGVsYXlzIGNhdGNoaW5nIHVwIHRvIGEg ZnJlc2gNCj4gPiBwb3NpdGlvbi4NCj4gPiANCj4gTWlzY29tbXVuaWNhdGlvbiBoZXJlIC0tIGJ5 ICJjYXRjaCB1cCIsIEkgbWVhbnQgdGhlIGNhc2Ugd2hlcmUgdGhlIHRocmVhZCBpcw0KPiBiZWhp bmQgYnV0IGJ5IGxlc3MgdGhhbiBvbmUgbGFwICh0aGUgc2Vjb25kIGNhc2UgeW91IGRlc2NyaWJl KS4gSW4gdGhlIHdvcnN0DQo+IGNhc2UsIHRoZSB0aHJlYWQgd291bGQgaGF2ZSB0byByZWFkIE4t MSAoTiA9IHJpbmcgc2l6ZSkgZW50cmllcyBiZWZvcmUNCj4gcmVhY2hpbmcgdGhlIG5leHQgYXZh aWxhYmxlIGVudHJ5LCBhbmQgTiBjb3VsZCBlYXNpbHkgYmUgaW4gdGhlIHRob3VzYW5kcy4NCj4g VGhhdCdzIHRoZSBwZXJmb3JtYW5jZSB2YXJpYWJpbGl0eSBJIHdhcyByZWZlcnJpbmcgdG8sIGFu ZCB3aHkgSSBzdWdnZXN0ZWQNCj4gY2FwcGluZyB0aGUgZmFpbGVkIHNsb3QgcmVhZHMgYXQgMzIu IE1haW50YWluaW5nIGEgbG9jYWwgZmFpbF9jbnQgdmFyaWFibGUgaXMNCj4gYSBzbWFsbCBwcmlj ZSB0byBwYXkgKHJlbGF0aXZlIHRvIGEgQ0FTKSB0byBwcmV2ZW50IGEgcmluZyBlbnF1ZXVlIGxh dGVuY3kNCj4gc3Bpa2UuDQpPSywgSSBtaXN1bmRlcnN0b29kLiBXZSBjYW4gcmVsb2FkIHRoZSBw cml2YXRlIHRhaWwgZnJvbSB0aGUgc2hhcmVkIHJpbmcgYnVmZmVyDQp0YWlsIGVhcmxpZXIuIFlv dSBjb3VsZCBhY3R1YWxseSBkbyB0aGlzIG9uIGV2ZXJ5IGZhaWxlZCBDQVMgYnV0IEkgdGhpbmsg dGhhdA0Kd291bGQgYmUgb3ZlcmtpbGwuIFlvdXIgZGVzaWduIHdpdGggYSByZXRyeSBsaW1pdCBp cyBiZXR0ZXIsIHdlIG5lZWQgdG8gZmluZCBvdXQNCndoYXQgaXMgYSBzdWl0YWJsZSB2YWx1ZSBm b3IgdGhlIHJldHJ5IGxpbWl0Lg0KDQo+IA0KPiBCdXQgeW91J3JlIHJpZ2h0IHRoYXQgd2Ugc2hv dWxkIHN0aWxsIGNhdGNoIHRoZSAxKyBsYXAgYmVoaW5kIGNhc2UsIHNvIHRoZQ0KPiByZWxvYWQg Y3JpdGVyaWEgY291bGQgYmU6DQo+IA0KPiAjZGVmaW5lIEVOUV9SRVRSWV9MSU1JVCAzMiAvL2Fy Yml0cmFyeQ0KPiANCj4gaWYgKG9sZC5lLmlkeCAhPSB0YWlsIC0gc2l6ZSkgew0KPiDCoMKgwqDC oGlmICgrK2ZhaWxfY250IDwgRU5RX1JFVFJZX0xJTUlUICYmIG9sZC5lLmlkeCA9PSB0YWlsKSB7 DQo+IMKgwqDCoMKgwqDCoMKgwqB0YWlsKys7DQo+IMKgwqDCoMKgfSBlbHNlIHsNCj4gwqDCoMKg wqDCoMKgwqDCoGZhaWxfY250ID0gMDsNCj4gwqDCoMKgwqDCoMKgwqDCoHRhaWwgPSBydGVfbGZy aW5nX3JlbG9hZCguLi4pOw0KPiDCoMKgwqDCoH0NCj4gwqDCoMKgwqBnb3RvIHJlc3RhcnQ7DQo+ IH0NCj4gZmFpbF9jbnQgPSAwOw0KQWdyZWUuDQoNCj4gDQo+ID4gDQo+ID4gPiANCj4gPiA+IA0K PiA+ID4gMy4gVXNpbmcgYSB6ZXJvLWxlbmd0aCBhcnJheSB0byBtYXJrIHRoZSBzdGFydCBvZiB0 aGUgcmluZyBpcyBhIG5pY2UNCj4gPiA+IGFwcHJvYWNoDQo+ID4gPiAtLSBJJ2xsIGluY29ycG9y YXRlIHRoYXQgaW50byB0aGUgcGF0Y2hzZXQuDQo+ID4gPiANCj4gPiA+IEF0IGFuIGFsZ29yaXRo bSBsZXZlbCwgSSBkb24ndCBzZWUgYW55IG90aGVyIGRpZmZlcmVuY2VzLg0KPiA+ID4gSW1wbGVt ZW50YXRpb24td2lzZSwgd2UnbGwgbmVlZCB0byBuYWlsIHRoZSBtZW1vcnkgb3JkZXJpbmcgZmxh Z3MgdG8NCj4gPiA+IGJlc3Qgc3VwcG9ydCB3ZWFrIGNvbnNpc3RlbmN5IG1hY2hpbmVzLCBhcyB5 b3UgcG9pbnRlZCBvdXQgZWxzZXdoZXJlLg0KPiA+IFRoZXJlIGlzIG5vIHByZS1hY3F1aXNpdGlv biBvZiBzbG90cyBpbiBlbnF1ZXVlIGFuZCBkZXF1ZXVlLiBUaGF0IHNlcGFyYXRlDQo+ID4gc3Rl cA0KPiA+IG1ha2VzIGxvY2stZnJlZWRvbSBpbXBvc3NpYmxlIChJIHRoaW5rKS4NCj4gPiANCj4g Q2FuIHlvdSBlbGFib3JhdGU/DQpJIHRoaW5rIGxvY2stZnJlZWRvbSBpcyBpbXBvc3NpYmxlIHdp dGggdGhlIGluaXRpYWwgYWNxdWlzaXRpb24gb2YgZWxlbWVudHMuDQpUaGlzIGFjcXVpc2l0aW9u IGNyZWF0ZXMgYSBzaWRlIGVmZmVjdCB0aGF0IGNhbm5vdCBiZSB1bmRvbmUgb3IgaGVscGVkIGJ5 IG90aGVyDQp0aHJlYWRzLg0KDQpZb3UgY2FuIHN0aWxsIGltcGxlbWVudCBhICJub24tYmxvY2tp bmciIHJpbmcgYnVmZmVyIChsaWtlIHlvdXIgb3JpZ2luYWwgZGVzaWduKSB3aGljaCBoaWRlcyBh bnkgZGVsYXkgaW4gdGhyZWFkcyB0aGF0IGFjY2VzcyB0aGUgcmluZyBidWZmZXIgYnV0IGlzbid0 IHByb3Blcmx5IGxvY2stZnJlZSAod2hpY2ggY291bGQgYmUgY29uc2lkZXJlZCB1bm5lY2Vzc2Fy eSBpbiBhIERQREsgZW52aXJvbm1lbnQsIHRocmVhZHMgbWF5IGdldCBkZWxheWVkIGJ1dCBzaG91 bGRuJ3QgZGllIG9yIGJsb2NrIGZvcmV2ZXIpLg0KDQo+ICBJIGRvbid0IGN1cnJlbnRseSBzZWUg YW55IG90aGVyIHdheSB0byBzdXBwb3J0IHJ0ZV9yaW5nIGJ1bGsgc2VtYW50aWNzLCB3aGljaA0K PiBpcyBuZWNlc3NhcnkgZm9yIGNyZWF0aW5nIGEgbm9uLWJsb2NraW5nIG1lbXBvb2wgaGFuZGxl ciwgc28gd2Ugc2hvdWxkIGNsZWFyDQo+IHVwIGFueSBkb3VidC4NCk9LLCBJIHdhc24ndCBhd2Fy ZSBvZiB0aGlzIHN0cmljdCBkZXBlbmRlbmN5IG9uIGJ1bGsgZW5xdWV1ZSBhbmQgZGVxdWV1ZS4g QnVsaw0KZGVxdWV1ZSAobWVtcG9vbCBhbGxvY2F0ZXMgYnVmZmVycyBmcm9tIHRoZSByaW5nKSBz aG91bGQgYmUgZWFzeSB0byBzdXBwb3J0DQp0aG91Z2guIEJ1bGsgZW5xdWV1ZSAobWVtcG9vbCBm cmVlcyBidWZmZXJzIHRvIHRoZSByaW5nKSB3aWxsIHdvcmsgYXMgbG9uZyBhcw0KdGhlIHJpbmcg aXMgbGFyZ2UgZW5vdWdoIHRvIGhvbGQgYWxsIGZyZWUgYnVmZmVycyBzbyBpdCBjYW4gbmV2ZXIg YmVjb21lIGZ1bGwNCihuZWVkIHRvIHJlbG9hZCBoZWFkL3RhaWwgcG9pbnRlcnMgYXQgdGhlIGFw cHJvcHJpYXRlIHBsYWNlcyB0byBhdm9pZCBzcHVyaW91cw0KZnVsbC9lbXB0eSBzdGF0dXMpLiBJ IGFzc3VtZSB0aGlzIGlzIHRoZSBjYXNlLCBpbml0aWFsbHkgYWxsIGZyZWUgYnVmZmVycyB3aWxs DQpiZSBzdG9yZWQgaW4gdGhlIHJpbmc/DQoNCj4gDQo+IEluIHRoZSBOQiByaW5nIHBhdGNoc2V0 IGVhY2ggdGhyZWFkIHJlc2VydmVzIGEgbnVtYmVyIG9mIHNsb3RzIGJlZm9yZQ0KPiBwZXJmb3Jt aW5nIHRoZSBlbnEvZGVxLCBidXQgZG9lc24ndCByZXNlcnZlICpzcGVjaWZpYyogc2xvdHMgKHVu bGlrZQ0KPiBydGVfcmluZykuIFRoaXMgcmVzZXJ2YXRpb24gaXMgYXRvbWljLCBzbyB0aGF0IHdl IG5ldmVyIG92ZXItc3Vic2NyaWJlIHZhbGlkDQo+IHJpbmcgZW50cmllcyAoZm9yIGRlcXVldWUp IG9yIHVudXNlZCByaW5nIGVudHJpZXMgKGZvciBlbnF1ZXVlKS4gVGhpcw0KPiBndWFyYW50ZWVz IHRoYXQgdGhlIGVucS9kZXEgb3BlcmF0aW9uIHdpbGwgZXZlbnR1YWxseSBjb21wbGV0ZSwgcmVn YXJkbGVzcyBvZg0KPiB0aGUgYmVoYXZpb3Igb2Ygb3RoZXIgdGhyZWFkcy4gVGhpcyBpcyB3aHkg dGhlIGVucXVldWUgbG9vcCBkb2Vzbid0IGNoZWNrIGlmDQo+IHNwYWNlIGlzIGF2YWlsYWJsZSBh bmQgdGhlIGRlcXVldWUgbG9vcCBkb2Vzbid0IGNoZWNrIGlmIGFueSBtb3JlIHZhbGlkDQo+IGVu dHJpZXMgcmVtYWluLg0KSSBpbml0aWFsbHkgdGhvdWdodCB0aGVzZSBhY3F1aXNpdGlvbnMgd2Vy ZSBqdXN0IGZvciBjb21wYXRpYmlsaXR5IHdpdGggcnRlX3JpbmcNCih1cGRhdGUgdGhlIHNhbWUg bWV0YWRhdGEgc28gdGhhdCB0aGUgdXNlciBjYW4gbWl4IE1QL01DIGFuZCBTUC9TQyBjYWxscykg YnV0DQpyZWFsaXNlIHRoZXkgYXJlIHRoZXJlIGZvciB0aGUgYnVsayBlbnF1ZXVlL2RlcXVldWUu IEJ1dCBkb2luZyB0aGlzIGFjcXVpc2l0aW9uDQptZWFucyBlYWNoIGVucXVldWUgb3IgZGVxdWV1 ZSB3aWxsIHVwZGF0ZSB0d28gbWV0YWRhdGEgdmFyaWFibGVzIHNvIGNyZWF0ZXMgbW9yZQ0KY29u dGVudGlvbiBhbmQgbGVzcyBzY2FsYWJpbGl0eS4gSSB0aGluayBpdCB3b3VsZCBiZSBnb29kIGlm IHdlIGNvdWxkIHByb3ZpZGUNCnRoZSBidWxrIGJlaGF2aW91ciAqd2l0aG91dCogdGhpcyBpbml0 aWFsIGFjcXVpc2l0aW9uIGFuZCBvbmx5IHVwZGF0ZSBvbmUNCm1ldGFkYXRhIGxvY2F0aW9uIHBl ciBlbnF1ZXVlL2RlcXVldWUgb3BlcmF0aW9uLg0KDQo+IA0KPiBUaGlzIHNvcnQgb2YgcmVzZXJ2 YXRpb24gc2hvdWxkIGJlIGNvbXBhdGlibGUgd2l0aCBsZnJpbmcsIGJ1dCByZXF1aXJlcw0KPiBj aGFuZ2VzIChlLmcuIHR3byBzZXRzIG9mIGhlYWQvdGFpbCBwb2ludGVycykuDQo+IA0KPFNOSVA+ DQo+IA0KLS3CoA0KT2xhIExpbGplZGFobCwgTmV0d29ya2luZyBTeXN0ZW0gQXJjaGl0ZWN0LCBB cm0NClBob25lICs0NjcwNjg2NjM3MywgU2t5cGUgb2xhLmxpbGplZGFobA0KDQo=