From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v4 05/38] drm: Add a simple generator of random permutations Date: Tue, 27 Dec 2016 12:33:50 +0100 Message-ID: <20161227113350.GH19172@dvetter-linux.ger.corp.intel.com> References: <20161222083641.2691-1-chris@chris-wilson.co.uk> <20161222083641.2691-6-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20161222083641.2691-6-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBEZWMgMjIsIDIwMTYgYXQgMDg6MzY6MDhBTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFdoZW4gdGVzdGluZywgd2Ugd2FudCBhIHJhbmRvbSBidXQgeWV0IHJlcHJvZHVjaWJs ZSBvcmRlciBpbiB3aGljaCB0bwo+IHByb2Nlc3MgZWxlbWVudHMuIEhlcmUgd2UgY3JlYXRlIGFu IGFycmF5IHdoaWNoIGlzIGEgcmFuZG9tICh1c2luZyB0aGUKPiBUYXVzd29ydGhlIFBSTkcpIHBl cm11dGF0aW9uIG9mIHRoZSBvcmRlciBpbiB3aGljaCB0byBleGVjdXRlLgo+IAo+IE5vdGUgdGhl c2UgYXJlIHNpbXBsZSBoZWxwZXJzIGludGVuZGVkIHRvIGJlIG1lcmdlZCB1cHN0cmVhbSBpbiBs aWIvCgpJcyB0aGF0IGhhcHBlbmluZz8gSSBtZWFuIGluY2x1ZGluZyBzb21lIGtlcm5lbC1kb2Mg YW5kIGFsbCB0aGF0IGZ1bj8KLURhbmllbAoKPiAKPiB2MjogVGlkaWVyIGNvZGUgYnkgRGF2aWQg SGVycm1hbm4KPiB2MzogQWRkIHJlbWluZGVyIHRoYXQgdGhpcyBjb2RlIGlzIGludGVuZGVkIHRv IGJlIHRlbXBvcmFyeSwgd2l0aCBhdAo+IGxlYXN0IHRoZSBidWxrIG9mIHRoZSBwcmFuZG9tIGNo YW5nZXMgZ29pbmcgdG8gbGliLwo+IAo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hy aXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0 aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IERhdmlkIEhlcnJtYW5uIDxkaC5oZXJybWFubkBn bWFpbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVu QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL0tjb25maWcgICAgICAg ICAgfCAgNCArKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSAgICAgICAgIHwgIDEgKwo+ ICBkcml2ZXJzL2dwdS9kcm0vbGliL2RybV9yYW5kb20uYyB8IDQxICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2xpYi9kcm1fcmFuZG9t LmggfCAyNSArKysrKysrKysrKysrKysrKysrKysrKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCA3MSBp bnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vbGliL2Ry bV9yYW5kb20uYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2xpYi9kcm1f cmFuZG9tLmgKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL0tjb25maWcgYi9kcml2 ZXJzL2dwdS9kcm0vS2NvbmZpZwo+IGluZGV4IGViZmU4NDA0YzI1Zi4uNDVhMWM3NDY4ZTg4IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL0tjb25maWcKPiBAQCAtMzIxLDMgKzMyMSw3IEBAIGNvbmZpZyBEUk1fU0FWQUdFCj4gIAkg IGNoaXBzZXQuIElmIE0gaXMgc2VsZWN0ZWQgdGhlIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBzYXZh Z2UuCj4gIAo+ICBlbmRpZiAjIERSTV9MRUdBQ1kKPiArCj4gK2NvbmZpZyBEUk1fTElCX1JBTkRP TQo+ICsJYm9vbAo+ICsJZGVmYXVsdCBuCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9N YWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQo+IGluZGV4IGI5YWU0MjgwZGU5ZC4u NmJiNDE2MzYwYWU0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQo+IEBAIC0xOCw2ICsxOCw3IEBAIGRybS15ICAg ICAgIDo9CWRybV9hdXRoLm8gZHJtX2J1ZnMubyBkcm1fY2FjaGUubyBcCj4gIAkJZHJtX3BsYW5l Lm8gZHJtX2NvbG9yX21nbXQubyBkcm1fcHJpbnQubyBcCj4gIAkJZHJtX2R1bWJfYnVmZmVycy5v IGRybV9tb2RlX2NvbmZpZy5vCj4gIAo+ICtkcm0tJChDT05GSUdfRFJNX0xJQl9SQU5ET00pICs9 IGxpYi9kcm1fcmFuZG9tLm8KPiAgZHJtLSQoQ09ORklHX0NPTVBBVCkgKz0gZHJtX2lvYzMyLm8K PiAgZHJtLSQoQ09ORklHX0RSTV9HRU1fQ01BX0hFTFBFUikgKz0gZHJtX2dlbV9jbWFfaGVscGVy Lm8KPiAgZHJtLSQoQ09ORklHX1BDSSkgKz0gYXRpX3BjaWdhcnQubwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbGliL2RybV9yYW5kb20uYyBiL2RyaXZlcnMvZ3B1L2RybS9saWIvZHJt X3JhbmRvbS5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjdi MTJhNjhjM2I1NAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbGliL2Ry bV9yYW5kb20uYwo+IEBAIC0wLDAgKzEsNDEgQEAKPiArI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5o Pgo+ICsjaW5jbHVkZSA8bGludXgva2VybmVsLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9yYW5kb20u aD4KPiArI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+ Cj4gKwo+ICsjaW5jbHVkZSAiZHJtX3JhbmRvbS5oIgo+ICsKPiArc3RhdGljIGlubGluZSB1MzIg ZHJtX3ByYW5kb21fdTMyX21heF9zdGF0ZSh1MzIgZXBfcm8sIHN0cnVjdCBybmRfc3RhdGUgKnN0 YXRlKQo+ICt7Cj4gKwlyZXR1cm4gdXBwZXJfMzJfYml0cygodTY0KXByYW5kb21fdTMyX3N0YXRl KHN0YXRlKSAqIGVwX3JvKTsKPiArfQo+ICsKPiArdm9pZCBkcm1fcmFuZG9tX3Jlb3JkZXIodW5z aWduZWQgaW50ICpvcmRlciwgdW5zaWduZWQgaW50IGNvdW50LAo+ICsJCQlzdHJ1Y3Qgcm5kX3N0 YXRlICpzdGF0ZSkKPiArewo+ICsJdW5zaWduZWQgaW50IGksIGo7Cj4gKwo+ICsJZm9yIChpID0g MDsgaSA8IGNvdW50OyArK2kpIHsKPiArCQlCVUlMRF9CVUdfT04oc2l6ZW9mKHVuc2lnbmVkIGlu dCkgPiBzaXplb2YodTMyKSk7Cj4gKwkJaiA9IGRybV9wcmFuZG9tX3UzMl9tYXhfc3RhdGUoY291 bnQsIHN0YXRlKTsKPiArCQlzd2FwKG9yZGVyW2ldLCBvcmRlcltqXSk7Cj4gKwl9Cj4gK30KPiAr RVhQT1JUX1NZTUJPTChkcm1fcmFuZG9tX3Jlb3JkZXIpOwo+ICsKPiArdW5zaWduZWQgaW50ICpk cm1fcmFuZG9tX29yZGVyKHVuc2lnbmVkIGludCBjb3VudCwgc3RydWN0IHJuZF9zdGF0ZSAqc3Rh dGUpCj4gK3sKPiArCXVuc2lnbmVkIGludCAqb3JkZXIsIGk7Cj4gKwo+ICsJb3JkZXIgPSBrbWFs bG9jX2FycmF5KGNvdW50LCBzaXplb2YoKm9yZGVyKSwgR0ZQX1RFTVBPUkFSWSk7Cj4gKwlpZiAo IW9yZGVyKQo+ICsJCXJldHVybiBvcmRlcjsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7 IGkrKykKPiArCQlvcmRlcltpXSA9IGk7Cj4gKwo+ICsJZHJtX3JhbmRvbV9yZW9yZGVyKG9yZGVy LCBjb3VudCwgc3RhdGUpOwo+ICsJcmV0dXJuIG9yZGVyOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0wo ZHJtX3JhbmRvbV9vcmRlcik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9saWIvZHJt X3JhbmRvbS5oIGIvZHJpdmVycy9ncHUvZHJtL2xpYi9kcm1fcmFuZG9tLmgKPiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uYTc4NjQ0YmVhN2Y5Cj4gLS0tIC9kZXYv bnVsbAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9saWIvZHJtX3JhbmRvbS5oCj4gQEAgLTAsMCAr MSwyNSBAQAo+ICsjaWZuZGVmIF9fRFJNX1JBTkRPTV9IX18KPiArI2RlZmluZSBfX0RSTV9SQU5E T01fSF9fCj4gKwo+ICsvKiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGhvbWUgZm9yIGEgY291cGxlIG9m IHV0aWxpdHkgZnVuY3Rpb25zIHRoYXQgc2hvdWxkCj4gKyAqIGJlIHRyYW5zcG9zZWQgdG8gbGli LyBhdCB0aGUgZWFybGllc3QgY29udmVuaWVuY2UuCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPGxp bnV4L3JhbmRvbS5oPgo+ICsKPiArI2RlZmluZSBEUk1fUk5EX1NUQVRFX0lOSVRJQUxJWkVSKHNl ZWRfXykgKHsJCQkJXAo+ICsJc3RydWN0IHJuZF9zdGF0ZSBzdGF0ZV9fOwkJCQkJXAo+ICsJcHJh bmRvbV9zZWVkX3N0YXRlKCZzdGF0ZV9fLCAoc2VlZF9fKSk7CQkJCVwKPiArCXN0YXRlX187CQkJ CQkJCVwKPiArfSkKPiArCj4gKyNkZWZpbmUgRFJNX1JORF9TVEFURShuYW1lX18sIHNlZWRfXykg XAo+ICsJc3RydWN0IHJuZF9zdGF0ZSBuYW1lX18gPSBEUk1fUk5EX1NUQVRFX0lOSVRJQUxJWkVS KHNlZWRfXykKPiArCj4gK3Vuc2lnbmVkIGludCAqZHJtX3JhbmRvbV9vcmRlcih1bnNpZ25lZCBp bnQgY291bnQsCj4gKwkJCSAgICAgICBzdHJ1Y3Qgcm5kX3N0YXRlICpzdGF0ZSk7Cj4gK3ZvaWQg ZHJtX3JhbmRvbV9yZW9yZGVyKHVuc2lnbmVkIGludCAqb3JkZXIsCj4gKwkJCXVuc2lnbmVkIGlu dCBjb3VudCwKPiArCQkJc3RydWN0IHJuZF9zdGF0ZSAqc3RhdGUpOwo+ICsKPiArI2VuZGlmIC8q ICFfX0RSTV9SQU5ET01fSF9fICovCj4gLS0gCj4gMi4xMS4wCj4gCj4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0 Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAKRGFuaWVsIFZldHRlcgpT b2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==