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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id AF6F6FCB627 for ; Fri, 6 Mar 2026 16:35:00 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1014610ED8A; Fri, 6 Mar 2026 16:34:58 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=igalia.com header.i=@igalia.com header.b="fLLKLk30"; dkim-atps=neutral Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by gabe.freedesktop.org (Postfix) with ESMTPS id B7C7810E31D; Fri, 6 Mar 2026 16:34:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=GBTIYR2OAVwcJEgv3VqtYJ1RtNhOwxuFY8ja+vpT5QA=; b=fLLKLk305sd7TqVClcFHrDCT4E NOHU7sl6PD3c84MCsEuEJmq9FV8H4UULChZJ8t95FdXaCnxQih31S3uWTIHtohusqPJ0ywXnfTFXG qqToTIoaEu+3YE7njuGB5SBwH+RO4y5NFYeBUO9U6EVtD0TSiiAQp6ZjchC68bNhKvaCTB5h8SoPn cEcgoxFxih53XENP2BrozHkSN6Z2mgi055d7RMe54svlMN+JXox47kroF18lAGj6kq/V2LWcuKkfp LtjvSRHPAVWl5vp/95qFCiohPqJ8Ug43OIeDBHHgBxFMXqMR6GACgUpAjb9ntxWQmmc5JjcHpTH2G nj8Tt4rA==; Received: from [90.240.106.137] (helo=localhost) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1vyY8Z-00APRY-HI; Fri, 06 Mar 2026 17:34:51 +0100 From: Tvrtko Ursulin To: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: kernel-dev@igalia.com, intel-xe@lists.freedesktop.org, Danilo Krummrich , Philipp Stanner , Tvrtko Ursulin , =?UTF-8?q?Christian=20K=C3=B6nig?= , Matthew Brost Subject: [PATCH v7 02/29] drm/sched: Consolidate entity run queue management Date: Fri, 6 Mar 2026 16:34:18 +0000 Message-ID: <20260306163445.97243-3-tvrtko.ursulin@igalia.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260306163445.97243-1-tvrtko.ursulin@igalia.com> References: <20260306163445.97243-1-tvrtko.ursulin@igalia.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" TW92ZSB0aGUgY29kZSBkZWFsaW5nIHdpdGggZW50aXRpZXMgZW50ZXJpbmcgYW5kIGV4aXRpbmcg cnVuIHF1ZXVlcyB0bwpoZWxwZXJzIHRvIGxvZ2ljYWxseSBzZXBhcmF0ZSBpdCBmcm9tIGpvYnMg ZW50ZXJpbmcgYW5kIGV4aXRpbmcgZW50aXRpZXMuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AaWdhbGlhLmNvbT4KQ2M6IENocmlzdGlhbiBLw7ZuaWcgPGNo cmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KQ2M6IERhbmlsbyBLcnVtbXJpY2ggPGRha3JAa2VybmVs Lm9yZz4KQ2M6IE1hdHRoZXcgQnJvc3QgPG1hdHRoZXcuYnJvc3RAaW50ZWwuY29tPgpDYzogUGhp bGlwcCBTdGFubmVyIDxwaGFzdGFAa2VybmVsLm9yZz4KQWNrZWQtYnk6IERhbmlsbyBLcnVtbXJp Y2ggPGRha3JAa2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVk X2VudGl0eS5jICAgfCA0NyArKy0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVy L3NjaGVkX2ludGVybmFsLmggfCAgOCArLS0KIGRyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2No ZWRfbWFpbi5jICAgICB8IDc4ICsrKysrKysrKysrKysrKysrKy0tLS0KIDMgZmlsZXMgY2hhbmdl ZCwgNzIgaW5zZXJ0aW9ucygrKSwgNjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9lbnRpdHkuYyBiL2RyaXZlcnMvZ3B1L2RybS9zY2hl ZHVsZXIvc2NoZWRfZW50aXR5LmMKaW5kZXggYmI3ZTVmYzQ3Zjk5Li43NjhmMTE1MTAxMjkgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfZW50aXR5LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9lbnRpdHkuYwpAQCAtNDg3LDI2ICs0ODcs NyBAQCBzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqZHJtX3NjaGVkX2VudGl0eV9wb3Bfam9iKHN0cnVj dCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHkpCiAKIAlzcHNjX3F1ZXVlX3BvcCgmZW50aXR5LT5q b2JfcXVldWUpOwogCi0JLyoKLQkgKiBVcGRhdGUgdGhlIGVudGl0eSdzIGxvY2F0aW9uIGluIHRo ZSBtaW4gaGVhcCBhY2NvcmRpbmcgdG8KLQkgKiB0aGUgdGltZXN0YW1wIG9mIHRoZSBuZXh0IGpv YiwgaWYgYW55LgotCSAqLwotCWlmIChkcm1fc2NoZWRfcG9saWN5ID09IERSTV9TQ0hFRF9QT0xJ Q1lfRklGTykgewotCQlzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqbmV4dDsKLQotCQluZXh0ID0gZHJt X3NjaGVkX2VudGl0eV9xdWV1ZV9wZWVrKGVudGl0eSk7Ci0JCWlmIChuZXh0KSB7Ci0JCQlzdHJ1 Y3QgZHJtX3NjaGVkX3JxICpycTsKLQotCQkJc3Bpbl9sb2NrKCZlbnRpdHktPmxvY2spOwotCQkJ cnEgPSBlbnRpdHktPnJxOwotCQkJc3Bpbl9sb2NrKCZycS0+bG9jayk7Ci0JCQlkcm1fc2NoZWRf cnFfdXBkYXRlX2ZpZm9fbG9ja2VkKGVudGl0eSwgcnEsCi0JCQkJCQkJbmV4dC0+c3VibWl0X3Rz KTsKLQkJCXNwaW5fdW5sb2NrKCZycS0+bG9jayk7Ci0JCQlzcGluX3VubG9jaygmZW50aXR5LT5s b2NrKTsKLQkJfQotCX0KKwlkcm1fc2NoZWRfcnFfcG9wX2VudGl0eShlbnRpdHkpOwogCiAJLyog Sm9icyBhbmQgZW50aXRpZXMgbWlnaHQgaGF2ZSBkaWZmZXJlbnQgbGlmZWN5Y2xlcy4gU2luY2Ug d2UncmUKIAkgKiByZW1vdmluZyB0aGUgam9iIGZyb20gdGhlIGVudGl0aWVzIHF1ZXVlLCBzZXQg dGhlIGpvYnMgZW50aXR5IHBvaW50ZXIKQEAgLTU5NywzMCArNTc4LDEwIEBAIHZvaWQgZHJtX3Nj aGVkX2VudGl0eV9wdXNoX2pvYihzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2NoZWRfam9iKQogCS8q IGZpcnN0IGpvYiB3YWtlcyB1cCBzY2hlZHVsZXIgKi8KIAlpZiAoZmlyc3QpIHsKIAkJc3RydWN0 IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZDsKLQkJc3RydWN0IGRybV9zY2hlZF9ycSAqcnE7CiAK LQkJLyogQWRkIHRoZSBlbnRpdHkgdG8gdGhlIHJ1biBxdWV1ZSAqLwotCQlzcGluX2xvY2soJmVu dGl0eS0+bG9jayk7Ci0JCWlmIChlbnRpdHktPnN0b3BwZWQpIHsKLQkJCXNwaW5fdW5sb2NrKCZl bnRpdHktPmxvY2spOwotCi0JCQlEUk1fRVJST1IoIlRyeWluZyB0byBwdXNoIHRvIGEga2lsbGVk IGVudGl0eVxuIik7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlycSA9IGVudGl0eS0+cnE7Ci0JCXNj aGVkID0gcnEtPnNjaGVkOwotCi0JCXNwaW5fbG9jaygmcnEtPmxvY2spOwotCQlkcm1fc2NoZWRf cnFfYWRkX2VudGl0eShycSwgZW50aXR5KTsKLQotCQlpZiAoZHJtX3NjaGVkX3BvbGljeSA9PSBE Uk1fU0NIRURfUE9MSUNZX0ZJRk8pCi0JCQlkcm1fc2NoZWRfcnFfdXBkYXRlX2ZpZm9fbG9ja2Vk KGVudGl0eSwgcnEsIHN1Ym1pdF90cyk7Ci0KLQkJc3Bpbl91bmxvY2soJnJxLT5sb2NrKTsKLQkJ c3Bpbl91bmxvY2soJmVudGl0eS0+bG9jayk7Ci0KLQkJZHJtX3NjaGVkX3dha2V1cChzY2hlZCk7 CisJCXNjaGVkID0gZHJtX3NjaGVkX3JxX2FkZF9lbnRpdHkoZW50aXR5LCBzdWJtaXRfdHMpOwor CQlpZiAoc2NoZWQpCisJCQlkcm1fc2NoZWRfd2FrZXVwKHNjaGVkKTsKIAl9CiB9CiBFWFBPUlRf U1lNQk9MKGRybV9zY2hlZF9lbnRpdHlfcHVzaF9qb2IpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3NjaGVkdWxlci9zY2hlZF9pbnRlcm5hbC5oIGIvZHJpdmVycy9ncHUvZHJtL3NjaGVk dWxlci9zY2hlZF9pbnRlcm5hbC5oCmluZGV4IDdlYTVhNjczNmY5OC4uODI2OWM1MzkyYTgyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX2ludGVybmFsLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9pbnRlcm5hbC5oCkBAIC0xMiwxMyAr MTIsMTEgQEAgZXh0ZXJuIGludCBkcm1fc2NoZWRfcG9saWN5OwogCiB2b2lkIGRybV9zY2hlZF93 YWtldXAoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCk7CiAKLXZvaWQgZHJtX3NjaGVk X3JxX2FkZF9lbnRpdHkoc3RydWN0IGRybV9zY2hlZF9ycSAqcnEsCi0JCQkgICAgIHN0cnVjdCBk cm1fc2NoZWRfZW50aXR5ICplbnRpdHkpOworc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICoKK2Ry bV9zY2hlZF9ycV9hZGRfZW50aXR5KHN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHksIGt0 aW1lX3QgdHMpOwogdm9pZCBkcm1fc2NoZWRfcnFfcmVtb3ZlX2VudGl0eShzdHJ1Y3QgZHJtX3Nj aGVkX3JxICpycSwKIAkJCQlzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5KTsKLQotdm9p ZCBkcm1fc2NoZWRfcnFfdXBkYXRlX2ZpZm9fbG9ja2VkKHN0cnVjdCBkcm1fc2NoZWRfZW50aXR5 ICplbnRpdHksCi0JCQkJICAgICBzdHJ1Y3QgZHJtX3NjaGVkX3JxICpycSwga3RpbWVfdCB0cyk7 Cit2b2lkIGRybV9zY2hlZF9ycV9wb3BfZW50aXR5KHN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICpl bnRpdHkpOwogCiB2b2lkIGRybV9zY2hlZF9lbnRpdHlfc2VsZWN0X3JxKHN0cnVjdCBkcm1fc2No ZWRfZW50aXR5ICplbnRpdHkpOwogc3RydWN0IGRybV9zY2hlZF9qb2IgKmRybV9zY2hlZF9lbnRp dHlfcG9wX2pvYihzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5KTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jIGIvZHJpdmVycy9ncHUvZHJt L3NjaGVkdWxlci9zY2hlZF9tYWluLmMKaW5kZXggMjFkYzgyYzc1YzllLi5mNGFhYjI5MTVkZjgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jCkBAIC0xNTEsOSArMTUxLDkg QEAgc3RhdGljIHZvaWQgZHJtX3NjaGVkX3JxX3JlbW92ZV9maWZvX2xvY2tlZChzdHJ1Y3QgZHJt X3NjaGVkX2VudGl0eSAqZW50aXR5LAogCX0KIH0KIAotdm9pZCBkcm1fc2NoZWRfcnFfdXBkYXRl X2ZpZm9fbG9ja2VkKHN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHksCi0JCQkJICAgICBz dHJ1Y3QgZHJtX3NjaGVkX3JxICpycSwKLQkJCQkgICAgIGt0aW1lX3QgdHMpCitzdGF0aWMgdm9p ZCBkcm1fc2NoZWRfcnFfdXBkYXRlX2ZpZm9fbG9ja2VkKHN0cnVjdCBkcm1fc2NoZWRfZW50aXR5 ICplbnRpdHksCisJCQkJCSAgICBzdHJ1Y3QgZHJtX3NjaGVkX3JxICpycSwKKwkJCQkJICAgIGt0 aW1lX3QgdHMpCiB7CiAJLyoKIAkgKiBCb3RoIGxvY2tzIG5lZWQgdG8gYmUgZ3JhYmJlZCwgb25l IHRvIHByb3RlY3QgZnJvbSBlbnRpdHktPnJxIGNoYW5nZQpAQCAtMTkxLDIzICsxOTEsNDUgQEAg c3RhdGljIHZvaWQgZHJtX3NjaGVkX3JxX2luaXQoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpz Y2hlZCwKIAogLyoqCiAgKiBkcm1fc2NoZWRfcnFfYWRkX2VudGl0eSAtIGFkZCBhbiBlbnRpdHkK LSAqCi0gKiBAcnE6IHNjaGVkdWxlciBydW4gcXVldWUKICAqIEBlbnRpdHk6IHNjaGVkdWxlciBl bnRpdHkKKyAqIEB0czogc3VibWlzc2lvbiB0aW1lc3RhbXAKICAqCiAgKiBBZGRzIGEgc2NoZWR1 bGVyIGVudGl0eSB0byB0aGUgcnVuIHF1ZXVlLgorICoKKyAqIFJldHVybjogRFJNIHNjaGVkdWxl ciBzZWxlY3RlZCB0byBoYW5kbGUgdGhpcyBlbnRpdHkgb3IgTlVMTCBpZiBlbnRpdHkgaGFzCisg KiBiZWVuIHN0b3BwZWQgYW5kIGNhbm5vdCBiZSBzdWJtaXR0ZWQgdG8uCiAgKi8KLXZvaWQgZHJt X3NjaGVkX3JxX2FkZF9lbnRpdHkoc3RydWN0IGRybV9zY2hlZF9ycSAqcnEsCi0JCQkgICAgIHN0 cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHkpCitzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIg KgorZHJtX3NjaGVkX3JxX2FkZF9lbnRpdHkoc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgKmVudGl0 eSwga3RpbWVfdCB0cykKIHsKLQlsb2NrZGVwX2Fzc2VydF9oZWxkKCZlbnRpdHktPmxvY2spOwot CWxvY2tkZXBfYXNzZXJ0X2hlbGQoJnJxLT5sb2NrKTsKKwlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVs ZXIgKnNjaGVkOworCXN0cnVjdCBkcm1fc2NoZWRfcnEgKnJxOwogCi0JaWYgKCFsaXN0X2VtcHR5 KCZlbnRpdHktPmxpc3QpKQotCQlyZXR1cm47CisJLyogQWRkIHRoZSBlbnRpdHkgdG8gdGhlIHJ1 biBxdWV1ZSAqLworCXNwaW5fbG9jaygmZW50aXR5LT5sb2NrKTsKKwlpZiAoZW50aXR5LT5zdG9w cGVkKSB7CisJCXNwaW5fdW5sb2NrKCZlbnRpdHktPmxvY2spOwogCi0JYXRvbWljX2luYyhycS0+ c2NoZWQtPnNjb3JlKTsKLQlsaXN0X2FkZF90YWlsKCZlbnRpdHktPmxpc3QsICZycS0+ZW50aXRp ZXMpOworCQlEUk1fRVJST1IoIlRyeWluZyB0byBwdXNoIHRvIGEga2lsbGVkIGVudGl0eVxuIik7 CisJCXJldHVybiBOVUxMOworCX0KKworCXJxID0gZW50aXR5LT5ycTsKKwlzcGluX2xvY2soJnJx LT5sb2NrKTsKKwlzY2hlZCA9IHJxLT5zY2hlZDsKKworCWlmIChsaXN0X2VtcHR5KCZlbnRpdHkt Pmxpc3QpKSB7CisJCWF0b21pY19pbmMoc2NoZWQtPnNjb3JlKTsKKwkJbGlzdF9hZGRfdGFpbCgm ZW50aXR5LT5saXN0LCAmcnEtPmVudGl0aWVzKTsKKwl9CisKKwlpZiAoZHJtX3NjaGVkX3BvbGlj eSA9PSBEUk1fU0NIRURfUE9MSUNZX0ZJRk8pCisJCWRybV9zY2hlZF9ycV91cGRhdGVfZmlmb19s b2NrZWQoZW50aXR5LCBycSwgdHMpOworCisJc3Bpbl91bmxvY2soJnJxLT5sb2NrKTsKKwlzcGlu X3VubG9jaygmZW50aXR5LT5sb2NrKTsKKworCXJldHVybiBzY2hlZDsKIH0KIAogLyoqCkBAIC0y NDAsNiArMjYyLDM2IEBAIHZvaWQgZHJtX3NjaGVkX3JxX3JlbW92ZV9lbnRpdHkoc3RydWN0IGRy bV9zY2hlZF9ycSAqcnEsCiAJc3Bpbl91bmxvY2soJnJxLT5sb2NrKTsKIH0KIAorLyoqCisgKiBk cm1fc2NoZWRfcnFfcG9wX2VudGl0eSAtIHBvcHMgYW4gZW50aXR5CisgKiBAZW50aXR5OiBzY2hl ZHVsZXIgZW50aXR5CisgKgorICogVG8gYmUgY2FsbGVkIGV2ZXJ5IHRpbWUgYWZ0ZXIgYSBqb2Ig aXMgcG9wcGVkIGZyb20gdGhlIGVudGl0eS4KKyAqLwordm9pZCBkcm1fc2NoZWRfcnFfcG9wX2Vu dGl0eShzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5KQoreworCS8qCisJICogVXBkYXRl IHRoZSBlbnRpdHkncyBsb2NhdGlvbiBpbiB0aGUgbWluIGhlYXAgYWNjb3JkaW5nIHRvCisJICog dGhlIHRpbWVzdGFtcCBvZiB0aGUgbmV4dCBqb2IsIGlmIGFueS4KKwkgKi8KKwlpZiAoZHJtX3Nj aGVkX3BvbGljeSA9PSBEUk1fU0NIRURfUE9MSUNZX0ZJRk8pIHsKKwkJc3RydWN0IGRybV9zY2hl ZF9qb2IgKm5leHQ7CisKKwkJbmV4dCA9IGRybV9zY2hlZF9lbnRpdHlfcXVldWVfcGVlayhlbnRp dHkpOworCQlpZiAobmV4dCkgeworCQkJc3RydWN0IGRybV9zY2hlZF9ycSAqcnE7CisKKwkJCXNw aW5fbG9jaygmZW50aXR5LT5sb2NrKTsKKwkJCXJxID0gZW50aXR5LT5ycTsKKwkJCXNwaW5fbG9j aygmcnEtPmxvY2spOworCQkJZHJtX3NjaGVkX3JxX3VwZGF0ZV9maWZvX2xvY2tlZChlbnRpdHks IHJxLAorCQkJCQkJCW5leHQtPnN1Ym1pdF90cyk7CisJCQlzcGluX3VubG9jaygmcnEtPmxvY2sp OworCQkJc3Bpbl91bmxvY2soJmVudGl0eS0+bG9jayk7CisJCX0KKwl9Cit9CisKIC8qKgogICog ZHJtX3NjaGVkX3JxX3NlbGVjdF9lbnRpdHlfcnIgLSBTZWxlY3QgYW4gZW50aXR5IHdoaWNoIGNv dWxkIHByb3ZpZGUgYSBqb2IgdG8gcnVuCiAgKgotLSAKMi41Mi4wCgo=