From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [Intel-gfx] [PATCH 2/2] drm: More specific locking for get* ioctls Date: Tue, 11 Nov 2014 09:52:01 -0500 Message-ID: <20141111145201.GA36685@philcollins> References: <1415697121-1945-1-git-send-email-daniel.vetter@ffwll.ch> <1415697121-1945-2-git-send-email-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: <1415697121-1945-2-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , DRI Development List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBOb3YgMTEsIDIwMTQgYXQgMTA6MTI6MDFBTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBNb3RpdmF0ZWQgYnkgdGhlIHBlci1wbGFuZSBsb2NraW5nIEkndmUgZ29uZSB0aHJv dWdoIGFsbCB0aGUgZ2V0Kgo+IGlvY3RscyBhbmQgcmVkdWNlZCB0aGUgbG9ja2luZyB0byB0aGUg YmFyZSBtaW5pbXVtIHJlcXVpcmVkLgo+IAo+IHYyOiBSZWJhc2UgYW5kIG1ha2UgaXQgY29tcGls ZSAuLi4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGlu dGVsLmNvbT4KCkp1c3QgYSBjb3VwbGUgbml0cy4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9k cm1fY3J0Yy5jIHwgNDYgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9jcnRjLmMKPiBpbmRleCAzNjUyZWQ4ZGRhODAuLjg4NTBmMzI5OTRlMyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fY3J0Yy5jCj4gQEAgLTE3NDMsNyArMTc0Myw5IEBAIGludCBkcm1fbW9kZV9nZXRy ZXNvdXJjZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgCWNhcmRfcmVz LT5jb3VudF9mYnMgPSBmYl9jb3VudDsKPiAgCW11dGV4X3VubG9jaygmZmlsZV9wcml2LT5mYnNf bG9jayk7Cj4gIAo+IC0JZHJtX21vZGVzZXRfbG9ja19hbGwoZGV2KTsKPiArCS8qIG1vZGVfY29u ZmlnLm11dGV4IHByb3RlY3RzIHRoZSBjb25uZWN0b3IgbGlzdCBhZ2FpbnN0IGUuZy4gRFAgTVNU Cj4gKwkgKiBjb25uZWN0b3IgaG90LWFkZGluZy4gQ1JUQy9QbGFuZSBsaXN0cyBhcmUgaW52YXJp YW50LiAqLwo+ICsJbXV0ZXhfbG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7Cj4gIAlpZiAo IWRybV9pc19wcmltYXJ5X2NsaWVudChmaWxlX3ByaXYpKSB7Cj4gIAo+ICAJCW1vZGVfZ3JvdXAg PSBOVUxMOwo+IEBAIC0xODYzLDcgKzE4NjUsNyBAQCBpbnQgZHJtX21vZGVfZ2V0cmVzb3VyY2Vz KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAkJICBjYXJkX3Jlcy0+Y291 bnRfY29ubmVjdG9ycywgY2FyZF9yZXMtPmNvdW50X2VuY29kZXJzKTsKPiAgCj4gIG91dDoKPiAt CWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKPiArCW11dGV4X3VubG9jaygmZGV2LT5tb2Rl X2NvbmZpZy5tdXRleCk7Cj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+IEBAIC0xODkwLDE0ICsx ODkyLDExIEBAIGludCBkcm1fbW9kZV9nZXRjcnRjKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4g IAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gIAkJ cmV0dXJuIC1FSU5WQUw7Cj4gIAo+IC0JZHJtX21vZGVzZXRfbG9ja19hbGwoZGV2KTsKPiAtCj4g IAljcnRjID0gZHJtX2NydGNfZmluZChkZXYsIGNydGNfcmVzcC0+Y3J0Y19pZCk7Cj4gLQlpZiAo IWNydGMpIHsKPiAtCQlyZXQgPSAtRU5PRU5UOwo+IC0JCWdvdG8gb3V0Owo+IC0JfQo+ICsJaWYg KCFjcnRjKQo+ICsJCXJldHVybiAtRU5PRU5UOwo+ICAKPiArCWRybV9tb2Rlc2V0X2xvY2tfY3J0 YyhjcnRjLCBjcnRjLT5wcmltYXJ5KTsKPiAgCWNydGNfcmVzcC0+eCA9IGNydGMtPng7Cj4gIAlj cnRjX3Jlc3AtPnkgPSBjcnRjLT55Owo+ICAJY3J0Y19yZXNwLT5nYW1tYV9zaXplID0gY3J0Yy0+ Z2FtbWFfc2l6ZTsKPiBAQCAtMTkxNCw5ICsxOTEzLDggQEAgaW50IGRybV9tb2RlX2dldGNydGMo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCX0gZWxzZSB7Cj4gIAkJY3J0Y19yZXNwLT5tb2Rl X3ZhbGlkID0gMDsKPiAgCX0KPiArCWRybV9tb2Rlc2V0X3VubG9ja19jcnRjKGNydGMpOwo+ICAK PiAtb3V0Ogo+IC0JZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwo+ICAJcmV0dXJuIHJldDsK PiAgfQo+ICAKPiBAQCAtMjEwMCwyNCArMjA5OCwyMiBAQCBpbnQgZHJtX21vZGVfZ2V0ZW5jb2Rl cihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAJaWYgKCFkcm1fY29yZV9j aGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ICAJCXJldHVybiAtRUlOVkFMOwo+ ICAKPiAtCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRldik7Cj4gIAllbmNvZGVyID0gZHJtX2VuY29k ZXJfZmluZChkZXYsIGVuY19yZXNwLT5lbmNvZGVyX2lkKTsKPiAtCWlmICghZW5jb2Rlcikgewo+ IC0JCXJldCA9IC1FTk9FTlQ7Cj4gLQkJZ290byBvdXQ7Cj4gLQl9Cj4gKwlpZiAoIWVuY29kZXIp Cj4gKwkJcmV0dXJuIC1FTk9FTlQ7Cj4gIAo+ICsJZHJtX21vZGVzZXRfbG9jaygmZGV2LT5tb2Rl X2NvbmZpZy5jb25uZWN0aW9uX211dGV4LCBOVUxMKTsKPiAgCWlmIChlbmNvZGVyLT5jcnRjKQo+ ICAJCWVuY19yZXNwLT5jcnRjX2lkID0gZW5jb2Rlci0+Y3J0Yy0+YmFzZS5pZDsKPiAgCWVsc2UK PiAgCQllbmNfcmVzcC0+Y3J0Y19pZCA9IDA7Cj4gKwlkcm1fbW9kZXNldF91bmxvY2soJmRldi0+ bW9kZV9jb25maWcuY29ubmVjdGlvbl9tdXRleCk7Cj4gKwo+ICAJZW5jX3Jlc3AtPmVuY29kZXJf dHlwZSA9IGVuY29kZXItPmVuY29kZXJfdHlwZTsKPiAgCWVuY19yZXNwLT5lbmNvZGVyX2lkID0g ZW5jb2Rlci0+YmFzZS5pZDsKPiAgCWVuY19yZXNwLT5wb3NzaWJsZV9jcnRjcyA9IGVuY29kZXIt PnBvc3NpYmxlX2NydGNzOwo+ICAJZW5jX3Jlc3AtPnBvc3NpYmxlX2Nsb25lcyA9IGVuY29kZXIt PnBvc3NpYmxlX2Nsb25lczsKPiAgCj4gLW91dDoKPiAtCWRybV9tb2Rlc2V0X3VubG9ja19hbGwo ZGV2KTsKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gQEAgLTIxNDcsNyArMjE0Myw2IEBAIGlu dCBkcm1fbW9kZV9nZXRwbGFuZV9yZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKPiAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkK PiAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgCj4gLQlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ ICAJY29uZmlnID0gJmRldi0+bW9kZV9jb25maWc7CgpJJ2QgZmVlbCBiZXR0ZXIgaWYgeW91IGFk ZGVkIGEgY29tbWVudCBoZXJlIHNpbWlsYXIgdG8gdGhlIG9uZSBhYm92ZQpleHBsYWluaW5nIHRo YXQgdGhlIHBsYW5lX2xpc3QgY2Fubm90IGNoYW5nZSBhbmQgdGh1cyBhY2Nlc3NpbmcgaXQgZG9l cyBub3QKcmVxdWlyZSBsb2NraW5nIGNvbmZpZy0+bXV0ZXguCgo+ICAKPiAgCWlmIChmaWxlX3By aXYtPnVuaXZlcnNhbF9wbGFuZXMpCj4gQEAgLTIxODIsNyArMjE3Nyw2IEBAIGludCBkcm1fbW9k ZV9nZXRwbGFuZV9yZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgCXBs YW5lX3Jlc3AtPmNvdW50X3BsYW5lcyA9IG51bV9wbGFuZXM7Cj4gIAo+ICBvdXQ6CgpJIHRoaW5r IHlvdSBjYW4ganVzdCByZW1vdmUgdGhpcyBsYWJlbCBlbnRpcmVseSBhbmQgcmV0dXJuIHN0cmFp Z2h0IGZyb20gdGhlCmZhaWx1cmUgY2FzZXMuCgo+IC0JZHJtX21vZGVzZXRfdW5sb2NrX2FsbChk ZXYpOwo+ICAJcmV0dXJuIHJldDsKPiAgfQo+ICAKPiBAQCAtMjIxMCwxMyArMjIwNCwxMSBAQCBp bnQgZHJtX21vZGVfZ2V0cGxhbmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK PiAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiAg CQlyZXR1cm4gLUVJTlZBTDsKPiAgCj4gLQlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwo+ICAJ cGxhbmUgPSBkcm1fcGxhbmVfZmluZChkZXYsIHBsYW5lX3Jlc3AtPnBsYW5lX2lkKTsKPiAtCWlm ICghcGxhbmUpIHsKPiAtCQlyZXQgPSAtRU5PRU5UOwo+IC0JCWdvdG8gb3V0Owo+IC0JfQo+ICsJ aWYgKCFwbGFuZSkKPiArCQlyZXR1cm4gLUVOT0VOVDsKPiAgCj4gKwlkcm1fbW9kZXNldF9sb2Nr KCZwbGFuZS0+bXV0ZXgsIE5VTEwpOwo+ICAJaWYgKHBsYW5lLT5jcnRjKQo+ICAJCXBsYW5lX3Jl c3AtPmNydGNfaWQgPSBwbGFuZS0+Y3J0Yy0+YmFzZS5pZDsKPiAgCWVsc2UKPiBAQCAtMjIyNiw2 ICsyMjE4LDcgQEAgaW50IGRybV9tb2RlX2dldHBsYW5lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCj4gIAkJcGxhbmVfcmVzcC0+ZmJfaWQgPSBwbGFuZS0+ZmItPmJhc2UuaWQ7 Cj4gIAllbHNlCj4gIAkJcGxhbmVfcmVzcC0+ZmJfaWQgPSAwOwo+ICsJZHJtX21vZGVzZXRfdW5s b2NrKCZwbGFuZS0+bXV0ZXgpOwo+ICAKPiAgCXBsYW5lX3Jlc3AtPnBsYW5lX2lkID0gcGxhbmUt PmJhc2UuaWQ7Cj4gIAlwbGFuZV9yZXNwLT5wb3NzaWJsZV9jcnRjcyA9IHBsYW5lLT5wb3NzaWJs ZV9jcnRjczsKPiBAQCAtMjI0MSwxNCArMjIzNCwxMSBAQCBpbnQgZHJtX21vZGVfZ2V0cGxhbmUo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgCQlpZiAoY29weV90b191c2Vy KGZvcm1hdF9wdHIsCj4gIAkJCQkgcGxhbmUtPmZvcm1hdF90eXBlcywKPiAgCQkJCSBzaXplb2Yo dWludDMyX3QpICogcGxhbmUtPmZvcm1hdF9jb3VudCkpIHsKPiAtCQkJcmV0ID0gLUVGQVVMVDsK PiAtCQkJZ290byBvdXQ7Cj4gKwkJCXJldHVybiAtRUZBVUxUOwo+ICAJCX0KPiAgCX0KPiAgCXBs YW5lX3Jlc3AtPmNvdW50X2Zvcm1hdF90eXBlcyA9IHBsYW5lLT5mb3JtYXRfY291bnQ7Cj4gIAo+ IC1vdXQ6Cj4gLQlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7Cj4gIAlyZXR1cm4gcmV0Owo+ ICB9Cj4gIAo+IC0tIAo+IDIuMS4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK