From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 2/3] drm/nouveau: slowpath for pushbuf ioctl Date: Tue, 3 Sep 2019 10:17:14 +0200 Message-ID: <20190903081714.GO2112@phenom.ffwll.local> References: <20190821215030.31660-1-daniel.vetter@ffwll.ch> <20190821215030.31660-2-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190821215030.31660-2-daniel.vetter-/w4YWyX8dFk@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: DRI Development Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Intel Graphics Development , Ben Skeggs , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBdWcgMjEsIDIwMTkgYXQgMTE6NTA6MjlQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBXZSBjYW4ndCBjb3B5XypfdXNlciB3aGlsZSBob2xkaW5nIHJlc2VydmF0aW9ucywg dGhhdCB3aWxsIChzb29uIGV2ZW4KPiBmb3Igbm91dmVhdSkgbGVhZCB0byBkZWFkbG9ja3MuIEFu ZCBpdCBicmVha3MgdGhlIGNyb3NzLWRyaXZlcgo+IGNvbnRyYWN0IGFyb3VuZCBkbWFfcmVzdi4K PiAKPiBGaXggdGhpcyBieSBhZGRpbmcgYSBzbG93cGF0aCBmb3Igd2hlbiB3ZSBuZWVkIHJlbG9j YXRpb25zLCBhbmQgYnkKPiBwdXNoaW5nIHRoZSB3cml0ZWJhY2sgb2YgdGhlIG5ldyBwcmVzdW1l ZCBvZmZzZXRzIHRvIHRoZSB2ZXJ5IGVuZC4KPiAKPiBBc2lkZSBmcm9tICJpdCBjb21waWxlcyIg ZW50aXJlbHkgdW50ZXN0ZWQgdW5mb3J0dW5hdGVseS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiBDYzogQmVuIFNrZWdncyA8YnNr ZWdnc0ByZWRoYXQuY29tPgo+IENjOiBub3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwoKUGlu ZyBmb3Igc29tZSByZXZpZXcvdGVzdGluZyAoYXBwYXJlbnRseSBuZWVkcyBwcmUtbnY1MCkuIEkn ZCByZWFsbHkgbGlrZQp0byBsYW5kIHRoaXMgc2VyaWVzIGhlcmUsIGl0IHNob3VsZCBoZWxwIGEg bG90IGluIG1ha2luZyBzdXJlIGV2ZXJ5b25lCnVzZXMgZG1hX3Jlc3YgaW4gYSBjb21wYXRpYmxl IHdheSBhY3Jvc3MgZHJpdmVycy4KClRoYW5rcywgRGFuaWVsCgo+IC0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vbm91dmVhdS9ub3V2ZWF1X2dlbS5jIHwgNTcgKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkK PiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZ2VtLmMKPiBpbmRleCBjNzczMDJmOTY5 ZTguLjYwMzA5Yjk5Nzk1MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9u b3V2ZWF1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9nZW0u Ywo+IEBAIC00ODIsMTIgKzQ4Miw5IEBAIHZhbGlkYXRlX2luaXQoc3RydWN0IG5vdXZlYXVfY2hh bm5lbCAqY2hhbiwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCj4gIAo+ICBzdGF0aWMgaW50 Cj4gIHZhbGlkYXRlX2xpc3Qoc3RydWN0IG5vdXZlYXVfY2hhbm5lbCAqY2hhbiwgc3RydWN0IG5v dXZlYXVfY2xpICpjbGksCj4gLQkgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0LCBzdHJ1Y3Qg ZHJtX25vdXZlYXVfZ2VtX3B1c2hidWZfYm8gKnBiYm8sCj4gLQkgICAgICB1aW50NjRfdCB1c2Vy X3BiYm9fcHRyKQo+ICsJICAgICAgc3RydWN0IGxpc3RfaGVhZCAqbGlzdCwgc3RydWN0IGRybV9u b3V2ZWF1X2dlbV9wdXNoYnVmX2JvICpwYmJvKQo+ICB7Cj4gIAlzdHJ1Y3Qgbm91dmVhdV9kcm0g KmRybSA9IGNoYW4tPmRybTsKPiAtCXN0cnVjdCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1Zl9ibyBf X3VzZXIgKnVwYmJvID0KPiAtCQkJCSh2b2lkIF9fZm9yY2UgX191c2VyICopKHVpbnRwdHJfdCl1 c2VyX3BiYm9fcHRyOwo+ICAJc3RydWN0IG5vdXZlYXVfYm8gKm52Ym87Cj4gIAlpbnQgcmV0LCBy ZWxvY3MgPSAwOwo+ICAKPiBAQCAtNTMxLDEwICs1MjgsNiBAQCB2YWxpZGF0ZV9saXN0KHN0cnVj dCBub3V2ZWF1X2NoYW5uZWwgKmNoYW4sIHN0cnVjdCBub3V2ZWF1X2NsaSAqY2xpLAo+ICAJCQli LT5wcmVzdW1lZC5vZmZzZXQgPSBudmJvLT5iby5vZmZzZXQ7Cj4gIAkJCWItPnByZXN1bWVkLnZh bGlkID0gMDsKPiAgCQkJcmVsb2NzKys7Cj4gLQo+IC0JCQlpZiAoY29weV90b191c2VyKCZ1cGJi b1tudmJvLT5wYmJvX2luZGV4XS5wcmVzdW1lZCwKPiAtCQkJCQkgICAgICZiLT5wcmVzdW1lZCwg c2l6ZW9mKGItPnByZXN1bWVkKSkpCj4gLQkJCQlyZXR1cm4gLUVGQVVMVDsKPiAgCQl9Cj4gIAl9 Cj4gIAo+IEBAIC01NDUsOCArNTM4LDggQEAgc3RhdGljIGludAo+ICBub3V2ZWF1X2dlbV9wdXNo YnVmX3ZhbGlkYXRlKHN0cnVjdCBub3V2ZWF1X2NoYW5uZWwgKmNoYW4sCj4gIAkJCSAgICAgc3Ry dWN0IGRybV9maWxlICpmaWxlX3ByaXYsCj4gIAkJCSAgICAgc3RydWN0IGRybV9ub3V2ZWF1X2dl bV9wdXNoYnVmX2JvICpwYmJvLAo+IC0JCQkgICAgIHVpbnQ2NF90IHVzZXJfYnVmZmVycywgaW50 IG5yX2J1ZmZlcnMsCj4gLQkJCSAgICAgc3RydWN0IHZhbGlkYXRlX29wICpvcCwgaW50ICphcHBs eV9yZWxvY3MpCj4gKwkJCSAgICAgaW50IG5yX2J1ZmZlcnMsCj4gKwkJCSAgICAgc3RydWN0IHZh bGlkYXRlX29wICpvcCwgYm9vbCAqYXBwbHlfcmVsb2NzKQo+ICB7Cj4gIAlzdHJ1Y3Qgbm91dmVh dV9jbGkgKmNsaSA9IG5vdXZlYXVfY2xpKGZpbGVfcHJpdik7Cj4gIAlpbnQgcmV0Owo+IEBAIC01 NjMsNyArNTU2LDcgQEAgbm91dmVhdV9nZW1fcHVzaGJ1Zl92YWxpZGF0ZShzdHJ1Y3Qgbm91dmVh dV9jaGFubmVsICpjaGFuLAo+ICAJCXJldHVybiByZXQ7Cj4gIAl9Cj4gIAo+IC0JcmV0ID0gdmFs aWRhdGVfbGlzdChjaGFuLCBjbGksICZvcC0+bGlzdCwgcGJibywgdXNlcl9idWZmZXJzKTsKPiAr CXJldCA9IHZhbGlkYXRlX2xpc3QoY2hhbiwgY2xpLCAmb3AtPmxpc3QsIHBiYm8pOwo+ICAJaWYg KHVubGlrZWx5KHJldCA8IDApKSB7Cj4gIAkJaWYgKHJldCAhPSAtRVJFU1RBUlRTWVMpCj4gIAkJ CU5WX1BSSU5USyhlcnIsIGNsaSwgInZhbGlkYXRpbmcgYm8gbGlzdFxuIik7Cj4gQEAgLTYwMywx NiArNTk2LDEyIEBAIHVfbWVtY3B5YSh1aW50NjRfdCB1c2VyLCB1bnNpZ25lZCBubWVtYiwgdW5z aWduZWQgc2l6ZSkKPiAgc3RhdGljIGludAo+ICBub3V2ZWF1X2dlbV9wdXNoYnVmX3JlbG9jX2Fw cGx5KHN0cnVjdCBub3V2ZWF1X2NsaSAqY2xpLAo+ICAJCQkJc3RydWN0IGRybV9ub3V2ZWF1X2dl bV9wdXNoYnVmICpyZXEsCj4gKwkJCQlzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX3B1c2hidWZfcmVs b2MgKnJlbG9jLAo+ICAJCQkJc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9wdXNoYnVmX2JvICpibykK PiAgewo+IC0Jc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9wdXNoYnVmX3JlbG9jICpyZWxvYyA9IE5V TEw7Cj4gIAlpbnQgcmV0ID0gMDsKPiAgCXVuc2lnbmVkIGk7Cj4gIAo+IC0JcmVsb2MgPSB1X21l bWNweWEocmVxLT5yZWxvY3MsIHJlcS0+bnJfcmVsb2NzLCBzaXplb2YoKnJlbG9jKSk7Cj4gLQlp ZiAoSVNfRVJSKHJlbG9jKSkKPiAtCQlyZXR1cm4gUFRSX0VSUihyZWxvYyk7Cj4gLQo+ICAJZm9y IChpID0gMDsgaSA8IHJlcS0+bnJfcmVsb2NzOyBpKyspIHsKPiAgCQlzdHJ1Y3QgZHJtX25vdXZl YXVfZ2VtX3B1c2hidWZfcmVsb2MgKnIgPSAmcmVsb2NbaV07Cj4gIAkJc3RydWN0IGRybV9ub3V2 ZWF1X2dlbV9wdXNoYnVmX2JvICpiOwo+IEBAIC02OTEsMTEgKzY4MCwxMyBAQCBub3V2ZWF1X2dl bV9pb2N0bF9wdXNoYnVmKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAlz dHJ1Y3Qgbm91dmVhdV9kcm0gKmRybSA9IG5vdXZlYXVfZHJtKGRldik7Cj4gIAlzdHJ1Y3QgZHJt X25vdXZlYXVfZ2VtX3B1c2hidWYgKnJlcSA9IGRhdGE7Cj4gIAlzdHJ1Y3QgZHJtX25vdXZlYXVf Z2VtX3B1c2hidWZfcHVzaCAqcHVzaDsKPiArCXN0cnVjdCBkcm1fbm91dmVhdV9nZW1fcHVzaGJ1 Zl9yZWxvYyAqcmVsb2MgPSBOVUxMOwo+ICAJc3RydWN0IGRybV9ub3V2ZWF1X2dlbV9wdXNoYnVm X2JvICpibzsKPiAgCXN0cnVjdCBub3V2ZWF1X2NoYW5uZWwgKmNoYW4gPSBOVUxMOwo+ICAJc3Ry dWN0IHZhbGlkYXRlX29wIG9wOwo+ICAJc3RydWN0IG5vdXZlYXVfZmVuY2UgKmZlbmNlID0gTlVM TDsKPiAtCWludCBpLCBqLCByZXQgPSAwLCBkb19yZWxvYyA9IDA7Cj4gKwlpbnQgaSwgaiwgcmV0 ID0gMDsKPiArCWJvb2wgZG9fcmVsb2MgPSBmYWxzZTsKPiAgCj4gIAlpZiAodW5saWtlbHkoIWFi aTE2KSkKPiAgCQlyZXR1cm4gLUVOT01FTTsKPiBAQCAtNzUzLDcgKzc0NCw4IEBAIG5vdXZlYXVf Z2VtX2lvY3RsX3B1c2hidWYoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAg CX0KPiAgCj4gIAkvKiBWYWxpZGF0ZSBidWZmZXIgbGlzdCAqLwo+IC0JcmV0ID0gbm91dmVhdV9n ZW1fcHVzaGJ1Zl92YWxpZGF0ZShjaGFuLCBmaWxlX3ByaXYsIGJvLCByZXEtPmJ1ZmZlcnMsCj4g K3JldmFsaWRhdGU6Cj4gKwlyZXQgPSBub3V2ZWF1X2dlbV9wdXNoYnVmX3ZhbGlkYXRlKGNoYW4s IGZpbGVfcHJpdiwgYm8sCj4gIAkJCQkJICAgcmVxLT5ucl9idWZmZXJzLCAmb3AsICZkb19yZWxv Yyk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJaWYgKHJldCAhPSAtRVJFU1RBUlRTWVMpCj4gQEAgLTc2 Myw3ICs3NTUsMTggQEAgbm91dmVhdV9nZW1faW9jdGxfcHVzaGJ1ZihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAKPiAgCS8qIEFwcGx5IGFueSByZWxvY2F0aW9ucyB0aGF0 IGFyZSByZXF1aXJlZCAqLwo+ICAJaWYgKGRvX3JlbG9jKSB7Cj4gLQkJcmV0ID0gbm91dmVhdV9n ZW1fcHVzaGJ1Zl9yZWxvY19hcHBseShjbGksIHJlcSwgYm8pOwo+ICsJCWlmICghcmVsb2MpIHsK PiArCQkJdmFsaWRhdGVfZmluaSgmb3AsIGNoYW4sIE5VTEwsIGJvKTsKPiArCQkJcmVsb2MgPSB1 X21lbWNweWEocmVxLT5yZWxvY3MsIHJlcS0+bnJfcmVsb2NzLCBzaXplb2YoKnJlbG9jKSk7Cj4g KwkJCWlmIChJU19FUlIocmVsb2MpKSB7Cj4gKwkJCQlyZXQgPSBQVFJfRVJSKHJlbG9jKTsKPiAr CQkJCWdvdG8gb3V0X3ByZXZhbGlkOwo+ICsJCQl9Cj4gKwo+ICsJCQlnb3RvIHJldmFsaWRhdGU7 Cj4gKwkJfQo+ICsKPiArCQlyZXQgPSBub3V2ZWF1X2dlbV9wdXNoYnVmX3JlbG9jX2FwcGx5KGNs aSwgcmVxLCByZWxvYywgYm8pOwo+ICAJCWlmIChyZXQpIHsKPiAgCQkJTlZfUFJJTlRLKGVyciwg Y2xpLCAicmVsb2MgYXBwbHk6ICVkXG4iLCByZXQpOwo+ICAJCQlnb3RvIG91dDsKPiBAQCAtODQ5 LDYgKzg1MiwyMiBAQCBub3V2ZWF1X2dlbV9pb2N0bF9wdXNoYnVmKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCj4gIAl2YWxpZGF0ZV9maW5pKCZvcCwgY2hhbiwgZmVuY2UsIGJv KTsKPiAgCW5vdXZlYXVfZmVuY2VfdW5yZWYoJmZlbmNlKTsKPiAgCj4gKwlpZiAoZG9fcmVsb2Mp IHsKPiArCQlzdHJ1Y3QgZHJtX25vdXZlYXVfZ2VtX3B1c2hidWZfYm8gX191c2VyICp1cGJibyA9 Cj4gKwkJCXU2NF90b191c2VyX3B0cihyZXEtPmJ1ZmZlcnMpOwo+ICsKPiArCQlmb3IgKGkgPSAw OyBpIDwgcmVxLT5ucl9idWZmZXJzOyBpKyspIHsKPiArCQkJaWYgKGJvW2ldLnByZXN1bWVkLnZh bGlkKQo+ICsJCQkJY29udGludWU7Cj4gKwo+ICsJCQlpZiAoY29weV90b191c2VyKCZ1cGJib1tp XS5wcmVzdW1lZCwgJmJvW2ldLnByZXN1bWVkLAo+ICsJCQkJCSBzaXplb2YoYm9baV0ucHJlc3Vt ZWQpKSkgewo+ICsJCQkJcmV0ID0gLUVGQVVMVDsKPiArCQkJCWJyZWFrOwo+ICsJCQl9Cj4gKwkJ fQo+ICsJCXVfZnJlZShyZWxvYyk7Cj4gKwl9Cj4gIG91dF9wcmV2YWxpZDoKPiAgCXVfZnJlZShi byk7Cj4gIAl1X2ZyZWUocHVzaCk7Cj4gLS0gCj4gMi4yMy4wLnJjMQo+IAoKLS0gCkRhbmllbCBW ZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZm d2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5v dXZlYXUgbWFpbGluZyBsaXN0Ck5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbm91dmVhdQ==