From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Rostedt Subject: Re: [PATCHv3] lib/ratelimit: Lockless ratelimiting Date: Wed, 1 Aug 2018 21:48:55 -0400 Message-ID: <20180801214855.3ae1abb9@vmware.local.home> References: <20180703225628.25684-1-dima@arista.com> <1531789154.18720.3.camel@arista.com> <20180720150948.nv57fjmmrmo2r7rx@pathway.suse.cz> <1532100816.18720.44.camel@arista.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1532100816.18720.44.camel@arista.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Dmitry Safonov Cc: Petr Mladek , Theodore Ts'o , Arnd Bergmann , David Airlie , Greg Kroah-Hartman , intel-gfx@lists.freedesktop.org, Linux Kernel Mailing List , Andy Shevchenko , dri-devel@lists.freedesktop.org, Rodrigo Vivi , Thomas Gleixner List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCAyMCBKdWwgMjAxOCAxNjozMzozNiArMDEwMApEbWl0cnkgU2Fmb25vdiA8ZGltYUBh cmlzdGEuY29tPiB3cm90ZToKCj4gT24gRnJpLCAyMDE4LTA3LTIwIGF0IDE3OjA5ICswMjAwLCBQ ZXRyIE1sYWRlayB3cm90ZToKPiA+ID4gPiBPbiBUdWUsIDIwMTgtMDctMDMgYXQgMjM6NTYgKzAx MDAsIERtaXRyeSBTYWZvbm92IHdyb3RlOiAgCj4gPiA+ID4gPiBDdXJyZW50bHkgcmF0ZWxpbWl0 X3N0YXRlIGlzIHByb3RlY3RlZCB3aXRoIHNwaW5fbG9jay4gSWYgdGhlCj4gPiA+ID4gPiAubG9j awo+ID4gPiA+ID4gaXMKPiA+ID4gPiA+IHRha2VuIGF0IHRoZSBtb21lbnQgb2YgX19fcmF0ZWxp bWl0KCkgY2FsbCwgdGhlIG1lc3NhZ2UgaXMKPiA+ID4gPiA+IHN1cHByZXNzZWQKPiA+ID4gPiA+ IHRvCj4gPiA+ID4gPiBtYWtlIHJhdGVsaW1pdGluZyByb2J1c3QuCj4gPiA+ID4gPiAKPiA+ID4g PiA+IFRoYXQgcmVzdWx0cyBpbiB0aGUgZm9sbG93aW5nIGlzc3VlIGlzc3VlOgo+ID4gPiA+ID4g ICAgICAgQ1BVMCAgICAgICAgICAgICAgICAgICAgICAgICAgQ1BVMQo+ID4gPiA+ID4gLS0tLS0t LS0tLS0tLS0tLS0tICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gPiA+IHByaW50 a19yYXRlbGltaXQoKSAgICAgICAgICAgcHJpbnRrX3JhdGVsaW1pdCgpCj4gPiA+ID4gPiAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKPiA+ID4gPiA+ICAgdHJ5X3NwaW5f bG9jaygpICAgICAgICAgICAgICB0cnlfc3Bpbl9sb2NrKCkKPiA+ID4gPiA+ICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAo+ID4gPiA+ID4gdGltZV9pc19iZWZvcmVfamlm ZmllcygpICAgICAgICAgIHJldHVybiAwOyAvLyBzdXBwcmVzcwo+ID4gPiA+ID4gCj4gPiA+ID4g PiBTbywgY29uY3VycmVudCBjYWxsIG9mIF9fX3JhdGVsaW1pdCgpIHJlc3VsdHMgaW4gc2lsZW50 bHkKPiA+ID4gPiA+IHN1cHByZXNzaW5nCj4gPiA+ID4gPiBvbmUgb2YgdGhlIG1lc3NhZ2VzLCBy ZWdhcmRsZXNzIGlmIHRoZSBsaW1pdCBpcyByZWFjaGVkIG9yIG5vdC4KPiA+ID4gPiA+IEFuZCBy Yy0+bWlzc2VkIGlzIG5vdCBpbmNyZWFzZWQgaW4gc3VjaCBjYXNlIHNvIHRoZSBpc3N1ZSBpcwo+ ID4gPiA+ID4gY292ZXJlZAo+ID4gPiA+ID4gZnJvbSB1c2VyLgo+ID4gPiA+ID4gCj4gPiA+ID4g PiBDb252ZXJ0IHJhdGVsaW1pdGluZyB0byB1c2UgYXRvbWljIGNvdW50ZXJzIGFuZCBkcm9wIHNw aW5fbG9jay4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gTm90ZTogVGhhdCBtaWdodCBiZSB1bmV4cGVj dGVkLCBidXQgd2l0aCB0aGUgZmlyc3QgaW50ZXJ2YWwgb2YKPiA+ID4gPiA+IG1lc3NhZ2VzCj4g PiA+ID4gPiBzdG9ybSBvbmUgY2FuIHByaW50IHVwIHRvIGJ1cnN0KjIgbWVzc2FnZXMuIFNvLCBp dCBkb2Vzbid0Cj4gPiA+ID4gPiBndWFyYW50ZWUKPiA+ID4gPiA+IHRoYXQgaW4gKmFueSogaW50 ZXJ2YWwgYW1vdW50IG9mIG1lc3NhZ2VzIGlzIGxlc3NlciB0aGFuIGJ1cnN0Lgo+ID4gPiA+ID4g QnV0LCB0aGF0IGRpZmZlcnMgbGlnaHRseSBmcm9tIHByZXZpb3VzIGJlaGF2aW9yIHdoZXJlIG9u ZSBjYW4KPiA+ID4gPiA+IHN0YXJ0Cj4gPiA+ID4gPiBidXJzdD01IGludGVydmFsIGFuZCBwcmlu dCA0IG1lc3NhZ2VzIG9uIHRoZSBsYXN0IG1pbGxpc2Vjb25kcwo+ID4gPiA+ID4gb2YKPiA+ID4g PiA+IGludGVydmFsICsgbmV3IDUgbWVzc2FnZXMgZnJvbSBuZXcgaW50ZXJ2YWwgKHRvdGFsbHkg OSBtZXNzYWdlcwo+ID4gPiA+ID4gaW4KPiA+ID4gPiA+IGxlc3NlciB0aGFuIGludGVydmFsIHZh bHVlKToKPiA+ID4gPiA+IAo+ID4gPiA+ID4gICAgbXNnMCAgICAgICAgICAgICAgbXNnMS1tc2c0 IG1zZzAtbXNnNAo+ID4gPiA+ID4gICAgIHwgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwK PiA+ID4gPiA+ICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8Cj4gPiA+ID4gPiAg fC0tby0tLS0tLS0tLS0tLS0tLS0tLS0tLW8tfC0tLS0tby0tLS0tLS0tLS0tLS0tLS0tLS0tfC0t PiAodCkKPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgPC0tLS0tLS0+Cj4gPiA+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgIExlc3NlciB0aGFuIGJ1cnN0Cj4gPiA+ID4gPiAg IAo+ID4gCj4gPiBJIGFtIGEgYml0IGNvbmZ1c2VkLiBEb2VzIHRoaXMgcGF0Y2ggZml4IHR3byBw cm9ibGVtcz8KPiA+IAo+ID4gICAgKyBMb3N0IHJjLT5taXNzZWQgdXBkYXRlIHdoZW4gdHJ5X3Nw aW5fbG9jaygpIGZhaWxzCj4gPiAgICArIHByaW50aW5nIHVwIHRvIGJ1cnN0KjIgbWVzc2FnZXMg aW4gYSBnaXZlIGludGVydmFsICAKPiAKPiBXaGF0IEkgdHJpZWQgdG8gc29sdmUgaGVyZSAobWF5 YmUgSSBjb3VsZCBiZXR0ZXIgcG9pbnQgaXQgaW4gdGhlIGNvbW1pdAo+IG1lc3NhZ2UpOiBpcyB0 aGUgc2l0dWF0aW9uIHdoZXJlIHJhdGVsaW1pdDo6YnVyc3QgaGF2ZW4ndCBiZWVuIGhpdCB5ZXQK PiBhbmQgdGhlcmUgYXJlIGNhbGxzIGZvciBfX3JhdGVsaW1pdCgpIGZyb20gZGlmZmVyZW50IENQ VXMuCj4gU28sIG5laXRoZXIgb2YgdGhlIG1lc3NhZ2VzIHNob3VsZCBiZSBzdXBwcmVzc2VkLCBi dXQgYXMgdGhlIHNwaW5sb2NrCj4gaXMgdGFrZW4gYWxyZWFkeSAtIG9uZSBvZiB0aGVtIGlzIGRy b3BwZWQgYW5kIGV2ZW4gd2l0aG91dCB1cGRhdGluZwo+IG1pc3NlZCBjb3VudGVyLgo+IAo+ID4g SXQgd291bGQgbWFrZSB0aGUgcmV2aWV3IG11Y2ggZWFzaWVyIGlmIHlvdSBzcGxpdCBpdCBpbnRv IG1vcmUKPiA+IHBhdGNoZXMgYW5kIGZpeCB0aGUgcHJvYmxlbXMgc2VwYXJhdGVseS4gIAo+IAo+ IEhtbSwgbm90IHJlYWxseSBzdXJlOiB0aGUgcGF0Y2ggY2hhbmdlcyBzcGlubG9jayB0byBhdG9t aWNzIGFuZCBJJ20gbm90Cj4gc3VyZSBpdCBtYWtlIG11Y2ggc2Vuc2UgdG8gYWRkIGF0b21pY3Mg YmVmb3JlIHJlbW92aW5nIHRoZSBzcGlubG9jay4uCj4gCj4gPiBPdGhlcndpc2UsIGl0IGxvb2tz IHByb21pc3NpbmcuLi4KPiA+IAo+ID4gQmVzdCBSZWdhcmRzLAo+ID4gUGV0cgo+ID4gCj4gPiBQ UzogSSBoYXZlIHZhY2F0aW9uIHRoZSBmb2xsb3dpbmcgdHdvIHdlZWtzLiBBbnl3YXksIHBsZWFz ZSwgQ0MgbWUKPiA+IGlmIHlvdSBzZW5kIGFueSBuZXcgdmVyc2lvbi4gIAo+IAo+IFN1cmVseSwg dGhhbmtzIGZvciB5b3VyIGF0dGVudGlvbiB0byB0aGUgcGF0Y2ggKGFuZCB0aW1lKS4KPiAKCkkn bSBqdXN0IGNhdGNoaW5nIHVwIGZyb20gbXkgdmFjYXRpb24uIFdoYXQgYWJvdXQgbWFraW5nIHJz LT5taXNzZWQKaW50byBhbiBhdG9taWMsIGFuZCBoYXZlOgoKCWlmICghcmF3X3NwaW5fdHJ5bG9j a19pcnFzYXZlKCZycy0+bG9jaywgZmxhZ3MpKSB7CgkJYXRvbWljX2luYygmcnMtPm1pc3NlZCk7 CgkJcmV0dXJuIDA7Cgl9Cgo/CgpZb3Ugd291bGQgYWxzbyBuZWVkIHRvIGRvOgoKCWlmICh0aW1l X2lzX2JlZm9yZV9qaWZmaWVzKHJzLT5iZWdpbiArIHJzLT5pbnRlcnZhbCkpIHsKCQlpbnQgbWlz c2VkID0gYXRvbWljX3hjaGcoJnJzLT5taXNzZWQsIDApOwoJCWlmIChtaXNzZWQpIHsKClNvIHRo YXQgeW91IGRvbid0IGhhdmUgYSByYWNlIGJldHdlZW4gY2hlY2tpbmcgcnMtPm1pc3NlZCBhbmQg c2V0dGluZyBpdAp0byB6ZXJvLgoKLS0gU3RldmUKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==