From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 3/3] drm/i915: Micro-optimise hotpath through intel_ring_begin() Date: Thu, 04 May 2017 15:11:45 +0300 Message-ID: <87shkkn7ni.fsf@gaia.fi.intel.com> References: <20170503100649.28102-1-chris@chris-wilson.co.uk> <20170503100649.28102-3-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id BF9A06E08C for ; Thu, 4 May 2017 12:11:54 +0000 (UTC) In-Reply-To: <20170503100649.28102-3-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+IHdyaXRlczoKCj4gVHlwaWNh bGx5LCB0aGVyZSBpcyBzcGFjZSBhdmFpbGFibGUgd2l0aGluIHRoZSByaW5nIGFuZCBpZiBub3Qg d2UgaGF2ZQo+IHRvIHdhaXQgKGJ5IGRlZmluaXRpb24gYSBzbG93IHBhdGgpLiBSZWFycmFuZ2Ug dGhlIGNvZGUgdG8gcmVkdWNlIHRoZQo+IG51bWJlciBvZiBicmFuY2hlcyBhbmQgc3RhY2sgc2l6 ZSBmb3IgdGhlIGhvdHBhdGgsIGFjY29tb2RhdGluZyBhIHNsaWdodAo+IGdyb3d0aCBmb3IgdGhl IHdhaXQuCj4KPiB2MjogRml4IHRoZSBuZXcgYXNzZXJ0IHRoYXQgcGFja2V0cyBhcmUgbm90IGxh cmdlciB0aGFuIHRoZSBhY3R1YWwgcmluZy4KPgo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmMgfCA2MyArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0KPiAgMSBmaWxlIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQo+ Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+IGluZGV4IGM0NmU1NDM5 ZDM3OS4uNTMxMjNjMWNmY2M1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jpbmdi dWZmZXIuYwo+IEBAIC0xNjU0LDcgKzE2NTQsNyBAQCBzdGF0aWMgaW50IHJpbmdfcmVxdWVzdF9h bGxvYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCj4gIAlyZXR1cm4gMDsK PiAgfQo+ICAKPiAtc3RhdGljIGludCB3YWl0X2Zvcl9zcGFjZShzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwgaW50IGJ5dGVzKQo+ICtzdGF0aWMgbm9pbmxpbmUgaW50IHdhaXRfZm9y X3NwYWNlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLCBpbnQgYnl0ZXMpCj4gIHsK PiAgCXN0cnVjdCBpbnRlbF9yaW5nICpyaW5nID0gcmVxLT5yaW5nOwo+ICAJc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICp0YXJnZXQ7Cj4gQEAgLTE3MDIsNDkgKzE3MDIsNTIgQEAgc3RhdGlj IGludCB3YWl0X2Zvcl9zcGFjZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwgaW50 IGJ5dGVzKQo+ICB1MzIgKmludGVsX3JpbmdfYmVnaW4oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXEsIGludCBudW1fZHdvcmRzKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfcmluZyAqcmlu ZyA9IHJlcS0+cmluZzsKPiAtCWludCByZW1haW5fYWN0dWFsID0gcmluZy0+c2l6ZSAtIHJpbmct PmVtaXQ7Cj4gLQlpbnQgcmVtYWluX3VzYWJsZSA9IHJpbmctPmVmZmVjdGl2ZV9zaXplIC0gcmlu Zy0+ZW1pdDsKPiAtCWludCBieXRlcyA9IG51bV9kd29yZHMgKiBzaXplb2YodTMyKTsKPiAtCWlu dCB0b3RhbF9ieXRlcywgd2FpdF9ieXRlczsKPiAtCWJvb2wgbmVlZF93cmFwID0gZmFsc2U7Cj4g Kwljb25zdCB1bnNpZ25lZCBpbnQgcmVtYWluX3VzYWJsZSA9IHJpbmctPmVmZmVjdGl2ZV9zaXpl IC0gcmluZy0+ZW1pdDsKPiArCWNvbnN0IHVuc2lnbmVkIGludCBieXRlcyA9IG51bV9kd29yZHMg KiBzaXplb2YodTMyKTsKPiArCXVuc2lnbmVkIGludCBuZWVkX3dyYXAgPSAwOwo+ICsJdW5zaWdu ZWQgaW50IHRvdGFsX2J5dGVzOwo+ICAJdTMyICpjczsKPiAgCj4gIAl0b3RhbF9ieXRlcyA9IGJ5 dGVzICsgcmVxLT5yZXNlcnZlZF9zcGFjZTsKPiArCUdFTV9CVUdfT04odG90YWxfYnl0ZXMgPiBy aW5nLT5lZmZlY3RpdmVfc2l6ZSk7Cj4gIAo+IC0JaWYgKHVubGlrZWx5KGJ5dGVzID4gcmVtYWlu X3VzYWJsZSkpIHsKPiAtCQkvKgo+IC0JCSAqIE5vdCBlbm91Z2ggc3BhY2UgZm9yIHRoZSBiYXNp YyByZXF1ZXN0LiBTbyBuZWVkIHRvIGZsdXNoCj4gLQkJICogb3V0IHRoZSByZW1haW5kZXIgYW5k IHRoZW4gd2FpdCBmb3IgYmFzZSArIHJlc2VydmVkLgo+IC0JCSAqLwo+IC0JCXdhaXRfYnl0ZXMg PSByZW1haW5fYWN0dWFsICsgdG90YWxfYnl0ZXM7Cj4gLQkJbmVlZF93cmFwID0gdHJ1ZTsKPiAt CX0gZWxzZSBpZiAodW5saWtlbHkodG90YWxfYnl0ZXMgPiByZW1haW5fdXNhYmxlKSkgewo+IC0J CS8qCj4gLQkJICogVGhlIGJhc2UgcmVxdWVzdCB3aWxsIGZpdCBidXQgdGhlIHJlc2VydmVkIHNw YWNlCj4gLQkJICogZmFsbHMgb2ZmIHRoZSBlbmQuIFNvIHdlIGRvbid0IG5lZWQgYW4gaW1tZWRp YXRlIHdyYXAKPiAtCQkgKiBhbmQgb25seSBuZWVkIHRvIGVmZmVjdGl2ZWx5IHdhaXQgZm9yIHRo ZSByZXNlcnZlZAo+IC0JCSAqIHNpemUgc3BhY2UgZnJvbSB0aGUgc3RhcnQgb2YgcmluZ2J1ZmZl ci4KPiAtCQkgKi8KPiAtCQl3YWl0X2J5dGVzID0gcmVtYWluX2FjdHVhbCArIHJlcS0+cmVzZXJ2 ZWRfc3BhY2U7Cj4gLQl9IGVsc2Ugewo+IC0JCS8qIE5vIHdyYXBwaW5nIHJlcXVpcmVkLCBqdXN0 IHdhaXRpbmcuICovCj4gLQkJd2FpdF9ieXRlcyA9IHRvdGFsX2J5dGVzOwo+ICsJaWYgKHVubGlr ZWx5KHRvdGFsX2J5dGVzID4gcmVtYWluX3VzYWJsZSkpIHsKPiArCQljb25zdCBpbnQgcmVtYWlu X2FjdHVhbCA9IHJpbmctPnNpemUgLSByaW5nLT5lbWl0Owo+ICsKPiArCQlpZiAoYnl0ZXMgPiBy ZW1haW5fdXNhYmxlKSB7Cj4gKwkJCS8qCj4gKwkJCSAqIE5vdCBlbm91Z2ggc3BhY2UgZm9yIHRo ZSBiYXNpYyByZXF1ZXN0LiBTbyBuZWVkIHRvCj4gKwkJCSAqIGZsdXNoIG91dCB0aGUgcmVtYWlu ZGVyIGFuZCB0aGVuIHdhaXQgZm9yCj4gKwkJCSAqIGJhc2UgKyByZXNlcnZlZC4KPiArCQkJICov Cj4gKwkJCXRvdGFsX2J5dGVzICs9IHJlbWFpbl9hY3R1YWw7Cj4gKwkJCW5lZWRfd3JhcCA9IHJl bWFpbl9hY3R1YWwgfCAxOwoKWW91ciByZW1haW5fYWN0dWFsIHNob3VsZCBuZXZlciByZWFjaCB6 ZXJvLiBTbyBpbiBoZXJlCmZvcmNpbmcgdGhlIGxvd2VzdCBiaXQgb24sIGFuZCBsYXRlciBvZmYs IHNlZW1zIHN1cGVyZmx1b3VzLgoKLU1pa2EKCj4gKwkJfSBlbHNlICB7Cj4gKwkJCS8qCj4gKwkJ CSAqIFRoZSBiYXNlIHJlcXVlc3Qgd2lsbCBmaXQgYnV0IHRoZSByZXNlcnZlZCBzcGFjZQo+ICsJ CQkgKiBmYWxscyBvZmYgdGhlIGVuZC4gU28gd2UgZG9uJ3QgbmVlZCBhbiBpbW1lZGlhdGUKPiAr CQkJICogd3JhcCBhbmQgb25seSBuZWVkIHRvIGVmZmVjdGl2ZWx5IHdhaXQgZm9yIHRoZQo+ICsJ CQkgKiByZXNlcnZlZCBzaXplIGZyb20gdGhlIHN0YXJ0IG9mIHJpbmdidWZmZXIuCj4gKwkJCSAq Lwo+ICsJCQl0b3RhbF9ieXRlcyA9IHJlcS0+cmVzZXJ2ZWRfc3BhY2UgKyByZW1haW5fYWN0dWFs Owo+ICsJCX0KPiAgCX0KPiAgCj4gLQlpZiAod2FpdF9ieXRlcyA+IHJpbmctPnNwYWNlKSB7Cj4g LQkJaW50IHJldCA9IHdhaXRfZm9yX3NwYWNlKHJlcSwgd2FpdF9ieXRlcyk7Cj4gKwlpZiAodW5s aWtlbHkodG90YWxfYnl0ZXMgPiByaW5nLT5zcGFjZSkpIHsKPiArCQlpbnQgcmV0ID0gd2FpdF9m b3Jfc3BhY2UocmVxLCB0b3RhbF9ieXRlcyk7Cj4gIAkJaWYgKHVubGlrZWx5KHJldCkpCj4gIAkJ CXJldHVybiBFUlJfUFRSKHJldCk7Cj4gIAl9Cj4gIAo+ICAJaWYgKHVubGlrZWx5KG5lZWRfd3Jh cCkpIHsKPiAtCQlHRU1fQlVHX09OKHJlbWFpbl9hY3R1YWwgPiByaW5nLT5zcGFjZSk7Cj4gLQkJ R0VNX0JVR19PTihyaW5nLT5lbWl0ICsgcmVtYWluX2FjdHVhbCA+IHJpbmctPnNpemUpOwo+ICsJ CW5lZWRfd3JhcCAmPSB+MTsKPiArCQlHRU1fQlVHX09OKG5lZWRfd3JhcCA+IHJpbmctPnNwYWNl KTsKPiArCQlHRU1fQlVHX09OKHJpbmctPmVtaXQgKyBuZWVkX3dyYXAgPiByaW5nLT5zaXplKTsK PiAgCj4gIAkJLyogRmlsbCB0aGUgdGFpbCB3aXRoIE1JX05PT1AgKi8KPiAtCQltZW1zZXQocmlu Zy0+dmFkZHIgKyByaW5nLT5lbWl0LCAwLCByZW1haW5fYWN0dWFsKTsKPiArCQltZW1zZXQocmlu Zy0+dmFkZHIgKyByaW5nLT5lbWl0LCAwLCBuZWVkX3dyYXApOwo+ICAJCXJpbmctPmVtaXQgPSAw Owo+IC0JCXJpbmctPnNwYWNlIC09IHJlbWFpbl9hY3R1YWw7Cj4gKwkJcmluZy0+c3BhY2UgLT0g bmVlZF93cmFwOwo+ICAJfQo+ICAKPiAgCUdFTV9CVUdfT04ocmluZy0+ZW1pdCA+IHJpbmctPnNp emUgLSBieXRlcyk7Cj4gLS0gCj4gMi4xMS4wCj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==