RE: [RFC 00/10] implement alternative and much simpler id allocator
From: Matthew Wilcox <hidden>
Date: 2016-12-23 17:19:53
Also in:
dri-devel, lkml
RnJvbTogUmFzbXVzIFZpbGxlbW9lcyBbbWFpbHRvOmxpbnV4QHJhc211c3ZpbGxlbW9lcy5ka10N Cj4gTmljZSB3b3JrISBBIGZldyByYW5kb20gY29tbWVudHMvcXVlc3Rpb25zOg0KPiANCj4gLSBJ dCBkb2VzIGFkZCBzb21lIGNvbXBsZXhpdHksIGJ1dCBJIHRoaW5rIGEgZmV3IGNvbW1lbnRzIHdv dWxkIG1ha2UgaXQNCj4gICBtb3JlIGRpZ2VzdGFibGUuDQoNCkknbSBvcGVuIHRvIGFkZGluZyBz b21lIGNvbW1lbnRzIC4uLiBJIG5lZWQgc29tZSB0aW1lIGJldHdlZW4gd3JpdGluZyB0aGUgY29k ZSBhbmQgd3JpdGluZyB0aGUgY29tbWVudHMgdG8gYmUgc3VyZSB3aGF0IGNvbW1lbnRzIGFyZSB1 c2VmdWwuDQoNCj4gLSBIbSwgbWF5YmUgSSdtIGNvbmZ1c2VkLCBhbmQgSSBjZXJ0YWlubHkgZG9u J3QgdW5kZXJzdGFuZCBob3cgdGhlIHdob2xlDQo+ICAgcmFkaXggdHJlZSB3b3Jrcy4gQnV0IGRv IHlvdSB1c2UgZXZlcnkgbGVhZiBub2RlIGFzIGFuIGV4Y2VwdGlvbmFsDQo+ICAgZW50cnkgaW5p dGlhbGx5LCB0byBhbGxvY2F0ZSB0aGUgZmlyc3QgNjIgaWRzIGZyb20gdGhhdCBsZXZlbD8gVGhp cw0KPiAgIGNvZGUNCg0KSSBkbyEgIEFuZCB0aGF0IHF1ZXN0aW9uIHRlbGxzIG1lIG9uZSB1c2Vm dWwgY29tbWVudCB0byBhZGQhDQoNCj4gCWlmICgoYml0ICsgUkFESVhfVFJFRV9FWENFUFRJT05B TF9TSElGVCkgPA0KPiAJCQkJCUJJVFNfUEVSX0xPTkcpIHsNCj4gCQliaXQgKz0gUkFESVhfVFJF RV9FWENFUFRJT05BTF9TSElGVDsNCj4gCQlyYWRpeF90cmVlX2l0ZXJfcmVwbGFjZShyb290LCAm aXRlciwgc2xvdCwNCj4gCQkJCSh2b2lkICopKCgxVUwgPDwgYml0KSB8DQo+IAkJCQlSQURJWF9U UkVFX0VYQ0VQVElPTkFMX0VOVFJZKSk7DQo+IAkJKmlkID0gbmV3Ow0KPiAJCXJldHVybiAwOw0K PiAJfQ0KPiANCj4gICAgb3BlcmF0ZXMgb24gYml0LCB3aGljaCBpcyB0aGUgb2Zmc2V0IGZyb20g aW5kZXgqSURBX0JJVE1BUF9CSVRTLCBhbmQNCj4gICAgaXQgc2VlbXMgdG8gY3JlYXRlIGFuIGV4 Y2VwdGlvbmFsIGVudHJ5IHNvbWV3aGVyZSBkb3duIHRoZSB0cmVlDQo+ICAgICh3aGljaCBtYXkg b2YgY291cnNlIGJlIHRoZSByb290KS4NCj4gDQo+ICAgIEJ1dCB3ZSBkb24ndCBzZWVtIHRvIGFs bG9jYXRlIGFub3RoZXIgYml0IGZyb20gdGhhdCBleGNlcHRpb25hbCBlbnRyeQ0KPiAgICBldmVy IHVubGVzcyBpdCBoYXBwZW5lZCB0byBzaXQgYXQgaW5kZXggMDsgdGhlIGNvZGUNCj4gDQo+IAl1 bnNpZ25lZCBsb25nIHRtcCA9ICh1bnNpZ25lZCBsb25nKWJpdG1hcDsNCj4gCWlmIChzdGFydCA8 IEJJVFNfUEVSX0xPTkcpIHsNCj4gCQl1bnNpZ25lZCB0Yml0ID0gZmluZF9uZXh0X3plcm9fYml0 KCZ0bXAsDQo+IAkJCQkJQklUU19QRVJfTE9ORywgc3RhcnQpOw0KPiAJCWlmICh0Yml0IDwgQklU U19QRVJfTE9ORykgew0KPiAJCQl0bXAgfD0gMVVMIDw8IHRiaXQ7DQo+IAkJCXJjdV9hc3NpZ25f cG9pbnRlcigqc2xvdCwgKHZvaWQgKil0bXApOw0KPiAJCQkqaWQgPSBuZXcgKyB0Yml0IC0NCj4g CQkJCVJBRElYX1RSRUVfRVhDRVBUSU9OQUxfU0hJRlQ7DQo+IAkJCXJldHVybiAwOw0KPiAJCX0N Cj4gCX0NCj4gDQo+ICAgIGlzIG9ubHkgdXNlZCBmb3Igc21hbGwgdmFsdWVzIG9mIHN0YXJ0ICh0 aG91Z2ggaXQgZG9lcyBzZWVtIHRvDQo+ICAgIGFjY291bnQgZm9yIGEgbm9uLXplcm8gdmFsdWUg b2YgbmV3ID09IGl0ZXIuaW5kZXggKiBJREFfQklUTUFQX0JJVFMpLg0KDQpBaGguICBZb3UncmUg cmVhZGluZyB0aGUgY29kZSB3cm9uZywgYW5kIEkgd3JvdGUgdGhlIGNvZGUgd3JvbmdseSB0b28s IHNvIGl0J3MgY2xlYXJseSBvdmVybHkgY29tcGxleC4gIEkgd2FzIHRlc3Rpbmcgd2l0aCAnc3Rh cnQnIHNldCB0byAwLCBhbGxvY2F0aW5nIE4gZW50cmllcywgYW5kIHRoZW4gZnJlZWluZyB0aGVt LiAgSWYgSSdkIHNldCBzdGFydCB0byAxMDI0IGFuZCBhbGxvY2F0ZWQgdHdvIGVudHJpZXMsIEkn ZCd2ZSBzZWVuIHRoZSBmYWlsdXJlLg0KDQpQbGVhc2Ugc2VlIHRoZSB0b3AgY29tbWl0IGhlcmUg KCJJbXByb3ZlIElEQSBleGNlcHRpb25hbCBlbnRyeSBoYW5kbGluZyIpOiBodHRwOi8vZ2l0Lmlu ZnJhZGVhZC5vcmcvdXNlcnMvd2lsbHkvbGludXgtZGF4LmdpdC9zaG9ydGxvZy9yZWZzL2hlYWRz L2lkci0yMDE2LTEyLTIwDQoNCg0KPiAtIEluIHRoZSBtaWNyby1vcHRpbWl6YXRpb24gZGVwYXJ0 bWVudCwgSSB0aGluayB3ZSBzaG91bGQgYXZvaWQNCj4gICBmaW5kX25leHRfemVyb19iaXQgb24g YSBzaW5nbGUgd29yZCwgYW5kIGluc3RlYWQgdXNlIF9fZmZzLiBTb21ldGhpbmcNCj4gICBsaWtl IChhc3N1bWluZyB3ZSBjYW4gdXNlIGJpdCBpbnN0ZWFkIG9mIHN0YXJ0KQ0KPiANCj4gICBpZiAo Yml0ICsgUkFESVhfVFJFRV9FWENFUFRJT05BTF9TSElGVCA8IEJJVFNfUEVSX0xPTkcpIHsNCj4g ICAgIHRtcCA9ICh+KHVuc2lnbmVkIGxvbmcpYml0bWFwKSA+PiAoYml0ICsgUkFESVhfVFJFRV9F WENFUFRJT05BTF9TSElGVCk7DQo+ICAgICBpZiAodG1wKSB7DQo+ICAgICAgIHRiaXQgPSBfX2Zm cyh0bXApICsgYml0ICsgUkFESVhfVFJFRV9FWENFUFRJT05BTF9TSElGVDsNCj4gICAgICAgdG1w ID0gKHVuc2lnbmVkIGxvbmcpYml0bWFwIHwgKDFVTCA8PCB0Yml0KTsNCj4gICAgICAgcmN1X2Fz c2lnbl9wb2ludGVyKCpzbG90LCAodm9pZCAqKXRtcCk7DQo+ICAgICAgICppZCA9IG5ldyArIHRi aXQgLSBSQURJWF9UUkVFX0VYQ0VQVElPTkFMX1NISUZUOw0KPiAgICAgICByZXR1cm4gMDsNCj4g ICAgIH0NCj4gICB9DQoNCkknbSBjZXJ0YWlubHkgb3BlbiB0byBtaWNyb29wdGltaXNhdGlvbnMs IGJ1dCBJJ2xsIGhhdmUgdG8gdGhpbmsgYWJvdXQgdGhpcyBvbmUgZm9yIGEgYml0Lg0K