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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT 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 C29EEC4743C for ; Wed, 23 Jun 2021 14:16:42 +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 7A82D60FDC for ; Wed, 23 Jun 2021 14:16:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7A82D60FDC Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 6DD4B6E90A; Wed, 23 Jun 2021 14:16:40 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 80CA66E906; Wed, 23 Jun 2021 14:16:35 +0000 (UTC) IronPort-SDR: xFgP7ji9ICyqqG7kOq/jxFRTUAlJVwP2N/JNVaPzFSn4wKn75wX0pFnyWAB/km3NFJc6y8RM+i so0qi599na1w== X-IronPort-AV: E=McAfee;i="6200,9189,10024"; a="194575753" X-IronPort-AV: E=Sophos;i="5.83,294,1616482800"; d="scan'208";a="194575753" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2021 07:16:35 -0700 IronPort-SDR: Sb3c2Cb6pok9+BOgORNSYfM4lVBEvdNHggbl817lO9r6gmrweVPR+hZhZuwdmOTFoQNvf+K8tG ytTuAaHZ5ciQ== X-IronPort-AV: E=Sophos;i="5.83,294,1616482800"; d="scan'208";a="556982702" Received: from dconnon-mobl.ger.corp.intel.com (HELO mwauld-desk1.intel.com) ([10.252.14.111]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2021 07:16:32 -0700 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Subject: [PATCH v2 2/2] drm/i915/gtt: ignore min_page_size for paging structures Date: Wed, 23 Jun 2021 15:16:15 +0100 Message-Id: <20210623141615.291391-2-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210623141615.291391-1-matthew.auld@intel.com> References: <20210623141615.291391-1-matthew.auld@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , dri-devel@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The min_page_size is only needed for pages inserted into the GTT, and for our paging structures we only need at most 4K bytes, so simply ignore the min_page_size restrictions here, otherwise we might see some severe overallocation on some devices. v2(Thomas): add some commentary Signed-off-by: Matthew Auld Cc: Thomas Hellström Reviewed-by: Thomas Hellström --- drivers/gpu/drm/i915/gt/intel_gtt.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gt/intel_gtt.c b/drivers/gpu/drm/i915/gt/intel_gtt.c index 084ea65d59c0..f7e0352edb62 100644 --- a/drivers/gpu/drm/i915/gt/intel_gtt.c +++ b/drivers/gpu/drm/i915/gt/intel_gtt.c @@ -16,7 +16,19 @@ struct drm_i915_gem_object *alloc_pt_lmem(struct i915_address_space *vm, int sz) { struct drm_i915_gem_object *obj; - obj = i915_gem_object_create_lmem(vm->i915, sz, 0); + /* + * To avoid severe over-allocation when dealing with min_page_size + * restrictions, we override that behaviour here by allowing an object + * size and page layout which can be smaller. In practice this should be + * totally fine, since GTT paging structures are not typically inserted + * into the GTT. + * + * Note that we also hit this path for the scratch page, and for this + * case it might need to be 64K, but that should work fine here since we + * used the passed in size for the page size, which should ensure it + * also has the same alignment. + */ + obj = __i915_gem_object_create_lmem_with_ps(vm->i915, sz, sz, 0); /* * Ensure all paging structures for this vm share the same dma-resv * object underneath, with the idea that one object_lock() will lock -- 2.26.3 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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT 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 68DA8C49EA4 for ; Wed, 23 Jun 2021 14:16:41 +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 3A9D1610C7 for ; Wed, 23 Jun 2021 14:16:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3A9D1610C7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 31FF16E908; Wed, 23 Jun 2021 14:16:40 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 80CA66E906; Wed, 23 Jun 2021 14:16:35 +0000 (UTC) IronPort-SDR: xFgP7ji9ICyqqG7kOq/jxFRTUAlJVwP2N/JNVaPzFSn4wKn75wX0pFnyWAB/km3NFJc6y8RM+i so0qi599na1w== X-IronPort-AV: E=McAfee;i="6200,9189,10024"; a="194575753" X-IronPort-AV: E=Sophos;i="5.83,294,1616482800"; d="scan'208";a="194575753" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2021 07:16:35 -0700 IronPort-SDR: Sb3c2Cb6pok9+BOgORNSYfM4lVBEvdNHggbl817lO9r6gmrweVPR+hZhZuwdmOTFoQNvf+K8tG ytTuAaHZ5ciQ== X-IronPort-AV: E=Sophos;i="5.83,294,1616482800"; d="scan'208";a="556982702" Received: from dconnon-mobl.ger.corp.intel.com (HELO mwauld-desk1.intel.com) ([10.252.14.111]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2021 07:16:32 -0700 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Date: Wed, 23 Jun 2021 15:16:15 +0100 Message-Id: <20210623141615.291391-2-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210623141615.291391-1-matthew.auld@intel.com> References: <20210623141615.291391-1-matthew.auld@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 2/2] drm/i915/gtt: ignore min_page_size for paging structures 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: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" VGhlIG1pbl9wYWdlX3NpemUgaXMgb25seSBuZWVkZWQgZm9yIHBhZ2VzIGluc2VydGVkIGludG8g dGhlIEdUVCwgYW5kCmZvciBvdXIgcGFnaW5nIHN0cnVjdHVyZXMgd2Ugb25seSBuZWVkIGF0IG1v c3QgNEsgYnl0ZXMsIHNvIHNpbXBseQppZ25vcmUgdGhlIG1pbl9wYWdlX3NpemUgcmVzdHJpY3Rp b25zIGhlcmUsIG90aGVyd2lzZSB3ZSBtaWdodCBzZWUgc29tZQpzZXZlcmUgb3ZlcmFsbG9jYXRp b24gb24gc29tZSBkZXZpY2VzLgoKdjIoVGhvbWFzKTogYWRkIHNvbWUgY29tbWVudGFyeQoKU2ln bmVkLW9mZi1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzogVGhv bWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxsc3Ryb21AbGludXguaW50ZWwuY29tPgpSZXZpZXdl ZC1ieTogVGhvbWFzIEhlbGxzdHLDtm0gPHRob21hcy5oZWxsc3Ryb21AbGludXguaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0dC5jIHwgMTQgKysrKysrKysr KysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3R0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndHQuYwppbmRleCAwODRlYTY1ZDU5YzAuLmY3ZTAzNTJl ZGI2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3R0LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3R0LmMKQEAgLTE2LDcgKzE2LDE5IEBA IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICphbGxvY19wdF9sbWVtKHN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtLCBpbnQgc3opCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iajsKIAotCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfbG1lbSh2bS0+aTkxNSwgc3os IDApOworCS8qCisJICogVG8gYXZvaWQgc2V2ZXJlIG92ZXItYWxsb2NhdGlvbiB3aGVuIGRlYWxp bmcgd2l0aCBtaW5fcGFnZV9zaXplCisJICogcmVzdHJpY3Rpb25zLCB3ZSBvdmVycmlkZSB0aGF0 IGJlaGF2aW91ciBoZXJlIGJ5IGFsbG93aW5nIGFuIG9iamVjdAorCSAqIHNpemUgYW5kIHBhZ2Ug bGF5b3V0IHdoaWNoIGNhbiBiZSBzbWFsbGVyLiBJbiBwcmFjdGljZSB0aGlzIHNob3VsZCBiZQor CSAqIHRvdGFsbHkgZmluZSwgc2luY2UgR1RUIHBhZ2luZyBzdHJ1Y3R1cmVzIGFyZSBub3QgdHlw aWNhbGx5IGluc2VydGVkCisJICogaW50byB0aGUgR1RULgorCSAqCisJICogTm90ZSB0aGF0IHdl IGFsc28gaGl0IHRoaXMgcGF0aCBmb3IgdGhlIHNjcmF0Y2ggcGFnZSwgYW5kIGZvciB0aGlzCisJ ICogY2FzZSBpdCBtaWdodCBuZWVkIHRvIGJlIDY0SywgYnV0IHRoYXQgc2hvdWxkIHdvcmsgZmlu ZSBoZXJlIHNpbmNlIHdlCisJICogdXNlZCB0aGUgcGFzc2VkIGluIHNpemUgZm9yIHRoZSBwYWdl IHNpemUsIHdoaWNoIHNob3VsZCBlbnN1cmUgaXQKKwkgKiBhbHNvIGhhcyB0aGUgc2FtZSBhbGln bm1lbnQuCisJICovCisJb2JqID0gX19pOTE1X2dlbV9vYmplY3RfY3JlYXRlX2xtZW1fd2l0aF9w cyh2bS0+aTkxNSwgc3osIHN6LCAwKTsKIAkvKgogCSAqIEVuc3VyZSBhbGwgcGFnaW5nIHN0cnVj dHVyZXMgZm9yIHRoaXMgdm0gc2hhcmUgdGhlIHNhbWUgZG1hLXJlc3YKIAkgKiBvYmplY3QgdW5k ZXJuZWF0aCwgd2l0aCB0aGUgaWRlYSB0aGF0IG9uZSBvYmplY3RfbG9jaygpIHdpbGwgbG9jawot LSAKMi4yNi4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK