From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 03/15] drm/i915: Drop spinlocks around adding to the client request list Date: Fri, 24 Feb 2017 14:05:03 +0200 Message-ID: <877f4fdcb4.fsf@gaia.fi.intel.com> References: <20170223161830.26965-1-chris@chris-wilson.co.uk> <20170223161830.26965-4-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0AFEF6E0E5 for ; Fri, 24 Feb 2017 12:07:20 +0000 (UTC) In-Reply-To: <20170223161830.26965-4-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 , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gQWRkaW5n IHRvIHRoZSB0YWlsIG9mIHRoZSBjbGllbnQgcmVxdWVzdCBsaXN0IGFzIHRoZSBvbmx5IG90aGVy IHVzZXIgaXMKPiBpbiB0aGUgdGhyb3R0bGUgaW9jdGwgdGhhdCBpdGVyYXRlcyBmb3J3YXJkcyBv dmVyIHRoZSBsaXN0LiBJdCBvbmx5Cj4gbmVlZHMgcHJvdGVjdGlvbiBhZ2FpbnN0IGRlbGV0aW9u IG9mIGEgcmVxdWVzdCBhcyBpdCByZWFkcyBpdCwgaXQgc2ltcGx5Cj4gd29uJ3Qgc2VlIGEgbmV3 IHJlcXVlc3QgYWRkZWQgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdCwgb3IgaXQgd291bGQgYmUgdG9v Cj4gZWFybHkgYW5kIHJlamVjdGVkLiBXZSBjYW4gZnVydGhlciByZWR1Y2UgdGhlIG51bWJlciBv ZiBzcGlubG9ja3MKPiByZXF1aXJlZCB3aGVuIHRocm90dGxpbmcgYnkgcmVtb3Zpbmcgc3RhbGUg cmVxdWVzdHMgZnJvbSB0aGUgY2xpZW50X2xpc3QKPiBhcyB3ZSB0aHJvdHRsZS4KPgo+IFNpZ25l ZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgoKUmV2aWV3 ZWQtYnk6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgoKCj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICB8ICAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICB8IDE0ICsrKysrKy0tLS0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCAxMyArKysr KysrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jICAgIHwg MzQgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3JlcXVlc3QuaCAgICB8ICA0ICstLS0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAyMyBp bnNlcnRpb25zKCspLCA0NCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jCj4gaW5kZXggMWEyOGI1Mjc5YmVjLi5kZGFlOGU0NDIxNzYgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC01MDYsNyArNTA2LDcgQEAgc3RhdGljIGludCBp OTE1X2dlbV9vYmplY3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4gIAkJ bXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICAJCXJlcXVlc3QgPSBsaXN0X2ZpcnN0 X2VudHJ5X29yX251bGwoJmZpbGVfcHJpdi0+bW0ucmVxdWVzdF9saXN0LAo+ICAJCQkJCQkgICBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QsCj4gLQkJCQkJCSAgIGNsaWVudF9saXN0KTsKPiAr CQkJCQkJICAgY2xpZW50X2xpbmspOwo+ICAJCXJjdV9yZWFkX2xvY2soKTsKPiAgCQl0YXNrID0g cGlkX3Rhc2socmVxdWVzdCAmJiByZXF1ZXN0LT5jdHgtPnBpZCA/Cj4gIAkJCQlyZXF1ZXN0LT5j dHgtPnBpZCA6IGZpbGUtPnBpZCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCBkZTFm Yzk4ZTA0MWQuLjkyYWI5ODliYjA1ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBA IC0zNjY3LDE2ICszNjY3LDE0IEBAIGk5MTVfZ2VtX3JpbmdfdGhyb3R0bGUoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQo+ICAJCXJldHVybiAtRUlPOwo+ICAK PiAgCXNwaW5fbG9jaygmZmlsZV9wcml2LT5tbS5sb2NrKTsKPiAtCWxpc3RfZm9yX2VhY2hfZW50 cnkocmVxdWVzdCwgJmZpbGVfcHJpdi0+bW0ucmVxdWVzdF9saXN0LCBjbGllbnRfbGlzdCkgewo+ ICsJbGlzdF9mb3JfZWFjaF9lbnRyeShyZXF1ZXN0LCAmZmlsZV9wcml2LT5tbS5yZXF1ZXN0X2xp c3QsIGNsaWVudF9saW5rKSB7Cj4gIAkJaWYgKHRpbWVfYWZ0ZXJfZXEocmVxdWVzdC0+ZW1pdHRl ZF9qaWZmaWVzLCByZWNlbnRfZW5vdWdoKSkKPiAgCQkJYnJlYWs7Cj4gIAo+IC0JCS8qCj4gLQkJ ICogTm90ZSB0aGF0IHRoZSByZXF1ZXN0IG1pZ2h0IG5vdCBoYXZlIGJlZW4gc3VibWl0dGVkIHll dC4KPiAtCQkgKiBJbiB3aGljaCBjYXNlIGVtaXR0ZWRfamlmZmllcyB3aWxsIGJlIHplcm8uCj4g LQkJICovCj4gLQkJaWYgKCFyZXF1ZXN0LT5lbWl0dGVkX2ppZmZpZXMpCj4gLQkJCWNvbnRpbnVl Owo+ICsJCWlmICh0YXJnZXQpIHsKPiArCQkJbGlzdF9kZWwoJnRhcmdldC0+Y2xpZW50X2xpbmsp Owo+ICsJCQl0YXJnZXQtPmZpbGVfcHJpdiA9IE5VTEw7Cj4gKwkJfQo+ICAKPiAgCQl0YXJnZXQg PSByZXF1ZXN0Owo+ICAJfQo+IEBAIC00NzM1LDcgKzQ3MzMsNyBAQCB2b2lkIGk5MTVfZ2VtX3Jl bGVhc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQo+ICAJ ICogZmlsZV9wcml2Lgo+ICAJICovCj4gIAlzcGluX2xvY2soJmZpbGVfcHJpdi0+bW0ubG9jayk7 Cj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsICZmaWxlX3ByaXYtPm1tLnJlcXVlc3Rf bGlzdCwgY2xpZW50X2xpc3QpCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsICZmaWxl X3ByaXYtPm1tLnJlcXVlc3RfbGlzdCwgY2xpZW50X2xpbmspCj4gIAkJcmVxdWVzdC0+ZmlsZV9w cml2ID0gTlVMTDsKPiAgCXNwaW5fdW5sb2NrKCZmaWxlX3ByaXYtPm1tLmxvY2spOwo+ICAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gaW5kZXggZThmZmUw YzlhMjBlLi4yYjU3MGQwYjIzOTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXhlY2J1ZmZlci5jCj4gQEAgLTE0MjAsNiArMTQyMCwxNCBAQCBpOTE1X2dlbV9leGVjYnVm ZmVyX3BhcnNlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAgCXJldHVybiB2bWE7 Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkCj4gK2FkZF90b19jbGllbnQoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXEsCj4gKwkgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCj4gK3sK PiArCXJlcS0+ZmlsZV9wcml2ID0gZmlsZS0+ZHJpdmVyX3ByaXY7Cj4gKwlsaXN0X2FkZF90YWls KCZyZXEtPmNsaWVudF9saW5rLCAmcmVxLT5maWxlX3ByaXYtPm1tLnJlcXVlc3RfbGlzdCk7Cj4g K30KPiArCj4gIHN0YXRpYyBpbnQKPiAgZXhlY2J1Zl9zdWJtaXQoc3RydWN0IGk5MTVfZXhlY2J1 ZmZlcl9wYXJhbXMgKnBhcmFtcywKPiAgCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNi dWZmZXIyICphcmdzLAo+IEBAIC0xNTA3LDYgKzE1MTUsNyBAQCBleGVjYnVmX3N1Ym1pdChzdHJ1 Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAo+ICAJCXJldHVybiByZXQ7Cj4gIAo+ ICAJaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2FjdGl2ZSh2bWFzLCBwYXJhbXMtPnJlcXVl c3QpOwo+ICsJYWRkX3RvX2NsaWVudChwYXJhbXMtPnJlcXVlc3QsIHBhcmFtcy0+ZmlsZSk7Cj4g IAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiBAQCAtMTg4NiwxMCArMTg5NSw2IEBAIGk5MTVfZ2VtX2Rv X2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgCSAqLwo+ ICAJcGFyYW1zLT5yZXF1ZXN0LT5iYXRjaCA9IHBhcmFtcy0+YmF0Y2g7Cj4gIAo+IC0JcmV0ID0g aTkxNV9nZW1fcmVxdWVzdF9hZGRfdG9fY2xpZW50KHBhcmFtcy0+cmVxdWVzdCwgZmlsZSk7Cj4g LQlpZiAocmV0KQo+IC0JCWdvdG8gZXJyX3JlcXVlc3Q7Cj4gLQo+ICAJLyoKPiAgCSAqIFNhdmUg YXNzb3J0ZWQgc3R1ZmYgYXdheSB0byBwYXNzIHRocm91Z2ggdG8gKl9zdWJtaXNzaW9uKCkuCj4g IAkgKiBOQjogVGhpcyBkYXRhIHNob3VsZCBiZSAncGVyc2lzdGVudCcgYW5kIG5vdCBsb2NhbCBh cyBpdCB3aWxsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Jl cXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+IGluZGV4 IDNhMTU5Y2FjMjE3Mi4uNWJjYTNlMjViZjYxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3JlcXVlc3QuYwo+IEBAIC04Miw0MiArODIsMjAgQEAgY29uc3Qgc3RydWN0IGRtYV9m ZW5jZV9vcHMgaTkxNV9mZW5jZV9vcHMgPSB7Cj4gIAkucmVsZWFzZSA9IGk5MTVfZmVuY2VfcmVs ZWFzZSwKPiAgfTsKPiAgCj4gLWludCBpOTE1X2dlbV9yZXF1ZXN0X2FkZF90b19jbGllbnQoc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4gLQkJCQkgICBzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGUpCj4gLXsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdmF0ZTsKPiAt CXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdjsKPiAtCj4gLQlXQVJOX09O KCFyZXEgfHwgIWZpbGUgfHwgcmVxLT5maWxlX3ByaXYpOwo+IC0KPiAtCWlmICghcmVxIHx8ICFm aWxlKQo+IC0JCXJldHVybiAtRUlOVkFMOwo+IC0KPiAtCWlmIChyZXEtPmZpbGVfcHJpdikKPiAt CQlyZXR1cm4gLUVJTlZBTDsKPiAtCj4gLQlkZXZfcHJpdmF0ZSA9IHJlcS0+aTkxNTsKPiAtCWZp bGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2Owo+IC0KPiAtCXNwaW5fbG9jaygmZmlsZV9wcml2 LT5tbS5sb2NrKTsKPiAtCXJlcS0+ZmlsZV9wcml2ID0gZmlsZV9wcml2Owo+IC0JbGlzdF9hZGRf dGFpbCgmcmVxLT5jbGllbnRfbGlzdCwgJmZpbGVfcHJpdi0+bW0ucmVxdWVzdF9saXN0KTsKPiAt CXNwaW5fdW5sb2NrKCZmaWxlX3ByaXYtPm1tLmxvY2spOwo+IC0KPiAtCXJldHVybiAwOwo+IC19 Cj4gLQo+ICBzdGF0aWMgaW5saW5lIHZvaWQKPiAgaTkxNV9nZW1fcmVxdWVzdF9yZW1vdmVfZnJv bV9jbGllbnQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICB7Cj4gLQlz dHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYgPSByZXF1ZXN0LT5maWxlX3By aXY7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXY7Cj4gIAo+ICsJ ZmlsZV9wcml2ID0gcmVxdWVzdC0+ZmlsZV9wcml2Owo+ICAJaWYgKCFmaWxlX3ByaXYpCj4gIAkJ cmV0dXJuOwo+ICAKPiAgCXNwaW5fbG9jaygmZmlsZV9wcml2LT5tbS5sb2NrKTsKPiAtCWxpc3Rf ZGVsKCZyZXF1ZXN0LT5jbGllbnRfbGlzdCk7Cj4gLQlyZXF1ZXN0LT5maWxlX3ByaXYgPSBOVUxM Owo+ICsJaWYgKHJlcXVlc3QtPmZpbGVfcHJpdikgewo+ICsJCWxpc3RfZGVsKCZyZXF1ZXN0LT5j bGllbnRfbGluayk7Cj4gKwkJcmVxdWVzdC0+ZmlsZV9wcml2ID0gTlVMTDsKPiArCX0KPiAgCXNw aW5fdW5sb2NrKCZmaWxlX3ByaXYtPm1tLmxvY2spOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKPiBpbmRleCBjYzI0YTZjNzI3NDguLjFlZGMwZmE3Nzk0 YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKPiBAQCAtMTkx LDcgKzE5MSw3IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCB7Cj4gIAo+ICAJc3RydWN0 IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2Owo+ICAJLyoqIGZpbGVfcHJpdiBsaXN0 IGVudHJ5IGZvciB0aGlzIHJlcXVlc3QgKi8KPiAtCXN0cnVjdCBsaXN0X2hlYWQgY2xpZW50X2xp c3Q7Cj4gKwlzdHJ1Y3QgbGlzdF9oZWFkIGNsaWVudF9saW5rOwo+ICB9Owo+ICAKPiAgZXh0ZXJu IGNvbnN0IHN0cnVjdCBkbWFfZmVuY2Vfb3BzIGk5MTVfZmVuY2Vfb3BzOwo+IEBAIC0yMDQsOCAr MjA0LDYgQEAgc3RhdGljIGlubGluZSBib29sIGRtYV9mZW5jZV9pc19pOTE1KGNvbnN0IHN0cnVj dCBkbWFfZmVuY2UgKmZlbmNlKQo+ICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKiBfX211 c3RfY2hlY2sKPiAgaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUsCj4gIAkJICAgICAgIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpOwo+IC1p bnQgaTkxNV9nZW1fcmVxdWVzdF9hZGRfdG9fY2xpZW50KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxLAo+IC0JCQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlKTsKPiAgdm9pZCBpOTE1 X2dlbV9yZXF1ZXN0X3JldGlyZV91cHRvKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx KTsKPiAgCj4gIHN0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoKPiAt LSAKPiAyLjExLjAKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK