From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D412BC48BE8 for ; Fri, 18 Jun 2021 13:44:27 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A4D6761248 for ; Fri, 18 Jun 2021 13:44:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A4D6761248 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 529836EA15; Fri, 18 Jun 2021 13:44:26 +0000 (UTC) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id B8F7C6EA09; Fri, 18 Jun 2021 13:44:24 +0000 (UTC) IronPort-SDR: yxEEwlM1itU5BakruY1nRumZmT/PPds/a2yLkb/dZt/qRHGqWhJfxe9MOpj0rzMpd8amjEFhFC EyWFgBpUru4A== X-IronPort-AV: E=McAfee;i="6200,9189,10018"; a="267698951" X-IronPort-AV: E=Sophos;i="5.83,283,1616482800"; d="scan'208";a="267698951" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2021 06:44:23 -0700 IronPort-SDR: WPjJrZev67LxkfwPgucuda8GEBs/hZSnZPmabUZ2Z6M21oXtSVjlQ/vWQdydxq2tyAFqc3z60b yqLCIioCeFnA== X-IronPort-AV: E=Sophos;i="5.83,283,1616482800"; d="scan'208";a="638160330" Received: from jhogberg-mobl1.ger.corp.intel.com (HELO [10.249.254.60]) ([10.249.254.60]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2021 06:44:22 -0700 To: Matthew Auld , intel-gfx@lists.freedesktop.org References: <20210618133150.700375-1-matthew.auld@intel.com> <20210618133150.700375-2-matthew.auld@intel.com> From: =?UTF-8?Q?Thomas_Hellstr=c3=b6m?= Message-ID: Date: Fri, 18 Jun 2021 15:44:20 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <20210618133150.700375-2-matthew.auld@intel.com> Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH 2/2] drm/i915: add back the avail tracking X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel@lists.freedesktop.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Ck9uIDYvMTgvMjEgMzozMSBQTSwgTWF0dGhldyBBdWxkIHdyb3RlOgo+IExvb2tzIGxpa2UgaXQg Z290IGxvc3QgYWxvbmcgdGhlIHdheSwgc28gYWRkIGl0IGJhY2suIFRoaXMgaXMgbmVlZGVkIGZv cgo+IHRoZSByZWdpb24gcXVlcnkgdUFQSSB3aGVyZSB3ZSBuZWVkIHRvIHJlcG9ydCBhbiBhY2N1 cmF0ZSBhdmFpbGFibGUgc2l6ZQo+IGZvciBsbWVtLgoKSG1tLiBIb3cgaXMgdGhpcyB1QVBJIGlu dGVuZGVkIHRvIHdvcmsgaW4gYSBtdWx0aS1jbGllbnQgZW52aXJvbm1lbnQgCndoZXJlIHRoZSBy ZXR1cm5lZCB2YWx1ZSBjYW4gYmUgbm90aGluZyBidXQgYSBzbmFwc2hvdCBvZiB0aGUgY3VycmVu dCAKc3RhdGUsIHRoYXQgY2FuJ3QgYmUgcmVsaWVkIHVwb24/Cgo+IFRoaXMgdGltZSBhcm91bmQg bGV0J3MgcHVzaCBpdCBkaXJlY3RseSBpbnRvIHRoZSBhbGxvY2F0b3IsIHdoaWNoCj4gc2ltcGxp ZmllcyB0aGluZ3MsIGxpa2Ugbm90IGhhdmluZyB0byBjYXJlIGFib3V0IGludGVybmFsIGZyYWdt ZW50YXRpb24sCj4gb3IgaGF2aW5nIHRvIHJlbWVtYmVyIHRvIHRyYWNrIHRoaW5ncyBmb3IgYWxs IHBvc3NpYmxlIGludGVyZmFjZXMgdGhhdAo+IG1pZ2h0IHdhbnQgdG8gYWxsb2NhdGUgb3IgcmVz ZXJ2ZSBwYWdlcy4KPgo+IFNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxk QGludGVsLmNvbT4KPiBDYzogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxsc3Ryb21AbGlu dXguaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9idWRkeS5j ICAgICAgICAgICAgIHwgIDYgKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2J1 ZGR5LmggICAgICAgICAgICAgfCAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYyAgICAgICAgICAgfCAgNSArKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9xdWVyeS5jICAgICAgICAgICAgIHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfdHRtX2J1ZGR5X21hbmFnZXIuYyB8IDEzICsrKysrKysrKysrKysKPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdHRtX2J1ZGR5X21hbmFnZXIuaCB8ICAyICsrCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMgICAgfCAgOCArKysrKysrKwo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5oICAgIHwgIDQgKysrKwo+ICAg OCBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfYnVkZHkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfYnVkZHkuYwo+IGluZGV4IDI5ZGQ3ZDAzMTBjMS4uMjdjZDI0ODdhMThm IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfYnVkZHkuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfYnVkZHkuYwo+IEBAIC04MCw2ICs4MCw3IEBAIGlu dCBpOTE1X2J1ZGR5X2luaXQoc3RydWN0IGk5MTVfYnVkZHlfbW0gKm1tLCB1NjQgc2l6ZSwgdTY0 IGNodW5rX3NpemUpCj4gICAJc2l6ZSA9IHJvdW5kX2Rvd24oc2l6ZSwgY2h1bmtfc2l6ZSk7Cj4g ICAKPiAgIAltbS0+c2l6ZSA9IHNpemU7Cj4gKwltbS0+YXZhaWwgPSBzaXplOwo+ICAgCW1tLT5j aHVua19zaXplID0gY2h1bmtfc2l6ZTsKPiAgIAltbS0+bWF4X29yZGVyID0gaWxvZzIoc2l6ZSkg LSBpbG9nMihjaHVua19zaXplKTsKPiAgIAo+IEBAIC0xNTksNiArMTYwLDggQEAgdm9pZCBpOTE1 X2J1ZGR5X2Zpbmkoc3RydWN0IGk5MTVfYnVkZHlfbW0gKm1tKQo+ICAgCQlpOTE1X2Jsb2NrX2Zy ZWUobW0sIG1tLT5yb290c1tpXSk7Cj4gICAJfQo+ICAgCj4gKwlHRU1fV0FSTl9PTihtbS0+YXZh aWwgIT0gbW0tPnNpemUpOwo+ICsKPiAgIAlrZnJlZShtbS0+cm9vdHMpOwo+ICAgCWtmcmVlKG1t LT5mcmVlX2xpc3QpOwo+ICAgCWttZW1fY2FjaGVfZGVzdHJveShtbS0+c2xhYl9ibG9ja3MpOwo+ IEBAIC0yMzUsNiArMjM4LDcgQEAgdm9pZCBpOTE1X2J1ZGR5X2ZyZWUoc3RydWN0IGk5MTVfYnVk ZHlfbW0gKm1tLAo+ICAgCQkgICAgIHN0cnVjdCBpOTE1X2J1ZGR5X2Jsb2NrICpibG9jaykKPiAg IHsKPiAgIAlHRU1fQlVHX09OKCFpOTE1X2J1ZGR5X2Jsb2NrX2lzX2FsbG9jYXRlZChibG9jaykp Owo+ICsJbW0tPmF2YWlsICs9IGk5MTVfYnVkZHlfYmxvY2tfc2l6ZShtbSwgYmxvY2spOwo+ICAg CV9faTkxNV9idWRkeV9mcmVlKG1tLCBibG9jayk7Cj4gICB9Cj4gICAKPiBAQCAtMjg4LDYgKzI5 Miw3IEBAIGk5MTVfYnVkZHlfYWxsb2Moc3RydWN0IGk5MTVfYnVkZHlfbW0gKm1tLCB1bnNpZ25l ZCBpbnQgb3JkZXIpCj4gICAJfQo+ICAgCj4gICAJbWFya19hbGxvY2F0ZWQoYmxvY2spOwo+ICsJ bW0tPmF2YWlsIC09IGk5MTVfYnVkZHlfYmxvY2tfc2l6ZShtbSwgYmxvY2spOwo+ICAgCWttZW1s ZWFrX3VwZGF0ZV90cmFjZShibG9jayk7Cj4gICAJcmV0dXJuIGJsb2NrOwo+ICAgCj4gQEAgLTM3 Myw2ICszNzgsNyBAQCBpbnQgaTkxNV9idWRkeV9hbGxvY19yYW5nZShzdHJ1Y3QgaTkxNV9idWRk eV9tbSAqbW0sCj4gICAJCQl9Cj4gICAKPiAgIAkJCW1hcmtfYWxsb2NhdGVkKGJsb2NrKTsKPiAr CQkJbW0tPmF2YWlsIC09IGk5MTVfYnVkZHlfYmxvY2tfc2l6ZShtbSwgYmxvY2spOwo+ICAgCQkJ bGlzdF9hZGRfdGFpbCgmYmxvY2stPmxpbmssICZhbGxvY2F0ZWQpOwo+ICAgCQkJY29udGludWU7 Cj4gICAJCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9idWRkeS5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9idWRkeS5oCj4gaW5kZXggMzdmOGM0MjA3MWQx Li5mZWI3YzFiYjYyNDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9i dWRkeS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9idWRkeS5oCj4gQEAgLTcw LDYgKzcwLDcgQEAgc3RydWN0IGk5MTVfYnVkZHlfbW0gewo+ICAgCS8qIE11c3QgYmUgYXQgbGVh c3QgUEFHRV9TSVpFICovCj4gICAJdTY0IGNodW5rX3NpemU7Cj4gICAJdTY0IHNpemU7Cj4gKwl1 NjQgYXZhaWw7Cj4gICB9Owo+ICAgCj4gICBzdGF0aWMgaW5saW5lIHU2NAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggY2M3NDU3NTFhYzUzLi40NzY1ZjIyMDQ2OWUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0yNDYsOCArMjQ2LDkgQEAg c3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQg KmRhdGEpCj4gICAJCSAgIGF0b21pY19yZWFkKCZpOTE1LT5tbS5mcmVlX2NvdW50KSwKPiAgIAkJ ICAgaTkxNS0+bW0uc2hyaW5rX21lbW9yeSk7Cj4gICAJZm9yX2VhY2hfbWVtb3J5X3JlZ2lvbiht ciwgaTkxNSwgaWQpCj4gLQkJc2VxX3ByaW50ZihtLCAiJXM6IHRvdGFsOiVwYSwgYXZhaWxhYmxl OiVwYSBieXRlc1xuIiwKPiAtCQkJICAgbXItPm5hbWUsICZtci0+dG90YWwsICZtci0+YXZhaWwp Owo+ICsJCXNlcV9wcmludGYobSwgIiVzOiB0b3RhbDolcGEsIGF2YWlsYWJsZTolbGx1IGJ5dGVz XG4iLAo+ICsJCQkgICBtci0+bmFtZSwgJm1yLT50b3RhbCwKPiArCQkJICAgaW50ZWxfbWVtb3J5 X3JlZ2lvbl9nZXRfYXZhaWwobXIpKTsKPiAgIAo+ICAgCXJldHVybiAwOwo+ICAgfQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3F1ZXJ5LmMKPiBpbmRleCBlNDlkYTM2YzYyZmIuLmYxMGRjZWE5NGFjOSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMKPiBAQCAtNDY1LDcgKzQ2NSw3IEBAIHN0 YXRpYyBpbnQgcXVlcnlfbWVtcmVnaW9uX2luZm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUsCj4gICAJCWluZm8ucmVnaW9uLm1lbW9yeV9jbGFzcyA9IG1yLT50eXBlOwo+ICAgCQlpbmZv LnJlZ2lvbi5tZW1vcnlfaW5zdGFuY2UgPSBtci0+aW5zdGFuY2U7Cj4gICAJCWluZm8ucHJvYmVk X3NpemUgPSBtci0+dG90YWw7Cj4gLQkJaW5mby51bmFsbG9jYXRlZF9zaXplID0gbXItPmF2YWls Owo+ICsJCWluZm8udW5hbGxvY2F0ZWRfc2l6ZSA9IGludGVsX21lbW9yeV9yZWdpb25fZ2V0X2F2 YWlsKG1yKTsKPiAgIAo+ICAgCQlpZiAoX19jb3B5X3RvX3VzZXIoaW5mb19wdHIsICZpbmZvLCBz aXplb2YoaW5mbykpKQo+ICAgCQkJcmV0dXJuIC1FRkFVTFQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfdHRtX2J1ZGR5X21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfdHRtX2J1ZGR5X21hbmFnZXIuYwo+IGluZGV4IGZjN2FkNWMwMzViOC4uNTYy ZDExZWRjNWU0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHRtX2J1 ZGR5X21hbmFnZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHRtX2J1ZGR5 X21hbmFnZXIuYwo+IEBAIC0yNDYsMyArMjQ2LDE2IEBAIGludCBpOTE1X3R0bV9idWRkeV9tYW5f cmVzZXJ2ZShzdHJ1Y3QgdHRtX3Jlc291cmNlX21hbmFnZXIgKm1hbiwKPiAgIAlyZXR1cm4gcmV0 Owo+ICAgfQo+ICAgCj4gKy8qKgo+ICsgKiBpOTE1X3R0bV9idWRkeV9tYW5fYXZhaWwgLSBHZXQg dGhlIGN1cnJlbnRseSBhdmFpbGFibGUgc2l6ZQo+ICsgKiBAbWFuOiBUaGUgYnVkZHkgYWxsb2Nh dG9yIHR0bSBtYW5hZ2VyCj4gKyAqCj4gKyAqIFJldHVybjogVGhlIGF2YWlsYWJsZSBzaXplIGlu IGJ5dGVzCj4gKyAqLwo+ICt1NjQgaTkxNV90dG1fYnVkZHlfbWFuX2dldF9hdmFpbChzdHJ1Y3Qg dHRtX3Jlc291cmNlX21hbmFnZXIgKm1hbikKPiArewo+ICsJc3RydWN0IGk5MTVfdHRtX2J1ZGR5 X21hbmFnZXIgKmJtYW4gPSB0b19idWRkeV9tYW5hZ2VyKG1hbik7Cj4gKwlzdHJ1Y3QgaTkxNV9i dWRkeV9tbSAqbW0gPSAmYm1hbi0+bW07Cj4gKwo+ICsJcmV0dXJuIG1tLT5hdmFpbDsKPiArfQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3R0bV9idWRkeV9tYW5hZ2Vy LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3R0bV9idWRkeV9tYW5hZ2VyLmgKPiBpbmRl eCAyNjAyNjIxM2UyMGEuLjM5ZjViMWE0YzNlNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3R0bV9idWRkeV9tYW5hZ2VyLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3R0bV9idWRkeV9tYW5hZ2VyLmgKPiBAQCAtNTMsNCArNTMsNiBAQCBpbnQgaTkx NV90dG1fYnVkZHlfbWFuX2Zpbmkoc3RydWN0IHR0bV9kZXZpY2UgKmJkZXYsCj4gICBpbnQgaTkx NV90dG1fYnVkZHlfbWFuX3Jlc2VydmUoc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICptYW4s Cj4gICAJCQkgICAgICAgdTY0IHN0YXJ0LCB1NjQgc2l6ZSk7Cj4gICAKPiArdTY0IGk5MTVfdHRt X2J1ZGR5X21hbl9nZXRfYXZhaWwoc3RydWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICptYW4pOwo+ ICsKPiAgICNlbmRpZgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9t ZW1vcnlfcmVnaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9u LmMKPiBpbmRleCBkZjU5Zjg4NGQzN2MuLjI2OWNiYjYwZTIzMyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKPiBAQCAtMTMyLDYgKzEzMiwxNCBAQCB2 b2lkIGludGVsX21lbW9yeV9yZWdpb25fc2V0X25hbWUoc3RydWN0IGludGVsX21lbW9yeV9yZWdp b24gKm1lbSwKPiAgIAl2YV9lbmQoYXApOwo+ICAgfQo+ICAgCj4gK3U2NCBpbnRlbF9tZW1vcnlf cmVnaW9uX2dldF9hdmFpbChzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbXIpCj4gK3sKPiAr CWlmIChtci0+dHlwZSA9PSBJTlRFTF9NRU1PUllfTE9DQUwpCj4gKwkJcmV0dXJuIGk5MTVfdHRt X2J1ZGR5X21hbl9nZXRfYXZhaWwobXItPnJlZ2lvbl9wcml2YXRlKTsKPiArCj4gKwlyZXR1cm4g bXItPmF2YWlsOwo+ICt9CgpQZXJoYXBzIGEga2VybmVsZG9jIGNvbW1lbnQgaGVyZSBhcyB3ZWxs PwoKCj4gKwo+ICAgc3RhdGljIHZvaWQgX19pbnRlbF9tZW1vcnlfcmVnaW9uX2Rlc3Ryb3koc3Ry dWN0IGtyZWYgKmtyZWYpCj4gICB7Cj4gICAJc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1l bSA9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdp b24uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaAo+IGluZGV4 IDJiZTg0MzNkMzczYS4uNmY3YTA3M2Q1YTcwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX21lbW9yeV9yZWdpb24uaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX21lbW9yeV9yZWdpb24uaAo+IEBAIC03NCw2ICs3NCw3IEBAIHN0cnVjdCBpbnRlbF9t ZW1vcnlfcmVnaW9uIHsKPiAgIAlyZXNvdXJjZV9zaXplX3QgaW9fc3RhcnQ7Cj4gICAJcmVzb3Vy Y2Vfc2l6ZV90IG1pbl9wYWdlX3NpemU7Cj4gICAJcmVzb3VyY2Vfc2l6ZV90IHRvdGFsOwo+ICsJ LyogRG8gbm90IGFjY2VzcyBkaXJlY3RseS4gVXNlIHRoZSBhY2Nlc3NvciBpbnN0ZWFkLiAqLwo+ ICAgCXJlc291cmNlX3NpemVfdCBhdmFpbDsKPiAgIAo+ICAgCXUxNiB0eXBlOwo+IEBAIC0xMjUs NCArMTI2LDcgQEAgaW50ZWxfbWVtb3J5X3JlZ2lvbl9zZXRfbmFtZShzdHJ1Y3QgaW50ZWxfbWVt b3J5X3JlZ2lvbiAqbWVtLAo+ICAgaW50IGludGVsX21lbW9yeV9yZWdpb25fcmVzZXJ2ZShzdHJ1 Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtLAo+ICAgCQkJCXJlc291cmNlX3NpemVfdCBvZmZz ZXQsCj4gICAJCQkJcmVzb3VyY2Vfc2l6ZV90IHNpemUpOwo+ICsKPiArdTY0IGludGVsX21lbW9y eV9yZWdpb25fZ2V0X2F2YWlsKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0pOwo+ICsK PiAgICNlbmRpZgoKT3RoZXJ3aXNlIGNvZGUgaXRzZWxmIGxvb2tzIGdvb2QgdG8gbWUuCgpSZXZp ZXdlZC1ieTogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxsc3Ryb21AbGludXguaW50ZWwu Y29tPgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CA5FC48BDF for ; Fri, 18 Jun 2021 13:44:26 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5FAEA61222 for ; Fri, 18 Jun 2021 13:44:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5FAEA61222 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E4CCB6EA09; Fri, 18 Jun 2021 13:44:25 +0000 (UTC) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id B8F7C6EA09; Fri, 18 Jun 2021 13:44:24 +0000 (UTC) IronPort-SDR: yxEEwlM1itU5BakruY1nRumZmT/PPds/a2yLkb/dZt/qRHGqWhJfxe9MOpj0rzMpd8amjEFhFC EyWFgBpUru4A== X-IronPort-AV: E=McAfee;i="6200,9189,10018"; a="267698951" X-IronPort-AV: E=Sophos;i="5.83,283,1616482800"; d="scan'208";a="267698951" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2021 06:44:23 -0700 IronPort-SDR: WPjJrZev67LxkfwPgucuda8GEBs/hZSnZPmabUZ2Z6M21oXtSVjlQ/vWQdydxq2tyAFqc3z60b yqLCIioCeFnA== X-IronPort-AV: E=Sophos;i="5.83,283,1616482800"; d="scan'208";a="638160330" Received: from jhogberg-mobl1.ger.corp.intel.com (HELO [10.249.254.60]) ([10.249.254.60]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2021 06:44:22 -0700 Subject: Re: [PATCH 2/2] drm/i915: add back the avail tracking To: Matthew Auld , intel-gfx@lists.freedesktop.org References: <20210618133150.700375-1-matthew.auld@intel.com> <20210618133150.700375-2-matthew.auld@intel.com> From: =?UTF-8?Q?Thomas_Hellstr=c3=b6m?= Message-ID: Date: Fri, 18 Jun 2021 15:44:20 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <20210618133150.700375-2-matthew.auld@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On 6/18/21 3:31 PM, Matthew Auld wrote: > Looks like it got lost along the way, so add it back. This is needed for > the region query uAPI where we need to report an accurate available size > for lmem. Hmm. How is this uAPI intended to work in a multi-client environment where the returned value can be nothing but a snapshot of the current state, that can't be relied upon? > This time around let's push it directly into the allocator, which > simplifies things, like not having to care about internal fragmentation, > or having to remember to track things for all possible interfaces that > might want to allocate or reserve pages. > > Signed-off-by: Matthew Auld > Cc: Thomas Hellström > --- > drivers/gpu/drm/i915/i915_buddy.c | 6 ++++++ > drivers/gpu/drm/i915/i915_buddy.h | 1 + > drivers/gpu/drm/i915/i915_debugfs.c | 5 +++-- > drivers/gpu/drm/i915/i915_query.c | 2 +- > drivers/gpu/drm/i915/i915_ttm_buddy_manager.c | 13 +++++++++++++ > drivers/gpu/drm/i915/i915_ttm_buddy_manager.h | 2 ++ > drivers/gpu/drm/i915/intel_memory_region.c | 8 ++++++++ > drivers/gpu/drm/i915/intel_memory_region.h | 4 ++++ > 8 files changed, 38 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_buddy.c b/drivers/gpu/drm/i915/i915_buddy.c > index 29dd7d0310c1..27cd2487a18f 100644 > --- a/drivers/gpu/drm/i915/i915_buddy.c > +++ b/drivers/gpu/drm/i915/i915_buddy.c > @@ -80,6 +80,7 @@ int i915_buddy_init(struct i915_buddy_mm *mm, u64 size, u64 chunk_size) > size = round_down(size, chunk_size); > > mm->size = size; > + mm->avail = size; > mm->chunk_size = chunk_size; > mm->max_order = ilog2(size) - ilog2(chunk_size); > > @@ -159,6 +160,8 @@ void i915_buddy_fini(struct i915_buddy_mm *mm) > i915_block_free(mm, mm->roots[i]); > } > > + GEM_WARN_ON(mm->avail != mm->size); > + > kfree(mm->roots); > kfree(mm->free_list); > kmem_cache_destroy(mm->slab_blocks); > @@ -235,6 +238,7 @@ void i915_buddy_free(struct i915_buddy_mm *mm, > struct i915_buddy_block *block) > { > GEM_BUG_ON(!i915_buddy_block_is_allocated(block)); > + mm->avail += i915_buddy_block_size(mm, block); > __i915_buddy_free(mm, block); > } > > @@ -288,6 +292,7 @@ i915_buddy_alloc(struct i915_buddy_mm *mm, unsigned int order) > } > > mark_allocated(block); > + mm->avail -= i915_buddy_block_size(mm, block); > kmemleak_update_trace(block); > return block; > > @@ -373,6 +378,7 @@ int i915_buddy_alloc_range(struct i915_buddy_mm *mm, > } > > mark_allocated(block); > + mm->avail -= i915_buddy_block_size(mm, block); > list_add_tail(&block->link, &allocated); > continue; > } > diff --git a/drivers/gpu/drm/i915/i915_buddy.h b/drivers/gpu/drm/i915/i915_buddy.h > index 37f8c42071d1..feb7c1bb6244 100644 > --- a/drivers/gpu/drm/i915/i915_buddy.h > +++ b/drivers/gpu/drm/i915/i915_buddy.h > @@ -70,6 +70,7 @@ struct i915_buddy_mm { > /* Must be at least PAGE_SIZE */ > u64 chunk_size; > u64 size; > + u64 avail; > }; > > static inline u64 > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c > index cc745751ac53..4765f220469e 100644 > --- a/drivers/gpu/drm/i915/i915_debugfs.c > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > @@ -246,8 +246,9 @@ static int i915_gem_object_info(struct seq_file *m, void *data) > atomic_read(&i915->mm.free_count), > i915->mm.shrink_memory); > for_each_memory_region(mr, i915, id) > - seq_printf(m, "%s: total:%pa, available:%pa bytes\n", > - mr->name, &mr->total, &mr->avail); > + seq_printf(m, "%s: total:%pa, available:%llu bytes\n", > + mr->name, &mr->total, > + intel_memory_region_get_avail(mr)); > > return 0; > } > diff --git a/drivers/gpu/drm/i915/i915_query.c b/drivers/gpu/drm/i915/i915_query.c > index e49da36c62fb..f10dcea94ac9 100644 > --- a/drivers/gpu/drm/i915/i915_query.c > +++ b/drivers/gpu/drm/i915/i915_query.c > @@ -465,7 +465,7 @@ static int query_memregion_info(struct drm_i915_private *i915, > info.region.memory_class = mr->type; > info.region.memory_instance = mr->instance; > info.probed_size = mr->total; > - info.unallocated_size = mr->avail; > + info.unallocated_size = intel_memory_region_get_avail(mr); > > if (__copy_to_user(info_ptr, &info, sizeof(info))) > return -EFAULT; > diff --git a/drivers/gpu/drm/i915/i915_ttm_buddy_manager.c b/drivers/gpu/drm/i915/i915_ttm_buddy_manager.c > index fc7ad5c035b8..562d11edc5e4 100644 > --- a/drivers/gpu/drm/i915/i915_ttm_buddy_manager.c > +++ b/drivers/gpu/drm/i915/i915_ttm_buddy_manager.c > @@ -246,3 +246,16 @@ int i915_ttm_buddy_man_reserve(struct ttm_resource_manager *man, > return ret; > } > > +/** > + * i915_ttm_buddy_man_avail - Get the currently available size > + * @man: The buddy allocator ttm manager > + * > + * Return: The available size in bytes > + */ > +u64 i915_ttm_buddy_man_get_avail(struct ttm_resource_manager *man) > +{ > + struct i915_ttm_buddy_manager *bman = to_buddy_manager(man); > + struct i915_buddy_mm *mm = &bman->mm; > + > + return mm->avail; > +} > diff --git a/drivers/gpu/drm/i915/i915_ttm_buddy_manager.h b/drivers/gpu/drm/i915/i915_ttm_buddy_manager.h > index 26026213e20a..39f5b1a4c3e7 100644 > --- a/drivers/gpu/drm/i915/i915_ttm_buddy_manager.h > +++ b/drivers/gpu/drm/i915/i915_ttm_buddy_manager.h > @@ -53,4 +53,6 @@ int i915_ttm_buddy_man_fini(struct ttm_device *bdev, > int i915_ttm_buddy_man_reserve(struct ttm_resource_manager *man, > u64 start, u64 size); > > +u64 i915_ttm_buddy_man_get_avail(struct ttm_resource_manager *man); > + > #endif > diff --git a/drivers/gpu/drm/i915/intel_memory_region.c b/drivers/gpu/drm/i915/intel_memory_region.c > index df59f884d37c..269cbb60e233 100644 > --- a/drivers/gpu/drm/i915/intel_memory_region.c > +++ b/drivers/gpu/drm/i915/intel_memory_region.c > @@ -132,6 +132,14 @@ void intel_memory_region_set_name(struct intel_memory_region *mem, > va_end(ap); > } > > +u64 intel_memory_region_get_avail(struct intel_memory_region *mr) > +{ > + if (mr->type == INTEL_MEMORY_LOCAL) > + return i915_ttm_buddy_man_get_avail(mr->region_private); > + > + return mr->avail; > +} Perhaps a kerneldoc comment here as well? > + > static void __intel_memory_region_destroy(struct kref *kref) > { > struct intel_memory_region *mem = > diff --git a/drivers/gpu/drm/i915/intel_memory_region.h b/drivers/gpu/drm/i915/intel_memory_region.h > index 2be8433d373a..6f7a073d5a70 100644 > --- a/drivers/gpu/drm/i915/intel_memory_region.h > +++ b/drivers/gpu/drm/i915/intel_memory_region.h > @@ -74,6 +74,7 @@ struct intel_memory_region { > resource_size_t io_start; > resource_size_t min_page_size; > resource_size_t total; > + /* Do not access directly. Use the accessor instead. */ > resource_size_t avail; > > u16 type; > @@ -125,4 +126,7 @@ intel_memory_region_set_name(struct intel_memory_region *mem, > int intel_memory_region_reserve(struct intel_memory_region *mem, > resource_size_t offset, > resource_size_t size); > + > +u64 intel_memory_region_get_avail(struct intel_memory_region *mem); > + > #endif Otherwise code itself looks good to me. Reviewed-by: Thomas Hellström