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 7DFA9C00140 for ; Mon, 15 Aug 2022 07:16:49 +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:From:Subject:References: Mime-Version:Message-Id:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=td2H6cU5UC0NtlAlqF1hbmInvwWUgZzRcbWuynwRFjw=; b=y/NTlBwqexv0nCYOQFzNxAU9pc sg5pcLOv5OSVozEKPjwXhZ6yZU6DXYFSAc9BpcR/E5Fzh47x4Xx7YYjafpqK5btM4qHSU2x6gqym4 EtEUlFDjsFFjMAFBhe+M2syKVu+/hRtfMsglqnngndcRysZOmQoZzM8yWPsj9VewXkTefhRAUV7tU KV2+d4qxz/2XFh8QW2ysa6Sqvz5CgcSZ+YQI6xC7fNTxMQM20zlG7kFFDUK9NXanTH40sf7fIUCV2 K+fdoUtixXS7hMLDo2shOIB8gDQqbJ77pYM7yk3ZyCyYoKzCvw/5SJ7OdJ9YP4WAnyxVIf6j4z9bB 6EqOijrw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oNUJz-00COPw-1M; Mon, 15 Aug 2022 07:15:36 +0000 Received: from mail-yb1-xb4a.google.com ([2607:f8b0:4864:20::b4a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oNUIu-00CNcN-7O for linux-arm-kernel@lists.infradead.org; Mon, 15 Aug 2022 07:14:30 +0000 Received: by mail-yb1-xb4a.google.com with SMTP id x19-20020a25e013000000b0067c0cedc96bso5447503ybg.21 for ; Mon, 15 Aug 2022 00:14:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=content-transfer-encoding:cc:to:from:subject:references :mime-version:message-id:in-reply-to:date:from:to:cc; bh=5eUro1Ys65PlYEqsgNKi16f/oPtNjC98bqZv1yckg04=; b=EB8amhRSjr6akZtRJpJd3EbVK5+m7OZimLU3f1TX6110F1KqnW4WpnJt8XFow2IRTP ZblIfviXz3UrCUCTrYg8On2uNDBjJtniWRX9QYBRMli1hFiVLZAFh4YA+S05Qi39c0xT Dzyv9cBuHv3M3cs9EPK2CtKrtnT9L9flJv91JwQv6yjUmMNFsc1BxLVGdxgalAJNNa4U ldMrM1RlDpTthS9li0XcUfSpz/6FwY1aPtZVbwsG8YI4+2wHqpjOUZ8BFUBdnGxyij4I QkOgsdGdwTSfzBuS31n/8w9gh5PpaY3vWxvDvWrjMIivtuWaExuM/ADamWAlrYjHYE5x nujQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:from:subject:references :mime-version:message-id:in-reply-to:date:x-gm-message-state:from:to :cc; bh=5eUro1Ys65PlYEqsgNKi16f/oPtNjC98bqZv1yckg04=; b=lgmrOpIrN8B7mQYPuNNP+PPJVVQDW0kO4p1SpfkRyhdFgOg9OTIGK3e0ik/avSuVjH wF2+xLyaSSzbCPhArwkIlNSARXO72wwYT8LOlAomuizHfcYYIEpuKgSs/lc0NQr6sOD/ +IbC/XLrxGkytujlCqVGY1u4rW7nM09WDpsEu6xdHItDgQYLiBV4Wbde92vI/0Qgih4+ YNbMwRKHPj4I52NG30R1ysQyFo/yL9NMDFJ5mkiIzrU/nKM/n2332V3KJprIziLSt4AL 3ExHDd3Pp78/GOJe4233x7b9PZTIbwCJpaw06u40at6NQNjFmR4CEiDXs7ECD6MivMgW Eerw== X-Gm-Message-State: ACgBeo09DBjCNbK/pjObfDMSzt7zVu3lAHwRzMZ4SB1FUZtpn79T1xDK FSgaJpotEUFIRKEMcViWkLicyhXrUHg= X-Google-Smtp-Source: AA6agR669YNMXgcKgGcmGvzMJKETmvy/CAH14Ch6T2S9fJbFuil9iZjGHFjOhKoiLRsskelSJ4q76RDP/iM= X-Received: from yuzhao.bld.corp.google.com ([2620:15c:183:200:d91:5887:ac93:ddf0]) (user=yuzhao job=sendgmr) by 2002:a81:1206:0:b0:32f:ecac:f0f with SMTP id 6-20020a811206000000b0032fecac0f0fmr5286066yws.495.1660547666940; Mon, 15 Aug 2022 00:14:26 -0700 (PDT) Date: Mon, 15 Aug 2022 01:13:28 -0600 In-Reply-To: <20220815071332.627393-1-yuzhao@google.com> Message-Id: <20220815071332.627393-10-yuzhao@google.com> Mime-Version: 1.0 References: <20220815071332.627393-1-yuzhao@google.com> X-Mailer: git-send-email 2.37.1.595.g718a3a8f04-goog Subject: [PATCH v14 09/14] mm: multi-gen LRU: optimize multiple memcgs From: Yu Zhao To: Andrew Morton Cc: Andi Kleen , Aneesh Kumar , Catalin Marinas , Dave Hansen , Hillf Danton , Jens Axboe , Johannes Weiner , Jonathan Corbet , Linus Torvalds , Matthew Wilcox , Mel Gorman , Michael Larabel , Michal Hocko , Mike Rapoport , Peter Zijlstra , Tejun Heo , Vlastimil Babka , Will Deacon , linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, page-reclaim@google.com, Yu Zhao , Brian Geffon , Jan Alexander Steffens , Oleksandr Natalenko , Steven Barrett , Suleiman Souhlal , Daniel Byrne , Donald Carr , "=?UTF-8?q?Holger=20Hoffst=C3=A4tte?=" , Konstantin Kharlamov , Shuang Zhai , Sofia Trinh , Vaibhav Jain X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220815_001428_391070_C00B1122 X-CRM114-Status: GOOD ( 20.99 ) 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 V2hlbiBtdWx0aXBsZSBtZW1jZ3MgYXJlIGF2YWlsYWJsZSwgaXQgaXMgcG9zc2libGUgdG8gbWFr ZSBiZXR0ZXIKY2hvaWNlcyBiYXNlZCBvbiBnZW5lcmF0aW9ucyBhbmQgdGllcnMgYW5kIHRoZXJl Zm9yZSBpbXByb3ZlIHRoZQpvdmVyYWxsIHBlcmZvcm1hbmNlIHVuZGVyIGdsb2JhbCBtZW1vcnkg cHJlc3N1cmUuIFRoaXMgcGF0Y2ggYWRkcyBhCnJ1ZGltZW50YXJ5IG9wdGltaXphdGlvbiB0byBz ZWxlY3QgbWVtY2dzIHRoYXQgY2FuIGRyb3Agc2luZ2xlLXVzZQp1bm1hcHBlZCBjbGVhbiBwYWdl cyBmaXJzdC4gRG9pbmcgc28gcmVkdWNlcyB0aGUgY2hhbmNlIG9mIGdvaW5nIGludG8KdGhlIGFn aW5nIHBhdGggb3Igc3dhcHBpbmcuIFRoZXNlIHR3byBkZWNpc2lvbnMgY2FuIGJlIGNvc3RseS4K CkEgdHlwaWNhbCBleGFtcGxlIHRoYXQgYmVuZWZpdHMgZnJvbSB0aGlzIG9wdGltaXphdGlvbiBp cyBhIHNlcnZlcgpydW5uaW5nIG1peGVkIHR5cGVzIG9mIHdvcmtsb2FkcywgZS5nLiwgaGVhdnkg YW5vbiB3b3JrbG9hZCBpbiBvbmUKbWVtY2cgYW5kIGhlYXZ5IGJ1ZmZlcmVkIEkvTyB3b3JrbG9h ZCBpbiB0aGUgb3RoZXIuCgpUaG91Z2ggdGhpcyBvcHRpbWl6YXRpb24gY2FuIGJlIGFwcGxpZWQg dG8gYm90aCBrc3dhcGQgYW5kIGRpcmVjdApyZWNsYWltLCBpdCBpcyBvbmx5IGFkZGVkIHRvIGtz d2FwZCB0byBrZWVwIHRoZSBwYXRjaHNldCBtYW5hZ2VhYmxlLgpMYXRlciBpbXByb3ZlbWVudHMg d2lsbCBjb3ZlciB0aGUgZGlyZWN0IHJlY2xhaW0gcGF0aC4KClNlcnZlciBiZW5jaG1hcmsgcmVz dWx0czoKICBNaXhlZCB3b3JrbG9hZHM6CiAgICBmaW8gKGJ1ZmZlcmVkIEkvTyk6ICtbMTksIDIx XSUKICAgICAgICAgICAgICAgIElPUFMgICAgICAgICBCVwogICAgICBwYXRjaDEtODogMTg4MGsg ICAgICAgIDczNDNNaUIvcwogICAgICBwYXRjaDEtOTogMjI1MmsgICAgICAgIDg3OTZNaUIvcwoK ICAgIG1lbWNhY2hlZCAoYW5vbik6ICtbMTE5LCAxMjNdJQogICAgICAgICAgICAgICAgT3BzL3Nl YyAgICAgIEtCL3NlYwogICAgICBwYXRjaDEtODogODYyNzY4LjY1ICAgIDMzNTE0LjY4CiAgICAg IHBhdGNoMS05OiAxOTExMDIyLjEyICAgNzQyMzQuNTQKCiAgTWl4ZWQgd29ya2xvYWRzOgogICAg ZmlvIChidWZmZXJlZCBJL08pOiArWzc1LCA3N10lCiAgICAgICAgICAgICAgICBJT1BTICAgICAg ICAgQlcKICAgICAgNS4xOS1yYzE6IDEyNzlrICAgICAgICA0OTk2TWlCL3MKICAgICAgcGF0Y2gx LTk6IDIyNTJrICAgICAgICA4Nzk2TWlCL3MKCiAgICBtZW1jYWNoZWQgKGFub24pOiArWzEzLCAx NV0lCiAgICAgICAgICAgICAgICBPcHMvc2VjICAgICAgS0Ivc2VjCiAgICAgIDUuMTktcmMxOiAx NjczNTI0LjA0ICAgNjUwMDguODcKICAgICAgcGF0Y2gxLTk6IDE5MTEwMjIuMTIgICA3NDIzNC41 NAoKICBDb25maWd1cmF0aW9uczoKICAgIChjaGFuZ2VzIHNpbmNlIHBhdGNoIDYpCgogICAgY2F0 IG1peGVkLnNoCiAgICBtb2Rwcm9iZSBicmQgcmRfbnI9MiByZF9zaXplPTU2NjIzMTA0CgogICAg c3dhcG9mZiAtYQogICAgbWtzd2FwIC9kZXYvcmFtMAogICAgc3dhcG9uIC9kZXYvcmFtMAoKICAg IG1rZnMuZXh0NCAvZGV2L3JhbTEKICAgIG1vdW50IC10IGV4dDQgL2Rldi9yYW0xIC9tbnQKCiAg ICBtZW10aWVyX2JlbmNobWFyayAtUyAvdmFyL3J1bi9tZW1jYWNoZWQvbWVtY2FjaGVkLnNvY2sg XAogICAgICAtUCBtZW1jYWNoZV9iaW5hcnkgLW4gYWxsa2V5cyAtLWtleS1taW5pbXVtPTEgXAog ICAgICAtLWtleS1tYXhpbXVtPTUwMDAwMDAwIC0ta2V5LXBhdHRlcm49UDpQIC1jIDEgLXQgMzYg XAogICAgICAtLXJhdGlvIDE6MCAtLXBpcGVsaW5lIDggLWQgMjAwMAoKICAgIGZpbyAtbmFtZT1t Z2xydSAtLW51bWpvYnM9MzYgLS1kaXJlY3Rvcnk9L21udCAtLXNpemU9MTQwOG0gXAogICAgICAt LWJ1ZmZlcmVkPTEgLS1pb2VuZ2luZT1pb191cmluZyAtLWlvZGVwdGg9MTI4IFwKICAgICAgLS1p b2RlcHRoX2JhdGNoX3N1Ym1pdD0zMiAtLWlvZGVwdGhfYmF0Y2hfY29tcGxldGU9MzIgXAogICAg ICAtLXJ3PXJhbmRyZWFkIC0tcmFuZG9tX2Rpc3RyaWJ1dGlvbj1yYW5kb20gLS1ub3JhbmRvbW1h cCBcCiAgICAgIC0tdGltZV9iYXNlZCAtLXJhbXBfdGltZT0xMG0gLS1ydW50aW1lPTkwbSAtLWdy b3VwX3JlcG9ydGluZyAmCiAgICBwaWQ9JCEKCiAgICBzbGVlcCAyMDAKCiAgICBtZW10aWVyX2Jl bmNobWFyayAtUyAvdmFyL3J1bi9tZW1jYWNoZWQvbWVtY2FjaGVkLnNvY2sgXAogICAgICAtUCBt ZW1jYWNoZV9iaW5hcnkgLW4gYWxsa2V5cyAtLWtleS1taW5pbXVtPTEgXAogICAgICAtLWtleS1t YXhpbXVtPTUwMDAwMDAwIC0ta2V5LXBhdHRlcm49UjpSIC1jIDEgLXQgMzYgXAogICAgICAtLXJh dGlvIDA6MSAtLXBpcGVsaW5lIDggLS1yYW5kb21pemUgLS1kaXN0aW5jdC1jbGllbnQtc2VlZAoK ICAgIGtpbGwgLUlOVCAkcGlkCiAgICB3YWl0CgpDbGllbnQgYmVuY2htYXJrIHJlc3VsdHM6CiAg bm8gY2hhbmdlIChDT05GSUdfTUVNQ0c9bikKClNpZ25lZC1vZmYtYnk6IFl1IFpoYW8gPHl1emhh b0Bnb29nbGUuY29tPgpBY2tlZC1ieTogQnJpYW4gR2VmZm9uIDxiZ2VmZm9uQGdvb2dsZS5jb20+ CkFja2VkLWJ5OiBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxoZWZ0aWdAYXJjaGxp bnV4Lm9yZz4KQWNrZWQtYnk6IE9sZWtzYW5kciBOYXRhbGVua28gPG9sZWtzYW5kckBuYXRhbGVu a28ubmFtZT4KQWNrZWQtYnk6IFN0ZXZlbiBCYXJyZXR0IDxzdGV2ZW5AbGlxdW9yaXgubmV0PgpB Y2tlZC1ieTogU3VsZWltYW4gU291aGxhbCA8c3VsZWltYW5AZ29vZ2xlLmNvbT4KVGVzdGVkLWJ5 OiBEYW5pZWwgQnlybmUgPGRqYnlybmVAbXR1LmVkdT4KVGVzdGVkLWJ5OiBEb25hbGQgQ2FyciA8 ZEBjaGFvcy1yZWlucy5jb20+ClRlc3RlZC1ieTogSG9sZ2VyIEhvZmZzdMOkdHRlIDxob2xnZXJA YXBwbGllZC1hc3luY2hyb255LmNvbT4KVGVzdGVkLWJ5OiBLb25zdGFudGluIEtoYXJsYW1vdiA8 SGktQW5nZWxAeWFuZGV4LnJ1PgpUZXN0ZWQtYnk6IFNodWFuZyBaaGFpIDxzemhhaTJAY3Mucm9j aGVzdGVyLmVkdT4KVGVzdGVkLWJ5OiBTb2ZpYSBUcmluaCA8c29maWEudHJpbmhAZWRpLndvcmtz PgpUZXN0ZWQtYnk6IFZhaWJoYXYgSmFpbiA8dmFpYmhhdkBsaW51eC5pYm0uY29tPgotLS0KIG1t L3Ztc2Nhbi5jIHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL21tL3Ztc2Nhbi5jIGIvbW0vdm1zY2FuLmMKaW5kZXggZDFkZmMw YTc3YjZmLi5lZTUxYzc1MmEzYWYgMTAwNjQ0Ci0tLSBhL21tL3Ztc2Nhbi5jCisrKyBiL21tL3Zt c2Nhbi5jCkBAIC0xMzEsNiArMTMxLDEzIEBAIHN0cnVjdCBzY2FuX2NvbnRyb2wgewogCS8qIEFs d2F5cyBkaXNjYXJkIGluc3RlYWQgb2YgZGVtb3RpbmcgdG8gbG93ZXIgdGllciBtZW1vcnkgKi8K IAl1bnNpZ25lZCBpbnQgbm9fZGVtb3Rpb246MTsKIAorI2lmZGVmIENPTkZJR19MUlVfR0VOCisJ LyogaGVscCBtYWtlIGJldHRlciBjaG9pY2VzIHdoZW4gbXVsdGlwbGUgbWVtY2dzIGFyZSBhdmFp bGFibGUgKi8KKwl1bnNpZ25lZCBpbnQgbWVtY2dzX25lZWRfYWdpbmc6MTsKKwl1bnNpZ25lZCBp bnQgbWVtY2dzX25lZWRfc3dhcHBpbmc6MTsKKwl1bnNpZ25lZCBpbnQgbWVtY2dzX2F2b2lkX3N3 YXBwaW5nOjE7CisjZW5kaWYKKwogCS8qIEFsbG9jYXRpb24gb3JkZXIgKi8KIAlzOCBvcmRlcjsK IApAQCAtNDQzNyw2ICs0NDQ0LDIyIEBAIHN0YXRpYyB2b2lkIGxydV9nZW5fYWdlX25vZGUoc3Ry dWN0IHBnbGlzdF9kYXRhICpwZ2RhdCwgc3RydWN0IHNjYW5fY29udHJvbCAqc2MpCiAKIAlWTV9X QVJOX09OX09OQ0UoIWN1cnJlbnRfaXNfa3N3YXBkKCkpOwogCisJLyoKKwkgKiBUbyByZWR1Y2Ug dGhlIGNoYW5jZSBvZiBnb2luZyBpbnRvIHRoZSBhZ2luZyBwYXRoIG9yIHN3YXBwaW5nLCB3aGlj aAorCSAqIGNhbiBiZSBjb3N0bHksIG9wdGltaXN0aWNhbGx5IHNraXAgdGhlbSB1bmxlc3MgdGhl aXIgY29ycmVzcG9uZGluZworCSAqIGZsYWdzIHdlcmUgY2xlYXJlZCBpbiB0aGUgZXZpY3Rpb24g cGF0aC4gVGhpcyBpbXByb3ZlcyB0aGUgb3ZlcmFsbAorCSAqIHBlcmZvcm1hbmNlIHdoZW4gbXVs dGlwbGUgbWVtY2dzIGFyZSBhdmFpbGFibGUuCisJICovCisJaWYgKCFzYy0+bWVtY2dzX25lZWRf YWdpbmcpIHsKKwkJc2MtPm1lbWNnc19uZWVkX2FnaW5nID0gdHJ1ZTsKKwkJc2MtPm1lbWNnc19h dm9pZF9zd2FwcGluZyA9ICFzYy0+bWVtY2dzX25lZWRfc3dhcHBpbmc7CisJCXNjLT5tZW1jZ3Nf bmVlZF9zd2FwcGluZyA9IHRydWU7CisJCXJldHVybjsKKwl9CisKKwlzYy0+bWVtY2dzX25lZWRf c3dhcHBpbmcgPSB0cnVlOworCXNjLT5tZW1jZ3NfYXZvaWRfc3dhcHBpbmcgPSB0cnVlOworCiAJ c2V0X21tX3dhbGsocGdkYXQpOwogCiAJbWVtY2cgPSBtZW1fY2dyb3VwX2l0ZXIoTlVMTCwgTlVM TCwgTlVMTCk7CkBAIC00ODQ2LDcgKzQ4NjksOCBAQCBzdGF0aWMgaW50IGlzb2xhdGVfZm9saW9z KHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0IHNjYW5fY29udHJvbCAqc2MsIGludCBzdwog CXJldHVybiBzY2FubmVkOwogfQogCi1zdGF0aWMgaW50IGV2aWN0X2ZvbGlvcyhzdHJ1Y3QgbHJ1 dmVjICpscnV2ZWMsIHN0cnVjdCBzY2FuX2NvbnRyb2wgKnNjLCBpbnQgc3dhcHBpbmVzcykKK3N0 YXRpYyBpbnQgZXZpY3RfZm9saW9zKHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0IHNjYW5f Y29udHJvbCAqc2MsIGludCBzd2FwcGluZXNzLAorCQkJYm9vbCAqbmVlZF9zd2FwcGluZykKIHsK IAlpbnQgdHlwZTsKIAlpbnQgc2Nhbm5lZDsKQEAgLTQ5MDksNiArNDkzMyw5IEBAIHN0YXRpYyBp bnQgZXZpY3RfZm9saW9zKHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0IHNjYW5fY29udHJv bCAqc2MsIGludCBzd2FwCiAKIAlzYy0+bnJfcmVjbGFpbWVkICs9IHJlY2xhaW1lZDsKIAorCWlm ICh0eXBlID09IExSVV9HRU5fQU5PTiAmJiBuZWVkX3N3YXBwaW5nKQorCQkqbmVlZF9zd2FwcGlu ZyA9IHRydWU7CisKIAlyZXR1cm4gc2Nhbm5lZDsKIH0KIApAQCAtNDkxOCwxMCArNDk0NSw5IEBA IHN0YXRpYyBpbnQgZXZpY3RfZm9saW9zKHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0IHNj YW5fY29udHJvbCAqc2MsIGludCBzd2FwCiAgKiAgICByZWNsYWltLgogICovCiBzdGF0aWMgdW5z aWduZWQgbG9uZyBnZXRfbnJfdG9fc2NhbihzdHJ1Y3QgbHJ1dmVjICpscnV2ZWMsIHN0cnVjdCBz Y2FuX2NvbnRyb2wgKnNjLAotCQkJCSAgICBib29sIGNhbl9zd2FwLCB1bnNpZ25lZCBsb25nIHJl Y2xhaW1lZCkKKwkJCQkgICAgYm9vbCBjYW5fc3dhcCwgdW5zaWduZWQgbG9uZyByZWNsYWltZWQs IGJvb2wgKm5lZWRfYWdpbmcpCiB7CiAJaW50IHByaW9yaXR5OwotCWJvb2wgbmVlZF9hZ2luZzsK IAl1bnNpZ25lZCBsb25nIG5yX3RvX3NjYW47CiAJc3RydWN0IG1lbV9jZ3JvdXAgKm1lbWNnID0g bHJ1dmVjX21lbWNnKGxydXZlYyk7CiAJREVGSU5FX01BWF9TRVEobHJ1dmVjKTsKQEAgLTQ5MzYs NyArNDk2Miw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9ucl90b19zY2FuKHN0cnVjdCBs cnV2ZWMgKmxydXZlYywgc3RydWN0IHNjYW5fY29udHJvbCAqCiAJICAgIChtZW1fY2dyb3VwX2Jl bG93X2xvdyhtZW1jZykgJiYgIXNjLT5tZW1jZ19sb3dfcmVjbGFpbSkpCiAJCXJldHVybiAwOwog Ci0JbnJfdG9fc2NhbiA9IGdldF9ucl9ldmljdGFibGUobHJ1dmVjLCBtYXhfc2VxLCBtaW5fc2Vx LCBjYW5fc3dhcCwgJm5lZWRfYWdpbmcpOworCW5yX3RvX3NjYW4gPSBnZXRfbnJfZXZpY3RhYmxl KGxydXZlYywgbWF4X3NlcSwgbWluX3NlcSwgY2FuX3N3YXAsIG5lZWRfYWdpbmcpOwogCWlmICgh bnJfdG9fc2NhbikKIAkJcmV0dXJuIDA7CiAKQEAgLTQ5NTIsNyArNDk3OCw3IEBAIHN0YXRpYyB1 bnNpZ25lZCBsb25nIGdldF9ucl90b19zY2FuKHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0 IHNjYW5fY29udHJvbCAqCiAJaWYgKCFucl90b19zY2FuKQogCQlyZXR1cm4gMDsKIAotCWlmICgh bmVlZF9hZ2luZykKKwlpZiAoISpuZWVkX2FnaW5nKQogCQlyZXR1cm4gbnJfdG9fc2NhbjsKIAog CS8qIHNraXAgdGhlIGFnaW5nIHBhdGggYXQgdGhlIGRlZmF1bHQgcHJpb3JpdHkgKi8KQEAgLTQ5 NzIsNiArNDk5OCw4IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9ucl90b19zY2FuKHN0cnVj dCBscnV2ZWMgKmxydXZlYywgc3RydWN0IHNjYW5fY29udHJvbCAqCiBzdGF0aWMgdm9pZCBscnVf Z2VuX3Nocmlua19scnV2ZWMoc3RydWN0IGxydXZlYyAqbHJ1dmVjLCBzdHJ1Y3Qgc2Nhbl9jb250 cm9sICpzYykKIHsKIAlzdHJ1Y3QgYmxrX3BsdWcgcGx1ZzsKKwlib29sIG5lZWRfYWdpbmcgPSBm YWxzZTsKKwlib29sIG5lZWRfc3dhcHBpbmcgPSBmYWxzZTsKIAl1bnNpZ25lZCBsb25nIHNjYW5u ZWQgPSAwOwogCXVuc2lnbmVkIGxvbmcgcmVjbGFpbWVkID0gc2MtPm5yX3JlY2xhaW1lZDsKIApA QCAtNDk5MywyMSArNTAyMSwzMCBAQCBzdGF0aWMgdm9pZCBscnVfZ2VuX3Nocmlua19scnV2ZWMo c3RydWN0IGxydXZlYyAqbHJ1dmVjLCBzdHJ1Y3Qgc2Nhbl9jb250cm9sICpzYwogCQllbHNlCiAJ CQlzd2FwcGluZXNzID0gMDsKIAotCQlucl90b19zY2FuID0gZ2V0X25yX3RvX3NjYW4obHJ1dmVj LCBzYywgc3dhcHBpbmVzcywgcmVjbGFpbWVkKTsKKwkJbnJfdG9fc2NhbiA9IGdldF9ucl90b19z Y2FuKGxydXZlYywgc2MsIHN3YXBwaW5lc3MsIHJlY2xhaW1lZCwgJm5lZWRfYWdpbmcpOwogCQlp ZiAoIW5yX3RvX3NjYW4pCi0JCQlicmVhazsKKwkJCWdvdG8gZG9uZTsKIAotCQlkZWx0YSA9IGV2 aWN0X2ZvbGlvcyhscnV2ZWMsIHNjLCBzd2FwcGluZXNzKTsKKwkJZGVsdGEgPSBldmljdF9mb2xp b3MobHJ1dmVjLCBzYywgc3dhcHBpbmVzcywgJm5lZWRfc3dhcHBpbmcpOwogCQlpZiAoIWRlbHRh KQotCQkJYnJlYWs7CisJCQlnb3RvIGRvbmU7CiAKIAkJc2Nhbm5lZCArPSBkZWx0YTsKIAkJaWYg KHNjYW5uZWQgPj0gbnJfdG9fc2NhbikKIAkJCWJyZWFrOwogCisJCWlmIChzYy0+bWVtY2dzX2F2 b2lkX3N3YXBwaW5nICYmIHN3YXBwaW5lc3MgPCAyMDAgJiYgbmVlZF9zd2FwcGluZykKKwkJCWJy ZWFrOworCiAJCWNvbmRfcmVzY2hlZCgpOwogCX0KIAorCS8qIHNlZSB0aGUgY29tbWVudCBpbiBs cnVfZ2VuX2FnZV9ub2RlKCkgKi8KKwlpZiAoIW5lZWRfYWdpbmcpCisJCXNjLT5tZW1jZ3NfbmVl ZF9hZ2luZyA9IGZhbHNlOworCWlmICghbmVlZF9zd2FwcGluZykKKwkJc2MtPm1lbWNnc19uZWVk X3N3YXBwaW5nID0gZmFsc2U7Citkb25lOgogCWNsZWFyX21tX3dhbGsoKTsKIAogCWJsa19maW5p c2hfcGx1ZygmcGx1Zyk7Ci0tIAoyLjM3LjEuNTk1Lmc3MThhM2E4ZjA0LWdvb2cKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVs IG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==