From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 582C220E1 for ; Fri, 21 Oct 2022 14:08:43 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 09041C433B5 for ; Fri, 21 Oct 2022 14:08:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1666361323; bh=Xo9JwJY/XMU3fy2R/321Jyhdz5lA7kxLyPv0VQaYCmg=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Wwaa/+fZi02vh1Dn21QNaUJd4JP907px6Nm2UnMwpekf2npzFOwFvhPioALc1UONJ 8ofPTUVMkQw1G3VveiPd76Sos1nwVY2/heVdF4oWu/3qV/74un5rqmkowQV31T7UQw t7ZNkB5TYOYj7abhCh2mSD7ofTrM63eidIF0dcEFUbCSKTFEfV23jErCMz0lyDrXtN Pq8LYbHWAwUzAEd7hdrnsobs3zH6s5vlf62R8Rsl7pR/SBDWUOd9X2KrvYay9ZZVwI N0MUMXqs3GsFnFvE/N8tXfXWWOuc1msGmZOhYsyr2bMyxB0ssBXFGLlxFhLJndP1Vo b1rQ4qAJLUjbg== Received: by mail-ed1-f50.google.com with SMTP id t16so6314361edd.2 for ; Fri, 21 Oct 2022 07:08:42 -0700 (PDT) X-Gm-Message-State: ACrzQf0SK527rTk/TA7C3Fnj+JHnh9PvZH7yhQsYVXjVmbe6Ti0I1QEU ONvloo6qgSDzVAvGm6s5gkDHKO/0m2vD9nawQIk= X-Google-Smtp-Source: AMsMyM56nUz8sGkCeqBVJoK6oDcAc8hZNHP1QjobCqaJwAuRDswWz3ulV0+QMeIS7x6P23jddz9EQQp/xYKEHom6WFA= X-Received: by 2002:aa7:d4d9:0:b0:45c:7eae:d8d8 with SMTP id t25-20020aa7d4d9000000b0045c7eaed8d8mr17594307edr.254.1666361321203; Fri, 21 Oct 2022 07:08:41 -0700 (PDT) Precedence: bulk X-Mailing-List: loongarch@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20221020072317.492906-1-chenhuacai@loongson.cn> <20221020072317.492906-5-chenhuacai@loongson.cn> <1ca11693-17c2-7260-b642-70b033c64b30@linaro.org> In-Reply-To: <1ca11693-17c2-7260-b642-70b033c64b30@linaro.org> From: Huacai Chen Date: Fri, 21 Oct 2022 22:08:28 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH V12 4/4] LoongArch: Enable ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP To: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= Cc: Huacai Chen , Arnd Bergmann , Thomas Bogendoerfer , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Catalin Marinas , Will Deacon , Dinh Nguyen , loongarch@lists.linux.dev, linux-arch@vger.kernel.org, Xuefeng Li , Guo Ren , Xuerui Wang , Jiaxun Yang , Andrew Morton , linux-mm@kvack.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Feiyang Chen Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, Philippe, On Fri, Oct 21, 2022 at 6:16 PM Philippe Mathieu-Daud=C3=A9 wrote: > > On 20/10/22 09:23, Huacai Chen wrote: > > From: Feiyang Chen > > > > The feature of minimizing overhead of struct page associated with each > > HugeTLB page is implemented on x86_64. However, the infrastructure of > > this feature is already there, so just select ARCH_WANT_HUGETLB_PAGE_ > > OPTIMIZE_VMEMMAP is enough to enable this feature for LoongArch. > > > > To avoid the following build error on LoongArch we should include linux= / > > s/should/have to/ Thanks, I will change it. > > > static_key.h in page-flags.h. > > This looks like 2 different changes in a single patch.. The first is a > generic "fix missing include" and the second is LoongArch specific. The static_key.h inclusion is also LoongArch-specific, implicitly. X86 and ARM64 have no build errors without this inclusion, because they include static_key.h from their arch-specific core headers. Once before I have sent a separate patch to "fix missing include", but Greg said that "don't fix unless you have a real problem". :) Huacai > > Splitting in 2 would ease backport cherry-picks. > > > In file included from ./include/linux/mmzone.h:22, > > from ./include/linux/gfp.h:6, > > from ./include/linux/mm.h:7, > > from arch/loongarch/kernel/asm-offsets.c:9: > > ./include/linux/page-flags.h:208:1: warning: data definition has no > > type or storage class > > 208 | DECLARE_STATIC_KEY_MAYBE(CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEF= AULT_ON, > > | ^~~~~~~~~~~~~~~~~~~~~~~~ > > ./include/linux/page-flags.h:208:1: error: type defaults to 'int' in > > declaration of 'DECLARE_STATIC_KEY_MAYBE' [-Werror=3Dimplicit-int] > > ./include/linux/page-flags.h:209:26: warning: parameter names (without > > types) in function declaration > > 209 | hugetlb_optimize_vmemmap_key); > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > ./include/linux/page-flags.h: In function 'hugetlb_optimize_vmemmap_ena= bled': > > ./include/linux/page-flags.h:213:16: error: implicit declaration of > > function 'static_branch_maybe' [-Werror=3Dimplicit-function-declaration= ] > > 213 | return static_branch_maybe(CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_D= EFAULT_ON, > > | ^~~~~~~~~~~~~~~~~~~ > > ./include/linux/page-flags.h:213:36: error: > > 'CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON' undeclared (first > > use in this function); did you mean > > 'CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP'? > > 213 | return static_branch_maybe(CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_D= EFAULT_ON, > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > | CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP > > ./include/linux/page-flags.h:213:36: note: each undeclared identifier > > is reported only once for each function it appears in > > ./include/linux/page-flags.h:214:37: error: > > 'hugetlb_optimize_vmemmap_key' undeclared (first use in this > > function); did you mean 'hugetlb_optimize_vmemmap_enabled'? > > 214 | &hugetlb_optimize_vmemmap_key); > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > | hugetlb_optimize_vmemmap_enabled > > > > Signed-off-by: Feiyang Chen > > Signed-off-by: Huacai Chen > > --- > > arch/loongarch/Kconfig | 1 + > > include/linux/page-flags.h | 1 + > > 2 files changed, 2 insertions(+) > > > > diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig > > index 6f7fa0c0ca08..0a6ef613124c 100644 > > --- a/arch/loongarch/Kconfig > > +++ b/arch/loongarch/Kconfig > > @@ -52,6 +52,7 @@ config LOONGARCH > > select ARCH_USE_QUEUED_RWLOCKS > > select ARCH_USE_QUEUED_SPINLOCKS > > select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT > > + select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP > > select ARCH_WANT_LD_ORPHAN_WARN > > select ARCH_WANTS_NO_INSTR > > select BUILDTIME_TABLE_SORT > > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > > index 0b0ae5084e60..1aafdc73e399 100644 > > --- a/include/linux/page-flags.h > > +++ b/include/linux/page-flags.h > > @@ -9,6 +9,7 @@ > > #include > > #include > > #include > > +#include > > #ifndef __GENERATING_BOUNDS_H > > #include > > #include > > Preferably splitting in 2 distinct patches (for each): > > Reviewed-by: Philippe Mathieu-Daud=C3=A9 > > 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 913FEC433FE for ; Fri, 21 Oct 2022 14:09:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=id+FeUefVzmOU7OnRVSssPRJzc72Pv3N8BOx6xgftCo=; b=UsBKcEQeuH32bE mv/D7t9EKPw4tmSSWZnMHEEmSDjXnHmXFzaJHrDAyvOSvAjRY12kftQHMQjpYnGWR8E7KLLKS2ujg 81Tcz+d8TtOYUAZqoIszxEp2syhLl7zlc432H/AQ8xBnooEaVKGiUtZREKaDajHdQ++AggBPhhBkg LSsTohJ6fCp3yAViW92/+AwAE0a3mdJm77Uz8BRlcCLyfTi0C7yx2z+cn6GeoeNVPR3tv5uB58ix3 xHqA2nLTEXa7bPnMxwug9nH4KHDc761e2riZZuzAzXuMl/nUeiyGmDHFApPx+jdnQjf0ouweye4WC ++NTlkNlHJP/kP8yaMqA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1olshg-008PzO-Qr; Fri, 21 Oct 2022 14:08:52 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1olshd-008PxX-Kc for linux-arm-kernel@lists.infradead.org; Fri, 21 Oct 2022 14:08:51 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3EC5A61EAA for ; Fri, 21 Oct 2022 14:08:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 186D4C43143 for ; Fri, 21 Oct 2022 14:08:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1666361323; bh=Xo9JwJY/XMU3fy2R/321Jyhdz5lA7kxLyPv0VQaYCmg=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Wwaa/+fZi02vh1Dn21QNaUJd4JP907px6Nm2UnMwpekf2npzFOwFvhPioALc1UONJ 8ofPTUVMkQw1G3VveiPd76Sos1nwVY2/heVdF4oWu/3qV/74un5rqmkowQV31T7UQw t7ZNkB5TYOYj7abhCh2mSD7ofTrM63eidIF0dcEFUbCSKTFEfV23jErCMz0lyDrXtN Pq8LYbHWAwUzAEd7hdrnsobs3zH6s5vlf62R8Rsl7pR/SBDWUOd9X2KrvYay9ZZVwI N0MUMXqs3GsFnFvE/N8tXfXWWOuc1msGmZOhYsyr2bMyxB0ssBXFGLlxFhLJndP1Vo b1rQ4qAJLUjbg== Received: by mail-ed1-f43.google.com with SMTP id m16so6278930edc.4 for ; Fri, 21 Oct 2022 07:08:42 -0700 (PDT) X-Gm-Message-State: ACrzQf3+cqjricmglPrftzSEsKrWCRyzE2v7gb8XVk10rJU7n+VywAoX NNJgSlDiY5oqcLEsGcAHrX3TfA30WOGgRIceTao= X-Google-Smtp-Source: AMsMyM56nUz8sGkCeqBVJoK6oDcAc8hZNHP1QjobCqaJwAuRDswWz3ulV0+QMeIS7x6P23jddz9EQQp/xYKEHom6WFA= X-Received: by 2002:aa7:d4d9:0:b0:45c:7eae:d8d8 with SMTP id t25-20020aa7d4d9000000b0045c7eaed8d8mr17594307edr.254.1666361321203; Fri, 21 Oct 2022 07:08:41 -0700 (PDT) MIME-Version: 1.0 References: <20221020072317.492906-1-chenhuacai@loongson.cn> <20221020072317.492906-5-chenhuacai@loongson.cn> <1ca11693-17c2-7260-b642-70b033c64b30@linaro.org> In-Reply-To: <1ca11693-17c2-7260-b642-70b033c64b30@linaro.org> From: Huacai Chen Date: Fri, 21 Oct 2022 22:08:28 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH V12 4/4] LoongArch: Enable ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP To: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= Cc: Huacai Chen , Arnd Bergmann , Thomas Bogendoerfer , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Catalin Marinas , Will Deacon , Dinh Nguyen , loongarch@lists.linux.dev, linux-arch@vger.kernel.org, Xuefeng Li , Guo Ren , Xuerui Wang , Jiaxun Yang , Andrew Morton , linux-mm@kvack.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Feiyang Chen X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221021_070849_760696_EAD8F19E X-CRM114-Status: GOOD ( 31.75 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksIFBoaWxpcHBlLAoKT24gRnJpLCBPY3QgMjEsIDIwMjIgYXQgNjoxNiBQTSBQaGlsaXBwZSBN YXRoaWV1LURhdWTDqQo8cGhpbG1kQGxpbmFyby5vcmc+IHdyb3RlOgo+Cj4gT24gMjAvMTAvMjIg MDk6MjMsIEh1YWNhaSBDaGVuIHdyb3RlOgo+ID4gRnJvbTogRmVpeWFuZyBDaGVuIDxjaGVuZmVp eWFuZ0Bsb29uZ3Nvbi5jbj4KPiA+Cj4gPiBUaGUgZmVhdHVyZSBvZiBtaW5pbWl6aW5nIG92ZXJo ZWFkIG9mIHN0cnVjdCBwYWdlIGFzc29jaWF0ZWQgd2l0aCBlYWNoCj4gPiBIdWdlVExCIHBhZ2Ug aXMgaW1wbGVtZW50ZWQgb24geDg2XzY0LiBIb3dldmVyLCB0aGUgaW5mcmFzdHJ1Y3R1cmUgb2YK PiA+IHRoaXMgZmVhdHVyZSBpcyBhbHJlYWR5IHRoZXJlLCBzbyBqdXN0IHNlbGVjdCBBUkNIX1dB TlRfSFVHRVRMQl9QQUdFXwo+ID4gT1BUSU1JWkVfVk1FTU1BUCBpcyBlbm91Z2ggdG8gZW5hYmxl IHRoaXMgZmVhdHVyZSBmb3IgTG9vbmdBcmNoLgo+ID4KPiA+IFRvIGF2b2lkIHRoZSBmb2xsb3dp bmcgYnVpbGQgZXJyb3Igb24gTG9vbmdBcmNoIHdlIHNob3VsZCBpbmNsdWRlIGxpbnV4Lwo+Cj4g cy9zaG91bGQvaGF2ZSB0by8KVGhhbmtzLCBJIHdpbGwgY2hhbmdlIGl0LgoKPgo+ID4gc3RhdGlj X2tleS5oIGluIHBhZ2UtZmxhZ3MuaC4KPgo+IFRoaXMgbG9va3MgbGlrZSAyIGRpZmZlcmVudCBj aGFuZ2VzIGluIGEgc2luZ2xlIHBhdGNoLi4gVGhlIGZpcnN0IGlzIGEKPiBnZW5lcmljICJmaXgg bWlzc2luZyBpbmNsdWRlIiBhbmQgdGhlIHNlY29uZCBpcyBMb29uZ0FyY2ggc3BlY2lmaWMuClRo ZSBzdGF0aWNfa2V5LmggaW5jbHVzaW9uIGlzIGFsc28gTG9vbmdBcmNoLXNwZWNpZmljLCBpbXBs aWNpdGx5LiBYODYKYW5kIEFSTTY0IGhhdmUgbm8gYnVpbGQgZXJyb3JzIHdpdGhvdXQgdGhpcyBp bmNsdXNpb24sIGJlY2F1c2UgdGhleQppbmNsdWRlIHN0YXRpY19rZXkuaCBmcm9tIHRoZWlyIGFy Y2gtc3BlY2lmaWMgY29yZSBoZWFkZXJzLiBPbmNlCmJlZm9yZSBJIGhhdmUgc2VudCBhIHNlcGFy YXRlIHBhdGNoIHRvICJmaXggbWlzc2luZyBpbmNsdWRlIiwgYnV0IEdyZWcKc2FpZCB0aGF0ICJk b24ndCBmaXggdW5sZXNzIHlvdSBoYXZlIGEgcmVhbCBwcm9ibGVtIi4gOikKCkh1YWNhaQoKPgo+ IFNwbGl0dGluZyBpbiAyIHdvdWxkIGVhc2UgYmFja3BvcnQgY2hlcnJ5LXBpY2tzLgo+Cj4gPiBJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi9pbmNsdWRlL2xpbnV4L21tem9uZS5oOjIyLAo+ID4gZnJv bSAuL2luY2x1ZGUvbGludXgvZ2ZwLmg6NiwKPiA+IGZyb20gLi9pbmNsdWRlL2xpbnV4L21tLmg6 NywKPiA+IGZyb20gYXJjaC9sb29uZ2FyY2gva2VybmVsL2FzbS1vZmZzZXRzLmM6OToKPiA+IC4v aW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmg6MjA4OjE6IHdhcm5pbmc6IGRhdGEgZGVmaW5pdGlv biBoYXMgbm8KPiA+IHR5cGUgb3Igc3RvcmFnZSBjbGFzcwo+ID4gMjA4IHwgREVDTEFSRV9TVEFU SUNfS0VZX01BWUJFKENPTkZJR19IVUdFVExCX1BBR0VfT1BUSU1JWkVfVk1FTU1BUF9ERUZBVUxU X09OLAo+ID4gfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KPiA+IC4vaW5jbHVkZS9saW51eC9w YWdlLWZsYWdzLmg6MjA4OjE6IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRvICdpbnQnIGluCj4gPiBk ZWNsYXJhdGlvbiBvZiAnREVDTEFSRV9TVEFUSUNfS0VZX01BWUJFJyBbLVdlcnJvcj1pbXBsaWNp dC1pbnRdCj4gPiAuL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oOjIwOToyNjogd2FybmluZzog cGFyYW1ldGVyIG5hbWVzICh3aXRob3V0Cj4gPiB0eXBlcykgaW4gZnVuY3Rpb24gZGVjbGFyYXRp b24KPiA+IDIwOSB8IGh1Z2V0bGJfb3B0aW1pemVfdm1lbW1hcF9rZXkpOwo+ID4gfCBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cj4gPiAuL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oOiBJ biBmdW5jdGlvbiAnaHVnZXRsYl9vcHRpbWl6ZV92bWVtbWFwX2VuYWJsZWQnOgo+ID4gLi9pbmNs dWRlL2xpbnV4L3BhZ2UtZmxhZ3MuaDoyMTM6MTY6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZgo+ID4gZnVuY3Rpb24gJ3N0YXRpY19icmFuY2hfbWF5YmUnIFstV2Vycm9yPWltcGxpY2l0 LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+ID4gMjEzIHwgcmV0dXJuIHN0YXRpY19icmFuY2hfbWF5 YmUoQ09ORklHX0hVR0VUTEJfUEFHRV9PUFRJTUlaRV9WTUVNTUFQX0RFRkFVTFRfT04sCj4gPiB8 IF5+fn5+fn5+fn5+fn5+fn5+fn4KPiA+IC4vaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmg6MjEz OjM2OiBlcnJvcjoKPiA+ICdDT05GSUdfSFVHRVRMQl9QQUdFX09QVElNSVpFX1ZNRU1NQVBfREVG QVVMVF9PTicgdW5kZWNsYXJlZCAoZmlyc3QKPiA+IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuCj4gPiAnQ09ORklHX0hVR0VUTEJfUEFHRV9PUFRJTUlaRV9WTUVNTUFQJz8KPiA+ IDIxMyB8IHJldHVybiBzdGF0aWNfYnJhbmNoX21heWJlKENPTkZJR19IVUdFVExCX1BBR0VfT1BU SU1JWkVfVk1FTU1BUF9ERUZBVUxUX09OLAo+ID4gfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo+ID4gfCBDT05GSUdfSFVHRVRMQl9QQUdFX09QVElNSVpF X1ZNRU1NQVAKPiA+IC4vaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmg6MjEzOjM2OiBub3RlOiBl YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllcgo+ID4gaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBl YWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KPiA+IC4vaW5jbHVkZS9saW51eC9wYWdlLWZsYWdz Lmg6MjE0OjM3OiBlcnJvcjoKPiA+ICdodWdldGxiX29wdGltaXplX3ZtZW1tYXBfa2V5JyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcwo+ID4gZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ2h1 Z2V0bGJfb3B0aW1pemVfdm1lbW1hcF9lbmFibGVkJz8KPiA+IDIxNCB8ICZodWdldGxiX29wdGlt aXplX3ZtZW1tYXBfa2V5KTsKPiA+IHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgo+ID4g fCBodWdldGxiX29wdGltaXplX3ZtZW1tYXBfZW5hYmxlZAo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6 IEZlaXlhbmcgQ2hlbiA8Y2hlbmZlaXlhbmdAbG9vbmdzb24uY24+Cj4gPiBTaWduZWQtb2ZmLWJ5 OiBIdWFjYWkgQ2hlbiA8Y2hlbmh1YWNhaUBsb29uZ3Nvbi5jbj4KPiA+IC0tLQo+ID4gICBhcmNo L2xvb25nYXJjaC9LY29uZmlnICAgICB8IDEgKwo+ID4gICBpbmNsdWRlL2xpbnV4L3BhZ2UtZmxh Z3MuaCB8IDEgKwo+ID4gICAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQo+ID4KPiA+ IGRpZmYgLS1naXQgYS9hcmNoL2xvb25nYXJjaC9LY29uZmlnIGIvYXJjaC9sb29uZ2FyY2gvS2Nv bmZpZwo+ID4gaW5kZXggNmY3ZmEwYzBjYTA4Li4wYTZlZjYxMzEyNGMgMTAwNjQ0Cj4gPiAtLS0g YS9hcmNoL2xvb25nYXJjaC9LY29uZmlnCj4gPiArKysgYi9hcmNoL2xvb25nYXJjaC9LY29uZmln Cj4gPiBAQCAtNTIsNiArNTIsNyBAQCBjb25maWcgTE9PTkdBUkNICj4gPiAgICAgICBzZWxlY3Qg QVJDSF9VU0VfUVVFVUVEX1JXTE9DS1MKPiA+ICAgICAgIHNlbGVjdCBBUkNIX1VTRV9RVUVVRURf U1BJTkxPQ0tTCj4gPiAgICAgICBzZWxlY3QgQVJDSF9XQU5UX0RFRkFVTFRfVE9QRE9XTl9NTUFQ X0xBWU9VVAo+ID4gKyAgICAgc2VsZWN0IEFSQ0hfV0FOVF9IVUdFVExCX1BBR0VfT1BUSU1JWkVf Vk1FTU1BUAo+ID4gICAgICAgc2VsZWN0IEFSQ0hfV0FOVF9MRF9PUlBIQU5fV0FSTgo+ID4gICAg ICAgc2VsZWN0IEFSQ0hfV0FOVFNfTk9fSU5TVFIKPiA+ICAgICAgIHNlbGVjdCBCVUlMRFRJTUVf VEFCTEVfU09SVAo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oIGIv aW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmgKPiA+IGluZGV4IDBiMGFlNTA4NGU2MC4uMWFhZmRj NzNlMzk5IDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9saW51eC9wYWdlLWZsYWdzLmgKPiA+ICsr KyBiL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oCj4gPiBAQCAtOSw2ICs5LDcgQEAKPiA+ICAg I2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Cj4gPiAgICNpbmNsdWRlIDxsaW51eC9idWcuaD4KPiA+ ICAgI2luY2x1ZGUgPGxpbnV4L21tZGVidWcuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvc3RhdGlj X2tleS5oPgo+ID4gICAjaWZuZGVmIF9fR0VORVJBVElOR19CT1VORFNfSAo+ID4gICAjaW5jbHVk ZSA8bGludXgvbW1fdHlwZXMuaD4KPiA+ICAgI2luY2x1ZGUgPGdlbmVyYXRlZC9ib3VuZHMuaD4K Pgo+IFByZWZlcmFibHkgc3BsaXR0aW5nIGluIDIgZGlzdGluY3QgcGF0Y2hlcyAoZm9yIGVhY2gp Ogo+Cj4gUmV2aWV3ZWQtYnk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRAbGluYXJv Lm9yZz4KPgo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hcm0ta2VybmVsCg==