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=-7.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 03C36C433DB for ; Fri, 12 Feb 2021 09:41:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id AB96764DA8 for ; Fri, 12 Feb 2021 09:41:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230201AbhBLJlU (ORCPT ); Fri, 12 Feb 2021 04:41:20 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:22449 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229674AbhBLJlR (ORCPT ); Fri, 12 Feb 2021 04:41:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1613122790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VJIh+57vZZX62sUHqf9Qg0OO0KLGj7Jhm7EDFFjgYrE=; b=bxSWt59IXe7Ph68jERmrp8ud+1hNqgsKdIFfEMhkrxDMjiOgbS4hOg4JEUdHM9yxleZSY+ 0esU68H67mH2u8XubGEln94mzlDqvlxpEA94VJakwlZq/yzphj1tg3LWmhk9tiqJ9FKLoh c4UjjRuOtyfyrjgEnWpTLly7X4AcdrM= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-574-s08ifoYOOVywTnddxRfoeQ-1; Fri, 12 Feb 2021 04:39:45 -0500 X-MC-Unique: s08ifoYOOVywTnddxRfoeQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 185691936B66; Fri, 12 Feb 2021 09:39:44 +0000 (UTC) Received: from [10.36.114.178] (ovpn-114-178.ams2.redhat.com [10.36.114.178]) by smtp.corp.redhat.com (Postfix) with ESMTP id 298E65D74A; Fri, 12 Feb 2021 09:39:41 +0000 (UTC) To: Anshuman Khandual , linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, catalin.marinas@arm.com, akpm@linux-foundation.org, will@kernel.org Cc: Robin Murphy , Marek Szyprowski , Christoph Hellwig , Mark Rutland , iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org References: <1613024531-19040-1-git-send-email-anshuman.khandual@arm.com> <683c812a-ce3d-ef74-10d1-eaf8a3ae93d4@redhat.com> From: David Hildenbrand Organization: Red Hat GmbH Subject: Re: [PATCH 0/3] mm/page_alloc: Fix pageblock_order with HUGETLB_PAGE_SIZE_VARIABLE Message-ID: Date: Fri, 12 Feb 2021 10:39:40 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12.02.21 08:02, Anshuman Khandual wrote: > > On 2/11/21 2:07 PM, David Hildenbrand wrote: >> On 11.02.21 07:22, Anshuman Khandual wrote: >>> The following warning gets triggered while trying to boot a 64K page size >>> without THP config kernel on arm64 platform. >>> >>> WARNING: CPU: 5 PID: 124 at mm/vmstat.c:1080 __fragmentation_index+0xa4/0xc0 >>> Modules linked in: >>> CPU: 5 PID: 124 Comm: kswapd0 Not tainted 5.11.0-rc6-00004-ga0ea7d62002 #159 >>> Hardware name: linux,dummy-virt (DT) >>> [    8.810673] pstate: 20400005 (nzCv daif +PAN -UAO -TCO BTYPE=--) >>> [    8.811732] pc : __fragmentation_index+0xa4/0xc0 >>> [    8.812555] lr : fragmentation_index+0xf8/0x138 >>> [    8.813360] sp : ffff0000864079b0 >>> [    8.813958] x29: ffff0000864079b0 x28: 0000000000000372 >>> [    8.814901] x27: 0000000000007682 x26: ffff8000135b3948 >>> [    8.815847] x25: 1fffe00010c80f48 x24: 0000000000000000 >>> [    8.816805] x23: 0000000000000000 x22: 000000000000000d >>> [    8.817764] x21: 0000000000000030 x20: ffff0005ffcb4d58 >>> [    8.818712] x19: 000000000000000b x18: 0000000000000000 >>> [    8.819656] x17: 0000000000000000 x16: 0000000000000000 >>> [    8.820613] x15: 0000000000000000 x14: ffff8000114c6258 >>> [    8.821560] x13: ffff6000bff969ba x12: 1fffe000bff969b9 >>> [    8.822514] x11: 1fffe000bff969b9 x10: ffff6000bff969b9 >>> [    8.823461] x9 : dfff800000000000 x8 : ffff0005ffcb4dcf >>> [    8.824415] x7 : 0000000000000001 x6 : 0000000041b58ab3 >>> [    8.825359] x5 : ffff600010c80f48 x4 : dfff800000000000 >>> [    8.826313] x3 : ffff8000102be670 x2 : 0000000000000007 >>> [    8.827259] x1 : ffff000086407a60 x0 : 000000000000000d >>> [    8.828218] Call trace: >>> [    8.828667]  __fragmentation_index+0xa4/0xc0 >>> [    8.829436]  fragmentation_index+0xf8/0x138 >>> [    8.830194]  compaction_suitable+0x98/0xb8 >>> [    8.830934]  wakeup_kcompactd+0xdc/0x128 >>> [    8.831640]  balance_pgdat+0x71c/0x7a0 >>> [    8.832327]  kswapd+0x31c/0x520 >>> [    8.832902]  kthread+0x224/0x230 >>> [    8.833491]  ret_from_fork+0x10/0x30 >>> [    8.834150] ---[ end trace 472836f79c15516b ]--- >>> >>> This warning comes from __fragmentation_index() when the requested order >>> is greater than MAX_ORDER. >>> >>> static int __fragmentation_index(unsigned int order, >>>                  struct contig_page_info *info) >>> { >>>          unsigned long requested = 1UL << order; >>> >>>          if (WARN_ON_ONCE(order >= MAX_ORDER)) <===== Triggered here >>>                  return 0; >>> >>> Digging it further reveals that pageblock_order has been assigned a value >>> which is greater than MAX_ORDER failing the above check. But why this >>> happened ? Because HUGETLB_PAGE_ORDER for the given config on arm64 is >>> greater than MAX_ORDER. >>> >>> The solution involves enabling HUGETLB_PAGE_SIZE_VARIABLE which would make >>> pageblock_order a variable instead of constant HUGETLB_PAGE_ORDER. But that >>> change alone also did not really work as pageblock_order still got assigned >>> as HUGETLB_PAGE_ORDER in set_pageblock_order(). HUGETLB_PAGE_ORDER needs to >>> be less than MAX_ORDER for its appropriateness as pageblock_order otherwise >>> just fallback to MAX_ORDER - 1 as before. While here it also fixes a build >>> problem via type casting MAX_ORDER in rmem_cma_setup(). >> >> I'm wondering, is there any real value in allowing FORCE_MAX_ZONEORDER to be "11" with ARM64_64K_PAGES/ARM64_16K_PAGES? > > MAX_ORDER should be as high as would be required for the current config. > Unless THP is enabled, there is no need for it to be any higher than 11. > But I might be missing historical reasons around this as well. Probably > others from arm64 could help here. Theoretically yes, practically no. If nobody cares about a configuration, no need to make the code more complicated for that configuration. > >> >> Meaning: are there any real use cases that actually build a kernel without TRANSPARENT_HUGEPAGE and with ARM64_64K_PAGES/ARM64_16K_PAGES? > > THP is always optional. Besides kernel builds without THP should always > be supported. Assuming that all builds will have THP enabled, might not > be accurate. > >> >> As builds are essentially broken, I assume this is not that relevant? Or how long has it been broken? > > Git blame shows that it's been there for some time now. But how does > that make this irrelevant ? A problem should be fixed nonetheless. When exactly did I say not to fix it? I'm saying if nobody uses it, we might be able to simplify. > >> >> It might be easier to just drop the "TRANSPARENT_HUGEPAGE" part from the FORCE_MAX_ZONEORDER config. >> > > Not sure if it would be a good idea to unnecessarily have larger MAX_ORDER > value for a given config. But I might be missing other contexts here. My point is: keep it simple if there is no need to make it complicated. If these arm64 variants are the only cases where we run into that issue and nobody uses them ("hat it's been there for some time now"), why make stuff complicated? The current code seems to assume that HUGETLB_PAGE_ORDER <= MAX_ORDER. Instead of changing that for optimizing an unused use case (it is broken), just simplify the arm64 conditions. I'd even say add a /* * Some code assumes that HUGETLB_PAGE_ORDER <= MAX_ORDER. For now, only * !TRANSPARENT_HUGEPAGE could lead in archs creating such setups. * Forbid it for now; anybody that has a valid use case has to sanitize * the code. */ BUILD_BUG_ON(HUGETLB_PAGE_ORDER <= MAX_ORDER); But again, if there are valid use cases then sure, let's make the code fully compatible with HUGETLB_PAGE_ORDER > MAX_ORDER. BTW: can we be sure that you caught all issues? For example: #define COMPACTION_HPAGE_ORDER HUGETLB_PAGE_ORDER I'm not sure if it will work as expected if HUGETLB_PAGE_ORDER > MAX_ORDER ... fill_contig_page_info() will never find any suitable free blocks ... -- Thanks, David / dhildenb 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=-5.2 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no 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 74F25C433E0 for ; Fri, 12 Feb 2021 09:39:59 +0000 (UTC) Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (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 02A7D64E35 for ; Fri, 12 Feb 2021 09:39:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 02A7D64E35 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id AFCE46E3B4 for ; Fri, 12 Feb 2021 09:39:58 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id STQ14mLQSLvL for ; Fri, 12 Feb 2021 09:39:56 +0000 (UTC) Received: by smtp3.osuosl.org (Postfix, from userid 1001) id 550B06F596; Fri, 12 Feb 2021 09:39:56 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp3.osuosl.org (Postfix) with ESMTP id 8CE416009C; Fri, 12 Feb 2021 09:39:53 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 6E72DC0891; Fri, 12 Feb 2021 09:39:53 +0000 (UTC) Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 963FEC013A for ; Fri, 12 Feb 2021 09:39:52 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 853F985608 for ; Fri, 12 Feb 2021 09:39:52 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BZnB1c3-sJM8 for ; Fri, 12 Feb 2021 09:39:51 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 4C6D685540 for ; Fri, 12 Feb 2021 09:39:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1613122790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VJIh+57vZZX62sUHqf9Qg0OO0KLGj7Jhm7EDFFjgYrE=; b=bxSWt59IXe7Ph68jERmrp8ud+1hNqgsKdIFfEMhkrxDMjiOgbS4hOg4JEUdHM9yxleZSY+ 0esU68H67mH2u8XubGEln94mzlDqvlxpEA94VJakwlZq/yzphj1tg3LWmhk9tiqJ9FKLoh c4UjjRuOtyfyrjgEnWpTLly7X4AcdrM= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-574-s08ifoYOOVywTnddxRfoeQ-1; Fri, 12 Feb 2021 04:39:45 -0500 X-MC-Unique: s08ifoYOOVywTnddxRfoeQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 185691936B66; Fri, 12 Feb 2021 09:39:44 +0000 (UTC) Received: from [10.36.114.178] (ovpn-114-178.ams2.redhat.com [10.36.114.178]) by smtp.corp.redhat.com (Postfix) with ESMTP id 298E65D74A; Fri, 12 Feb 2021 09:39:41 +0000 (UTC) To: Anshuman Khandual , linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, catalin.marinas@arm.com, akpm@linux-foundation.org, will@kernel.org References: <1613024531-19040-1-git-send-email-anshuman.khandual@arm.com> <683c812a-ce3d-ef74-10d1-eaf8a3ae93d4@redhat.com> From: David Hildenbrand Organization: Red Hat GmbH Subject: Re: [PATCH 0/3] mm/page_alloc: Fix pageblock_order with HUGETLB_PAGE_SIZE_VARIABLE Message-ID: Date: Fri, 12 Feb 2021 10:39:40 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Cc: Mark Rutland , linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, Robin Murphy , Christoph Hellwig X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" T24gMTIuMDIuMjEgMDg6MDIsIEFuc2h1bWFuIEtoYW5kdWFsIHdyb3RlOgo+IAo+IE9uIDIvMTEv MjEgMjowNyBQTSwgRGF2aWQgSGlsZGVuYnJhbmQgd3JvdGU6Cj4+IE9uIDExLjAyLjIxIDA3OjIy LCBBbnNodW1hbiBLaGFuZHVhbCB3cm90ZToKPj4+IFRoZSBmb2xsb3dpbmcgd2FybmluZyBnZXRz IHRyaWdnZXJlZCB3aGlsZSB0cnlpbmcgdG8gYm9vdCBhIDY0SyBwYWdlIHNpemUKPj4+IHdpdGhv dXQgVEhQIGNvbmZpZyBrZXJuZWwgb24gYXJtNjQgcGxhdGZvcm0uCj4+Pgo+Pj4gV0FSTklORzog Q1BVOiA1IFBJRDogMTI0IGF0IG1tL3Ztc3RhdC5jOjEwODAgX19mcmFnbWVudGF0aW9uX2luZGV4 KzB4YTQvMHhjMAo+Pj4gTW9kdWxlcyBsaW5rZWQgaW46Cj4+PiBDUFU6IDUgUElEOiAxMjQgQ29t bToga3N3YXBkMCBOb3QgdGFpbnRlZCA1LjExLjAtcmM2LTAwMDA0LWdhMGVhN2Q2MjAwMiAjMTU5 Cj4+PiBIYXJkd2FyZSBuYW1lOiBsaW51eCxkdW1teS12aXJ0IChEVCkKPj4+IFvCoMKgwqAgOC44 MTA2NzNdIHBzdGF0ZTogMjA0MDAwMDUgKG56Q3YgZGFpZiArUEFOIC1VQU8gLVRDTyBCVFlQRT0t LSkKPj4+IFvCoMKgwqAgOC44MTE3MzJdIHBjIDogX19mcmFnbWVudGF0aW9uX2luZGV4KzB4YTQv MHhjMAo+Pj4gW8KgwqDCoCA4LjgxMjU1NV0gbHIgOiBmcmFnbWVudGF0aW9uX2luZGV4KzB4Zjgv MHgxMzgKPj4+IFvCoMKgwqAgOC44MTMzNjBdIHNwIDogZmZmZjAwMDA4NjQwNzliMAo+Pj4gW8Kg wqDCoCA4LjgxMzk1OF0geDI5OiBmZmZmMDAwMDg2NDA3OWIwIHgyODogMDAwMDAwMDAwMDAwMDM3 Mgo+Pj4gW8KgwqDCoCA4LjgxNDkwMV0geDI3OiAwMDAwMDAwMDAwMDA3NjgyIHgyNjogZmZmZjgw MDAxMzViMzk0OAo+Pj4gW8KgwqDCoCA4LjgxNTg0N10geDI1OiAxZmZmZTAwMDEwYzgwZjQ4IHgy NDogMDAwMDAwMDAwMDAwMDAwMAo+Pj4gW8KgwqDCoCA4LjgxNjgwNV0geDIzOiAwMDAwMDAwMDAw MDAwMDAwIHgyMjogMDAwMDAwMDAwMDAwMDAwZAo+Pj4gW8KgwqDCoCA4LjgxNzc2NF0geDIxOiAw MDAwMDAwMDAwMDAwMDMwIHgyMDogZmZmZjAwMDVmZmNiNGQ1OAo+Pj4gW8KgwqDCoCA4LjgxODcx Ml0geDE5OiAwMDAwMDAwMDAwMDAwMDBiIHgxODogMDAwMDAwMDAwMDAwMDAwMAo+Pj4gW8KgwqDC oCA4LjgxOTY1Nl0geDE3OiAwMDAwMDAwMDAwMDAwMDAwIHgxNjogMDAwMDAwMDAwMDAwMDAwMAo+ Pj4gW8KgwqDCoCA4LjgyMDYxM10geDE1OiAwMDAwMDAwMDAwMDAwMDAwIHgxNDogZmZmZjgwMDAx MTRjNjI1OAo+Pj4gW8KgwqDCoCA4LjgyMTU2MF0geDEzOiBmZmZmNjAwMGJmZjk2OWJhIHgxMjog MWZmZmUwMDBiZmY5NjliOQo+Pj4gW8KgwqDCoCA4LjgyMjUxNF0geDExOiAxZmZmZTAwMGJmZjk2 OWI5IHgxMDogZmZmZjYwMDBiZmY5NjliOQo+Pj4gW8KgwqDCoCA4LjgyMzQ2MV0geDkgOiBkZmZm ODAwMDAwMDAwMDAwIHg4IDogZmZmZjAwMDVmZmNiNGRjZgo+Pj4gW8KgwqDCoCA4LjgyNDQxNV0g eDcgOiAwMDAwMDAwMDAwMDAwMDAxIHg2IDogMDAwMDAwMDA0MWI1OGFiMwo+Pj4gW8KgwqDCoCA4 LjgyNTM1OV0geDUgOiBmZmZmNjAwMDEwYzgwZjQ4IHg0IDogZGZmZjgwMDAwMDAwMDAwMAo+Pj4g W8KgwqDCoCA4LjgyNjMxM10geDMgOiBmZmZmODAwMDEwMmJlNjcwIHgyIDogMDAwMDAwMDAwMDAw MDAwNwo+Pj4gW8KgwqDCoCA4LjgyNzI1OV0geDEgOiBmZmZmMDAwMDg2NDA3YTYwIHgwIDogMDAw MDAwMDAwMDAwMDAwZAo+Pj4gW8KgwqDCoCA4LjgyODIxOF0gQ2FsbCB0cmFjZToKPj4+IFvCoMKg wqAgOC44Mjg2NjddwqAgX19mcmFnbWVudGF0aW9uX2luZGV4KzB4YTQvMHhjMAo+Pj4gW8KgwqDC oCA4LjgyOTQzNl3CoCBmcmFnbWVudGF0aW9uX2luZGV4KzB4ZjgvMHgxMzgKPj4+IFvCoMKgwqAg OC44MzAxOTRdwqAgY29tcGFjdGlvbl9zdWl0YWJsZSsweDk4LzB4YjgKPj4+IFvCoMKgwqAgOC44 MzA5MzRdwqAgd2FrZXVwX2tjb21wYWN0ZCsweGRjLzB4MTI4Cj4+PiBbwqDCoMKgIDguODMxNjQw XcKgIGJhbGFuY2VfcGdkYXQrMHg3MWMvMHg3YTAKPj4+IFvCoMKgwqAgOC44MzIzMjddwqAga3N3 YXBkKzB4MzFjLzB4NTIwCj4+PiBbwqDCoMKgIDguODMyOTAyXcKgIGt0aHJlYWQrMHgyMjQvMHgy MzAKPj4+IFvCoMKgwqAgOC44MzM0OTFdwqAgcmV0X2Zyb21fZm9yaysweDEwLzB4MzAKPj4+IFvC oMKgwqAgOC44MzQxNTBdIC0tLVsgZW5kIHRyYWNlIDQ3MjgzNmY3OWMxNTUxNmIgXS0tLQo+Pj4K Pj4+IFRoaXMgd2FybmluZyBjb21lcyBmcm9tIF9fZnJhZ21lbnRhdGlvbl9pbmRleCgpIHdoZW4g dGhlIHJlcXVlc3RlZCBvcmRlcgo+Pj4gaXMgZ3JlYXRlciB0aGFuIE1BWF9PUkRFUi4KPj4+Cj4+ PiBzdGF0aWMgaW50IF9fZnJhZ21lbnRhdGlvbl9pbmRleCh1bnNpZ25lZCBpbnQgb3JkZXIsCj4+ PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGNvbnRpZ19wYWdlX2lu Zm8gKmluZm8pCj4+PiB7Cj4+PiAgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBsb25nIHJlcXVl c3RlZCA9IDFVTCA8PCBvcmRlcjsKPj4+Cj4+PiAgwqDCoMKgwqDCoMKgwqDCoCBpZiAoV0FSTl9P Tl9PTkNFKG9yZGVyID49IE1BWF9PUkRFUikpIDw9PT09PSBUcmlnZ2VyZWQgaGVyZQo+Pj4gIMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAwOwo+Pj4KPj4+IERpZ2dpbmcg aXQgZnVydGhlciByZXZlYWxzIHRoYXQgcGFnZWJsb2NrX29yZGVyIGhhcyBiZWVuIGFzc2lnbmVk IGEgdmFsdWUKPj4+IHdoaWNoIGlzIGdyZWF0ZXIgdGhhbiBNQVhfT1JERVIgZmFpbGluZyB0aGUg YWJvdmUgY2hlY2suIEJ1dCB3aHkgdGhpcwo+Pj4gaGFwcGVuZWQgPyBCZWNhdXNlIEhVR0VUTEJf UEFHRV9PUkRFUiBmb3IgdGhlIGdpdmVuIGNvbmZpZyBvbiBhcm02NCBpcwo+Pj4gZ3JlYXRlciB0 aGFuIE1BWF9PUkRFUi4KPj4+Cj4+PiBUaGUgc29sdXRpb24gaW52b2x2ZXMgZW5hYmxpbmcgSFVH RVRMQl9QQUdFX1NJWkVfVkFSSUFCTEUgd2hpY2ggd291bGQgbWFrZQo+Pj4gcGFnZWJsb2NrX29y ZGVyIGEgdmFyaWFibGUgaW5zdGVhZCBvZiBjb25zdGFudCBIVUdFVExCX1BBR0VfT1JERVIuIEJ1 dCB0aGF0Cj4+PiBjaGFuZ2UgYWxvbmUgYWxzbyBkaWQgbm90IHJlYWxseSB3b3JrIGFzIHBhZ2Vi bG9ja19vcmRlciBzdGlsbCBnb3QgYXNzaWduZWQKPj4+IGFzIEhVR0VUTEJfUEFHRV9PUkRFUiBp biBzZXRfcGFnZWJsb2NrX29yZGVyKCkuIEhVR0VUTEJfUEFHRV9PUkRFUiBuZWVkcyB0bwo+Pj4g YmUgbGVzcyB0aGFuIE1BWF9PUkRFUiBmb3IgaXRzIGFwcHJvcHJpYXRlbmVzcyBhcyBwYWdlYmxv Y2tfb3JkZXIgb3RoZXJ3aXNlCj4+PiBqdXN0IGZhbGxiYWNrIHRvIE1BWF9PUkRFUiAtIDEgYXMg YmVmb3JlLiBXaGlsZSBoZXJlIGl0IGFsc28gZml4ZXMgYSBidWlsZAo+Pj4gcHJvYmxlbSB2aWEg dHlwZSBjYXN0aW5nIE1BWF9PUkRFUiBpbiBybWVtX2NtYV9zZXR1cCgpLgo+Pgo+PiBJJ20gd29u ZGVyaW5nLCBpcyB0aGVyZSBhbnkgcmVhbCB2YWx1ZSBpbiBhbGxvd2luZyBGT1JDRV9NQVhfWk9O RU9SREVSIHRvIGJlICIxMSIgd2l0aCBBUk02NF82NEtfUEFHRVMvQVJNNjRfMTZLX1BBR0VTPwo+ IAo+IE1BWF9PUkRFUiBzaG91bGQgYmUgYXMgaGlnaCBhcyB3b3VsZCBiZSByZXF1aXJlZCBmb3Ig dGhlIGN1cnJlbnQgY29uZmlnLgo+IFVubGVzcyBUSFAgaXMgZW5hYmxlZCwgdGhlcmUgaXMgbm8g bmVlZCBmb3IgaXQgdG8gYmUgYW55IGhpZ2hlciB0aGFuIDExLgo+IEJ1dCBJIG1pZ2h0IGJlIG1p c3NpbmcgaGlzdG9yaWNhbCByZWFzb25zIGFyb3VuZCB0aGlzIGFzIHdlbGwuIFByb2JhYmx5Cj4g b3RoZXJzIGZyb20gYXJtNjQgY291bGQgaGVscCBoZXJlLgoKVGhlb3JldGljYWxseSB5ZXMsIHBy YWN0aWNhbGx5IG5vLiBJZiBub2JvZHkgY2FyZXMgYWJvdXQgYSAKY29uZmlndXJhdGlvbiwgbm8g bmVlZCB0byBtYWtlIHRoZSBjb2RlIG1vcmUgY29tcGxpY2F0ZWQgZm9yIHRoYXQgCmNvbmZpZ3Vy YXRpb24uCgo+IAo+Pgo+PiBNZWFuaW5nOiBhcmUgdGhlcmUgYW55IHJlYWwgdXNlIGNhc2VzIHRo YXQgYWN0dWFsbHkgYnVpbGQgYSBrZXJuZWwgd2l0aG91dCBUUkFOU1BBUkVOVF9IVUdFUEFHRSBh bmQgd2l0aCBBUk02NF82NEtfUEFHRVMvQVJNNjRfMTZLX1BBR0VTPwo+IAo+IFRIUCBpcyBhbHdh eXMgb3B0aW9uYWwuIEJlc2lkZXMga2VybmVsIGJ1aWxkcyB3aXRob3V0IFRIUCBzaG91bGQgYWx3 YXlzCj4gYmUgc3VwcG9ydGVkLiBBc3N1bWluZyB0aGF0IGFsbCBidWlsZHMgd2lsbCBoYXZlIFRI UCBlbmFibGVkLCBtaWdodCBub3QKPiBiZSBhY2N1cmF0ZS4KPiAKPj4KPj4gQXMgYnVpbGRzIGFy ZSBlc3NlbnRpYWxseSBicm9rZW4sIEkgYXNzdW1lIHRoaXMgaXMgbm90IHRoYXQgcmVsZXZhbnQ/ IE9yIGhvdyBsb25nIGhhcyBpdCBiZWVuIGJyb2tlbj8KPiAKPiBHaXQgYmxhbWUgc2hvd3MgdGhh dCBpdCdzIGJlZW4gdGhlcmUgZm9yIHNvbWUgdGltZSBub3cuIEJ1dCBob3cgZG9lcwo+IHRoYXQg bWFrZSB0aGlzIGlycmVsZXZhbnQgPyBBIHByb2JsZW0gc2hvdWxkIGJlIGZpeGVkIG5vbmV0aGVs ZXNzLgoKV2hlbiBleGFjdGx5IGRpZCBJIHNheSBub3QgdG8gZml4IGl0PyBJJ20gc2F5aW5nIGlm IG5vYm9keSB1c2VzIGl0LCB3ZSAKbWlnaHQgYmUgYWJsZSB0byBzaW1wbGlmeS4KCj4gCj4+Cj4+ IEl0IG1pZ2h0IGJlIGVhc2llciB0byBqdXN0IGRyb3AgdGhlICJUUkFOU1BBUkVOVF9IVUdFUEFH RSIgcGFydCBmcm9tIHRoZSBGT1JDRV9NQVhfWk9ORU9SREVSIGNvbmZpZy4KPj4KPiAKPiBOb3Qg c3VyZSBpZiBpdCB3b3VsZCBiZSBhIGdvb2QgaWRlYSB0byB1bm5lY2Vzc2FyaWx5IGhhdmUgbGFy Z2VyIE1BWF9PUkRFUgo+IHZhbHVlIGZvciBhIGdpdmVuIGNvbmZpZy4gQnV0IEkgbWlnaHQgYmUg bWlzc2luZyBvdGhlciBjb250ZXh0cyBoZXJlLgoKTXkgcG9pbnQgaXM6IGtlZXAgaXQgc2ltcGxl IGlmIHRoZXJlIGlzIG5vIG5lZWQgdG8gbWFrZSBpdCBjb21wbGljYXRlZC4gCklmIHRoZXNlIGFy bTY0IHZhcmlhbnRzIGFyZSB0aGUgb25seSBjYXNlcyB3aGVyZSB3ZSBydW4gaW50byB0aGF0IGlz c3VlIAphbmQgbm9ib2R5IHVzZXMgdGhlbSAoImhhdCBpdCdzIGJlZW4gdGhlcmUgZm9yIHNvbWUg dGltZSBub3ciKSwgd2h5IG1ha2UgCnN0dWZmIGNvbXBsaWNhdGVkPwoKVGhlIGN1cnJlbnQgY29k ZSBzZWVtcyB0byBhc3N1bWUgdGhhdCBIVUdFVExCX1BBR0VfT1JERVIgPD0gTUFYX09SREVSLiAK SW5zdGVhZCBvZiBjaGFuZ2luZyB0aGF0IGZvciBvcHRpbWl6aW5nIGFuIHVudXNlZCB1c2UgY2Fz ZSAoaXQgaXMgCmJyb2tlbiksIGp1c3Qgc2ltcGxpZnkgdGhlIGFybTY0IGNvbmRpdGlvbnMuIEkn ZCBldmVuIHNheSBhZGQgYQoKLyoKICAqIFNvbWUgY29kZSBhc3N1bWVzIHRoYXQgSFVHRVRMQl9Q QUdFX09SREVSIDw9IE1BWF9PUkRFUi4gRm9yIG5vdywgb25seQogICogIVRSQU5TUEFSRU5UX0hV R0VQQUdFIGNvdWxkIGxlYWQgaW4gYXJjaHMgY3JlYXRpbmcgc3VjaCBzZXR1cHMuCiAgKiBGb3Ji aWQgaXQgZm9yIG5vdzsgYW55Ym9keSB0aGF0IGhhcyBhIHZhbGlkIHVzZSBjYXNlIGhhcyB0byBz YW5pdGl6ZQogICogdGhlIGNvZGUuCiAgKi8KQlVJTERfQlVHX09OKEhVR0VUTEJfUEFHRV9PUkRF UiA8PSBNQVhfT1JERVIpOwoKCkJ1dCBhZ2FpbiwgaWYgdGhlcmUgYXJlIHZhbGlkIHVzZSBjYXNl cyB0aGVuIHN1cmUsIGxldCdzIG1ha2UgdGhlIGNvZGUgCmZ1bGx5IGNvbXBhdGlibGUgd2l0aCBI VUdFVExCX1BBR0VfT1JERVIgPiBNQVhfT1JERVIuCgoKQlRXOiBjYW4gd2UgYmUgc3VyZSB0aGF0 IHlvdSBjYXVnaHQgYWxsIGlzc3Vlcz8gRm9yIGV4YW1wbGU6CgojZGVmaW5lIENPTVBBQ1RJT05f SFBBR0VfT1JERVIgIEhVR0VUTEJfUEFHRV9PUkRFUgoKSSdtIG5vdCBzdXJlIGlmIGl0IHdpbGwg d29yayBhcyBleHBlY3RlZCBpZiBIVUdFVExCX1BBR0VfT1JERVIgPiAKTUFYX09SREVSIC4uLiBm aWxsX2NvbnRpZ19wYWdlX2luZm8oKSB3aWxsIG5ldmVyIGZpbmQgYW55IHN1aXRhYmxlIGZyZWUg CmJsb2NrcyAuLi4KCi0tIApUaGFua3MsCgpEYXZpZCAvIGRoaWxkZW5iCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppb21tdSBtYWlsaW5nIGxpc3QKaW9t bXVAbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRp b24ub3JnL21haWxtYW4vbGlzdGluZm8vaW9tbXU= 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=-5.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no 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 AD3BBC433DB for ; Fri, 12 Feb 2021 09:40:57 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 5E14F64E35 for ; Fri, 12 Feb 2021 09:40:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5E14F64E35 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:Subject: From:References:To:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=b8XcLa1cucv5X3z3Xz/gT3IbohwnT/0BrwTh9OhcZhs=; b=vwnzu5FbIATZ7CQVXodgvevX2 Vv91jLczfIZmeZ5509GxFHip36zOd2kEAuZ0hz0dQ4VXGg/kPlwp11lOF9kqZKJNxgXu9z0875Cqv nbaDI6mRmryRmfSzUnDAJUPMiKuHVjtkGw3raHJPdC9FjTgTthMcvLbCdzgsR6DCcSl2uc94eYl91 LJCH6lQ4I+ObK/MmnvKdhtiNQPQzrCazSqRHC+NQQxheYrwt96K3TsUqx//t35Jiob90zXn+Fg/Ja PH38PHHOghYGaOvLnEz/UsF031YfaO/CT9CrDpUzIeD0+0zuVeOmJjptqi4IclA/oCZh8bdJOw/H/ OS41NdwaQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lAUvY-0003vO-FC; Fri, 12 Feb 2021 09:39:52 +0000 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lAUvU-0003uH-BF for linux-arm-kernel@lists.infradead.org; Fri, 12 Feb 2021 09:39:50 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1613122787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VJIh+57vZZX62sUHqf9Qg0OO0KLGj7Jhm7EDFFjgYrE=; b=SRv2qTxFeB8o4Z+SkfflIrTC8KmhdGUhM7Q14Qw5ijWLCC0prb2KBUgIGawGC3XwfwxRQ/ 6bzTupUBbGY44D9L09Qx6i9rYv5aK2mbcPNsplNbbFbeAPXyJadV2NFybloUIyHPArlsss AGBglVoTgRDRfJSEgiQVAHSPaomSqPk= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-574-s08ifoYOOVywTnddxRfoeQ-1; Fri, 12 Feb 2021 04:39:45 -0500 X-MC-Unique: s08ifoYOOVywTnddxRfoeQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 185691936B66; Fri, 12 Feb 2021 09:39:44 +0000 (UTC) Received: from [10.36.114.178] (ovpn-114-178.ams2.redhat.com [10.36.114.178]) by smtp.corp.redhat.com (Postfix) with ESMTP id 298E65D74A; Fri, 12 Feb 2021 09:39:41 +0000 (UTC) To: Anshuman Khandual , linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, catalin.marinas@arm.com, akpm@linux-foundation.org, will@kernel.org References: <1613024531-19040-1-git-send-email-anshuman.khandual@arm.com> <683c812a-ce3d-ef74-10d1-eaf8a3ae93d4@redhat.com> From: David Hildenbrand Organization: Red Hat GmbH Subject: Re: [PATCH 0/3] mm/page_alloc: Fix pageblock_order with HUGETLB_PAGE_SIZE_VARIABLE Message-ID: Date: Fri, 12 Feb 2021 10:39:40 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210212_043948_450920_6F637565 X-CRM114-Status: GOOD ( 29.95 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, Robin Murphy , Christoph Hellwig , Marek Szyprowski Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTIuMDIuMjEgMDg6MDIsIEFuc2h1bWFuIEtoYW5kdWFsIHdyb3RlOgo+IAo+IE9uIDIvMTEv MjEgMjowNyBQTSwgRGF2aWQgSGlsZGVuYnJhbmQgd3JvdGU6Cj4+IE9uIDExLjAyLjIxIDA3OjIy LCBBbnNodW1hbiBLaGFuZHVhbCB3cm90ZToKPj4+IFRoZSBmb2xsb3dpbmcgd2FybmluZyBnZXRz IHRyaWdnZXJlZCB3aGlsZSB0cnlpbmcgdG8gYm9vdCBhIDY0SyBwYWdlIHNpemUKPj4+IHdpdGhv dXQgVEhQIGNvbmZpZyBrZXJuZWwgb24gYXJtNjQgcGxhdGZvcm0uCj4+Pgo+Pj4gV0FSTklORzog Q1BVOiA1IFBJRDogMTI0IGF0IG1tL3Ztc3RhdC5jOjEwODAgX19mcmFnbWVudGF0aW9uX2luZGV4 KzB4YTQvMHhjMAo+Pj4gTW9kdWxlcyBsaW5rZWQgaW46Cj4+PiBDUFU6IDUgUElEOiAxMjQgQ29t bToga3N3YXBkMCBOb3QgdGFpbnRlZCA1LjExLjAtcmM2LTAwMDA0LWdhMGVhN2Q2MjAwMiAjMTU5 Cj4+PiBIYXJkd2FyZSBuYW1lOiBsaW51eCxkdW1teS12aXJ0IChEVCkKPj4+IFvCoMKgwqAgOC44 MTA2NzNdIHBzdGF0ZTogMjA0MDAwMDUgKG56Q3YgZGFpZiArUEFOIC1VQU8gLVRDTyBCVFlQRT0t LSkKPj4+IFvCoMKgwqAgOC44MTE3MzJdIHBjIDogX19mcmFnbWVudGF0aW9uX2luZGV4KzB4YTQv MHhjMAo+Pj4gW8KgwqDCoCA4LjgxMjU1NV0gbHIgOiBmcmFnbWVudGF0aW9uX2luZGV4KzB4Zjgv MHgxMzgKPj4+IFvCoMKgwqAgOC44MTMzNjBdIHNwIDogZmZmZjAwMDA4NjQwNzliMAo+Pj4gW8Kg wqDCoCA4LjgxMzk1OF0geDI5OiBmZmZmMDAwMDg2NDA3OWIwIHgyODogMDAwMDAwMDAwMDAwMDM3 Mgo+Pj4gW8KgwqDCoCA4LjgxNDkwMV0geDI3OiAwMDAwMDAwMDAwMDA3NjgyIHgyNjogZmZmZjgw MDAxMzViMzk0OAo+Pj4gW8KgwqDCoCA4LjgxNTg0N10geDI1OiAxZmZmZTAwMDEwYzgwZjQ4IHgy NDogMDAwMDAwMDAwMDAwMDAwMAo+Pj4gW8KgwqDCoCA4LjgxNjgwNV0geDIzOiAwMDAwMDAwMDAw MDAwMDAwIHgyMjogMDAwMDAwMDAwMDAwMDAwZAo+Pj4gW8KgwqDCoCA4LjgxNzc2NF0geDIxOiAw MDAwMDAwMDAwMDAwMDMwIHgyMDogZmZmZjAwMDVmZmNiNGQ1OAo+Pj4gW8KgwqDCoCA4LjgxODcx Ml0geDE5OiAwMDAwMDAwMDAwMDAwMDBiIHgxODogMDAwMDAwMDAwMDAwMDAwMAo+Pj4gW8KgwqDC oCA4LjgxOTY1Nl0geDE3OiAwMDAwMDAwMDAwMDAwMDAwIHgxNjogMDAwMDAwMDAwMDAwMDAwMAo+ Pj4gW8KgwqDCoCA4LjgyMDYxM10geDE1OiAwMDAwMDAwMDAwMDAwMDAwIHgxNDogZmZmZjgwMDAx MTRjNjI1OAo+Pj4gW8KgwqDCoCA4LjgyMTU2MF0geDEzOiBmZmZmNjAwMGJmZjk2OWJhIHgxMjog MWZmZmUwMDBiZmY5NjliOQo+Pj4gW8KgwqDCoCA4LjgyMjUxNF0geDExOiAxZmZmZTAwMGJmZjk2 OWI5IHgxMDogZmZmZjYwMDBiZmY5NjliOQo+Pj4gW8KgwqDCoCA4LjgyMzQ2MV0geDkgOiBkZmZm ODAwMDAwMDAwMDAwIHg4IDogZmZmZjAwMDVmZmNiNGRjZgo+Pj4gW8KgwqDCoCA4LjgyNDQxNV0g eDcgOiAwMDAwMDAwMDAwMDAwMDAxIHg2IDogMDAwMDAwMDA0MWI1OGFiMwo+Pj4gW8KgwqDCoCA4 LjgyNTM1OV0geDUgOiBmZmZmNjAwMDEwYzgwZjQ4IHg0IDogZGZmZjgwMDAwMDAwMDAwMAo+Pj4g W8KgwqDCoCA4LjgyNjMxM10geDMgOiBmZmZmODAwMDEwMmJlNjcwIHgyIDogMDAwMDAwMDAwMDAw MDAwNwo+Pj4gW8KgwqDCoCA4LjgyNzI1OV0geDEgOiBmZmZmMDAwMDg2NDA3YTYwIHgwIDogMDAw MDAwMDAwMDAwMDAwZAo+Pj4gW8KgwqDCoCA4LjgyODIxOF0gQ2FsbCB0cmFjZToKPj4+IFvCoMKg wqAgOC44Mjg2NjddwqAgX19mcmFnbWVudGF0aW9uX2luZGV4KzB4YTQvMHhjMAo+Pj4gW8KgwqDC oCA4LjgyOTQzNl3CoCBmcmFnbWVudGF0aW9uX2luZGV4KzB4ZjgvMHgxMzgKPj4+IFvCoMKgwqAg OC44MzAxOTRdwqAgY29tcGFjdGlvbl9zdWl0YWJsZSsweDk4LzB4YjgKPj4+IFvCoMKgwqAgOC44 MzA5MzRdwqAgd2FrZXVwX2tjb21wYWN0ZCsweGRjLzB4MTI4Cj4+PiBbwqDCoMKgIDguODMxNjQw XcKgIGJhbGFuY2VfcGdkYXQrMHg3MWMvMHg3YTAKPj4+IFvCoMKgwqAgOC44MzIzMjddwqAga3N3 YXBkKzB4MzFjLzB4NTIwCj4+PiBbwqDCoMKgIDguODMyOTAyXcKgIGt0aHJlYWQrMHgyMjQvMHgy MzAKPj4+IFvCoMKgwqAgOC44MzM0OTFdwqAgcmV0X2Zyb21fZm9yaysweDEwLzB4MzAKPj4+IFvC oMKgwqAgOC44MzQxNTBdIC0tLVsgZW5kIHRyYWNlIDQ3MjgzNmY3OWMxNTUxNmIgXS0tLQo+Pj4K Pj4+IFRoaXMgd2FybmluZyBjb21lcyBmcm9tIF9fZnJhZ21lbnRhdGlvbl9pbmRleCgpIHdoZW4g dGhlIHJlcXVlc3RlZCBvcmRlcgo+Pj4gaXMgZ3JlYXRlciB0aGFuIE1BWF9PUkRFUi4KPj4+Cj4+ PiBzdGF0aWMgaW50IF9fZnJhZ21lbnRhdGlvbl9pbmRleCh1bnNpZ25lZCBpbnQgb3JkZXIsCj4+ PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGNvbnRpZ19wYWdlX2lu Zm8gKmluZm8pCj4+PiB7Cj4+PiAgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBsb25nIHJlcXVl c3RlZCA9IDFVTCA8PCBvcmRlcjsKPj4+Cj4+PiAgwqDCoMKgwqDCoMKgwqDCoCBpZiAoV0FSTl9P Tl9PTkNFKG9yZGVyID49IE1BWF9PUkRFUikpIDw9PT09PSBUcmlnZ2VyZWQgaGVyZQo+Pj4gIMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAwOwo+Pj4KPj4+IERpZ2dpbmcg aXQgZnVydGhlciByZXZlYWxzIHRoYXQgcGFnZWJsb2NrX29yZGVyIGhhcyBiZWVuIGFzc2lnbmVk IGEgdmFsdWUKPj4+IHdoaWNoIGlzIGdyZWF0ZXIgdGhhbiBNQVhfT1JERVIgZmFpbGluZyB0aGUg YWJvdmUgY2hlY2suIEJ1dCB3aHkgdGhpcwo+Pj4gaGFwcGVuZWQgPyBCZWNhdXNlIEhVR0VUTEJf UEFHRV9PUkRFUiBmb3IgdGhlIGdpdmVuIGNvbmZpZyBvbiBhcm02NCBpcwo+Pj4gZ3JlYXRlciB0 aGFuIE1BWF9PUkRFUi4KPj4+Cj4+PiBUaGUgc29sdXRpb24gaW52b2x2ZXMgZW5hYmxpbmcgSFVH RVRMQl9QQUdFX1NJWkVfVkFSSUFCTEUgd2hpY2ggd291bGQgbWFrZQo+Pj4gcGFnZWJsb2NrX29y ZGVyIGEgdmFyaWFibGUgaW5zdGVhZCBvZiBjb25zdGFudCBIVUdFVExCX1BBR0VfT1JERVIuIEJ1 dCB0aGF0Cj4+PiBjaGFuZ2UgYWxvbmUgYWxzbyBkaWQgbm90IHJlYWxseSB3b3JrIGFzIHBhZ2Vi bG9ja19vcmRlciBzdGlsbCBnb3QgYXNzaWduZWQKPj4+IGFzIEhVR0VUTEJfUEFHRV9PUkRFUiBp biBzZXRfcGFnZWJsb2NrX29yZGVyKCkuIEhVR0VUTEJfUEFHRV9PUkRFUiBuZWVkcyB0bwo+Pj4g YmUgbGVzcyB0aGFuIE1BWF9PUkRFUiBmb3IgaXRzIGFwcHJvcHJpYXRlbmVzcyBhcyBwYWdlYmxv Y2tfb3JkZXIgb3RoZXJ3aXNlCj4+PiBqdXN0IGZhbGxiYWNrIHRvIE1BWF9PUkRFUiAtIDEgYXMg YmVmb3JlLiBXaGlsZSBoZXJlIGl0IGFsc28gZml4ZXMgYSBidWlsZAo+Pj4gcHJvYmxlbSB2aWEg dHlwZSBjYXN0aW5nIE1BWF9PUkRFUiBpbiBybWVtX2NtYV9zZXR1cCgpLgo+Pgo+PiBJJ20gd29u ZGVyaW5nLCBpcyB0aGVyZSBhbnkgcmVhbCB2YWx1ZSBpbiBhbGxvd2luZyBGT1JDRV9NQVhfWk9O RU9SREVSIHRvIGJlICIxMSIgd2l0aCBBUk02NF82NEtfUEFHRVMvQVJNNjRfMTZLX1BBR0VTPwo+ IAo+IE1BWF9PUkRFUiBzaG91bGQgYmUgYXMgaGlnaCBhcyB3b3VsZCBiZSByZXF1aXJlZCBmb3Ig dGhlIGN1cnJlbnQgY29uZmlnLgo+IFVubGVzcyBUSFAgaXMgZW5hYmxlZCwgdGhlcmUgaXMgbm8g bmVlZCBmb3IgaXQgdG8gYmUgYW55IGhpZ2hlciB0aGFuIDExLgo+IEJ1dCBJIG1pZ2h0IGJlIG1p c3NpbmcgaGlzdG9yaWNhbCByZWFzb25zIGFyb3VuZCB0aGlzIGFzIHdlbGwuIFByb2JhYmx5Cj4g b3RoZXJzIGZyb20gYXJtNjQgY291bGQgaGVscCBoZXJlLgoKVGhlb3JldGljYWxseSB5ZXMsIHBy YWN0aWNhbGx5IG5vLiBJZiBub2JvZHkgY2FyZXMgYWJvdXQgYSAKY29uZmlndXJhdGlvbiwgbm8g bmVlZCB0byBtYWtlIHRoZSBjb2RlIG1vcmUgY29tcGxpY2F0ZWQgZm9yIHRoYXQgCmNvbmZpZ3Vy YXRpb24uCgo+IAo+Pgo+PiBNZWFuaW5nOiBhcmUgdGhlcmUgYW55IHJlYWwgdXNlIGNhc2VzIHRo YXQgYWN0dWFsbHkgYnVpbGQgYSBrZXJuZWwgd2l0aG91dCBUUkFOU1BBUkVOVF9IVUdFUEFHRSBh bmQgd2l0aCBBUk02NF82NEtfUEFHRVMvQVJNNjRfMTZLX1BBR0VTPwo+IAo+IFRIUCBpcyBhbHdh eXMgb3B0aW9uYWwuIEJlc2lkZXMga2VybmVsIGJ1aWxkcyB3aXRob3V0IFRIUCBzaG91bGQgYWx3 YXlzCj4gYmUgc3VwcG9ydGVkLiBBc3N1bWluZyB0aGF0IGFsbCBidWlsZHMgd2lsbCBoYXZlIFRI UCBlbmFibGVkLCBtaWdodCBub3QKPiBiZSBhY2N1cmF0ZS4KPiAKPj4KPj4gQXMgYnVpbGRzIGFy ZSBlc3NlbnRpYWxseSBicm9rZW4sIEkgYXNzdW1lIHRoaXMgaXMgbm90IHRoYXQgcmVsZXZhbnQ/ IE9yIGhvdyBsb25nIGhhcyBpdCBiZWVuIGJyb2tlbj8KPiAKPiBHaXQgYmxhbWUgc2hvd3MgdGhh dCBpdCdzIGJlZW4gdGhlcmUgZm9yIHNvbWUgdGltZSBub3cuIEJ1dCBob3cgZG9lcwo+IHRoYXQg bWFrZSB0aGlzIGlycmVsZXZhbnQgPyBBIHByb2JsZW0gc2hvdWxkIGJlIGZpeGVkIG5vbmV0aGVs ZXNzLgoKV2hlbiBleGFjdGx5IGRpZCBJIHNheSBub3QgdG8gZml4IGl0PyBJJ20gc2F5aW5nIGlm IG5vYm9keSB1c2VzIGl0LCB3ZSAKbWlnaHQgYmUgYWJsZSB0byBzaW1wbGlmeS4KCj4gCj4+Cj4+ IEl0IG1pZ2h0IGJlIGVhc2llciB0byBqdXN0IGRyb3AgdGhlICJUUkFOU1BBUkVOVF9IVUdFUEFH RSIgcGFydCBmcm9tIHRoZSBGT1JDRV9NQVhfWk9ORU9SREVSIGNvbmZpZy4KPj4KPiAKPiBOb3Qg c3VyZSBpZiBpdCB3b3VsZCBiZSBhIGdvb2QgaWRlYSB0byB1bm5lY2Vzc2FyaWx5IGhhdmUgbGFy Z2VyIE1BWF9PUkRFUgo+IHZhbHVlIGZvciBhIGdpdmVuIGNvbmZpZy4gQnV0IEkgbWlnaHQgYmUg bWlzc2luZyBvdGhlciBjb250ZXh0cyBoZXJlLgoKTXkgcG9pbnQgaXM6IGtlZXAgaXQgc2ltcGxl IGlmIHRoZXJlIGlzIG5vIG5lZWQgdG8gbWFrZSBpdCBjb21wbGljYXRlZC4gCklmIHRoZXNlIGFy bTY0IHZhcmlhbnRzIGFyZSB0aGUgb25seSBjYXNlcyB3aGVyZSB3ZSBydW4gaW50byB0aGF0IGlz c3VlIAphbmQgbm9ib2R5IHVzZXMgdGhlbSAoImhhdCBpdCdzIGJlZW4gdGhlcmUgZm9yIHNvbWUg dGltZSBub3ciKSwgd2h5IG1ha2UgCnN0dWZmIGNvbXBsaWNhdGVkPwoKVGhlIGN1cnJlbnQgY29k ZSBzZWVtcyB0byBhc3N1bWUgdGhhdCBIVUdFVExCX1BBR0VfT1JERVIgPD0gTUFYX09SREVSLiAK SW5zdGVhZCBvZiBjaGFuZ2luZyB0aGF0IGZvciBvcHRpbWl6aW5nIGFuIHVudXNlZCB1c2UgY2Fz ZSAoaXQgaXMgCmJyb2tlbiksIGp1c3Qgc2ltcGxpZnkgdGhlIGFybTY0IGNvbmRpdGlvbnMuIEkn ZCBldmVuIHNheSBhZGQgYQoKLyoKICAqIFNvbWUgY29kZSBhc3N1bWVzIHRoYXQgSFVHRVRMQl9Q QUdFX09SREVSIDw9IE1BWF9PUkRFUi4gRm9yIG5vdywgb25seQogICogIVRSQU5TUEFSRU5UX0hV R0VQQUdFIGNvdWxkIGxlYWQgaW4gYXJjaHMgY3JlYXRpbmcgc3VjaCBzZXR1cHMuCiAgKiBGb3Ji aWQgaXQgZm9yIG5vdzsgYW55Ym9keSB0aGF0IGhhcyBhIHZhbGlkIHVzZSBjYXNlIGhhcyB0byBz YW5pdGl6ZQogICogdGhlIGNvZGUuCiAgKi8KQlVJTERfQlVHX09OKEhVR0VUTEJfUEFHRV9PUkRF UiA8PSBNQVhfT1JERVIpOwoKCkJ1dCBhZ2FpbiwgaWYgdGhlcmUgYXJlIHZhbGlkIHVzZSBjYXNl cyB0aGVuIHN1cmUsIGxldCdzIG1ha2UgdGhlIGNvZGUgCmZ1bGx5IGNvbXBhdGlibGUgd2l0aCBI VUdFVExCX1BBR0VfT1JERVIgPiBNQVhfT1JERVIuCgoKQlRXOiBjYW4gd2UgYmUgc3VyZSB0aGF0 IHlvdSBjYXVnaHQgYWxsIGlzc3Vlcz8gRm9yIGV4YW1wbGU6CgojZGVmaW5lIENPTVBBQ1RJT05f SFBBR0VfT1JERVIgIEhVR0VUTEJfUEFHRV9PUkRFUgoKSSdtIG5vdCBzdXJlIGlmIGl0IHdpbGwg d29yayBhcyBleHBlY3RlZCBpZiBIVUdFVExCX1BBR0VfT1JERVIgPiAKTUFYX09SREVSIC4uLiBm aWxsX2NvbnRpZ19wYWdlX2luZm8oKSB3aWxsIG5ldmVyIGZpbmQgYW55IHN1aXRhYmxlIGZyZWUg CmJsb2NrcyAuLi4KCi0tIApUaGFua3MsCgpEYXZpZCAvIGRoaWxkZW5iCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=