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 95EA4C433EF for ; Thu, 7 Apr 2022 03:34:12 +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=45QTPs2H3ydtbC+P0ZsbAR9r0HH75vM6B/jgejLqQJk=; b=J8gtFfRmKwKT3TLAk/8HsiwVzw RdyvxkZ2P94SobrGEmVNVn9o47B5jcgOUJPn0E6r6ituZgT+aiCya7vE3Kqbpl0suPPVdH7qSMYf+ WsCyfk5TYKyPEn9saRc5ACgL9XKOibc5sqwezi9xgB7/y2+exxodIwUIP4FMCTc0CDIA2q91f4uFA tJ4Q/b93zTbY9Hr0yEnkbwJhO73HZYXPZMPzYMbwe7SZt8y8Z6KBxAaL9OrUCAMrtQD5yU29y7AQv wJQb3vTGqb+RdNXWbmvfR3Klb4VWMuSn9v9uuFYdj7/jK+5/yoblBTFPyXucFx6goaM39wl54XrDf BzUatU4A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ncIsr-0097XX-SS; Thu, 07 Apr 2022 03:32:34 +0000 Received: from mail-io1-xd4a.google.com ([2607:f8b0:4864:20::d4a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ncId2-0091e6-Vi for linux-arm-kernel@lists.infradead.org; Thu, 07 Apr 2022 03:16:24 +0000 Received: by mail-io1-xd4a.google.com with SMTP id g16-20020a05660203d000b005f7b3b0642eso2843569iov.16 for ; Wed, 06 Apr 2022 20:16:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc:content-transfer-encoding; bh=/BTpyTC3BWITVgtzyo3yWI9ScJ2B23IF80HP+e4RTLs=; b=B+qgdKxMWufdOBeUFvxfs40yxRQ7wr/nUoKevP6v/dym/GHDI4umWm7dakxK+KMyIG pKTbn9qM+ALlw0LJ4lXKe+uPjIn7kNg442HN2penNhVKqSwWJlTgxh2R//+4KwhK4KTy jBR9nB940pfXEwDgg+3Ua63sSMFkbj3UMgy3/VYHTw/jYgQ6u70mJLUanJ/RVtfBv/NM t6pqlQjzQ7a/X2eGtAf+2IQbpPwTu3rMFj1QeOYxKx8t2DFExeZSyJy8pVs9Le8/4hQr Am4uio9JdJDvzBecumGJ552H6Pho70P2bDeqOopqV7jw9A5CayyaMPT3Xdu30OuCXenz PeOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc:content-transfer-encoding; bh=/BTpyTC3BWITVgtzyo3yWI9ScJ2B23IF80HP+e4RTLs=; b=gBBFUGMr3leKMKKEfLQR/XuW/5mignktRWi2xrw2uxvqn0yzBGkgxM8yAnO6NtARPw yf6RClRZwQW2sy6PilfAq6eLxz4J16sDJ28aB7NvMb4J+oV8bv1dzRVAWsebQmiFYCm8 vQyhQ8ZwfXwbLm0j3LHIU5tAQNxiKXtwX8nl0z2BBc/w1vvoLHeH/ko3iwjexV5zmvuv nd2A+TuWhnKgMr1cBP6ezP0sXGq6dlydqHiKotskUKDGjuRJdGiOMP0b/ZdSxPLrsNT1 sfHCruGN47p8bmpwbqetZsGa1RETLZEMfCz6yVawqbDZHeucAyDtLkMBM7dAlAroHz6S rAdw== X-Gm-Message-State: AOAM533qtTKCq91u9M0BShZ+UgU6RIhOB4IAp5DLm2fuMr2AHTPI1zOA hfL9NM4RuNdQJZDGDFpBhlA8PBnUj4g= X-Google-Smtp-Source: ABdhPJy3glMkK9W/PAxRI8gGi5IapTHMDsOIhIIaou07CiFi6H6ib0unmvM/k4dP33swU+zixbfwt7mVghs= X-Received: from yuzhao.bld.corp.google.com ([2620:15c:183:200:9ea2:c755:ae22:6862]) (user=yuzhao job=sendgmr) by 2002:a05:6638:d88:b0:322:e0cf:cf8e with SMTP id l8-20020a0566380d8800b00322e0cfcf8emr6265712jaj.171.1649301370401; Wed, 06 Apr 2022 20:16:10 -0700 (PDT) Date: Wed, 6 Apr 2022 21:15:21 -0600 In-Reply-To: <20220407031525.2368067-1-yuzhao@google.com> Message-Id: <20220407031525.2368067-10-yuzhao@google.com> Mime-Version: 1.0 References: <20220407031525.2368067-1-yuzhao@google.com> X-Mailer: git-send-email 2.35.1.1094.g7c7d902a7c-goog Subject: [PATCH v10 09/14] mm: multi-gen LRU: optimize multiple memcgs From: Yu Zhao To: Stephen Rothwell , linux-mm@kvack.org Cc: Andi Kleen , Andrew Morton , Aneesh Kumar , Barry Song <21cnbao@gmail.com>, Catalin Marinas , Dave Hansen , Hillf Danton , Jens Axboe , Jesse Barnes , Johannes Weiner , Jonathan Corbet , Linus Torvalds , Matthew Wilcox , Mel Gorman , Michael Larabel , Michal Hocko , Mike Rapoport , Rik van Riel , Vlastimil Babka , Will Deacon , Ying Huang , linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, page-reclaim@google.com, x86@kernel.org, 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-20220406_201613_096264_8E3BC058 X-CRM114-Status: GOOD ( 19.40 ) 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 aW5nIHBhdGggb3Igc3dhcHBpbmcuIFRoZXNlIHR3byBvcGVyYXRpb25zIGNhbiBiZSBjb3N0bHku CgpBIHR5cGljYWwgZXhhbXBsZSB0aGF0IGJlbmVmaXRzIGZyb20gdGhpcyBvcHRpbWl6YXRpb24g aXMgYSBzZXJ2ZXIKcnVubmluZyBtaXhlZCB0eXBlcyBvZiB3b3JrbG9hZHMsIGUuZy4sIGhlYXZ5 IGFub24gd29ya2xvYWQgaW4gb25lCm1lbWNnIGFuZCBoZWF2eSBidWZmZXJlZCBJL08gd29ya2xv YWQgaW4gdGhlIG90aGVyLgoKVGhvdWdoIHRoaXMgb3B0aW1pemF0aW9uIGNhbiBiZSBhcHBsaWVk IHRvIGJvdGgga3N3YXBkIGFuZCBkaXJlY3QKcmVjbGFpbSwgaXQgaXMgb25seSBhZGRlZCB0byBr c3dhcGQgdG8ga2VlcCB0aGUgcGF0Y2hzZXQgbWFuYWdlYWJsZS4KTGF0ZXIgaW1wcm92ZW1lbnRz IHdpbGwgY292ZXIgdGhlIGRpcmVjdCByZWNsYWltIHBhdGguCgpTZXJ2ZXIgYmVuY2htYXJrIHJl c3VsdHM6CiAgTWl4ZWQgd29ya2xvYWRzOgogICAgZmlvIChidWZmZXJlZCBJL08pOiArWzEsIDNd JQogICAgICAgICAgICAgICAgSU9QUyAgICAgICAgIEJXCiAgICAgIHBhdGNoMS04OiAyMTU0ayAg ICAgICAgODQxNU1pQi9zCiAgICAgIHBhdGNoMS05OiAyMjA1ayAgICAgICAgODYxM01pQi9zCgog ICAgbWVtY2FjaGVkIChhbm9uKTogK1sxMzIsIDEzNl0lCiAgICAgICAgICAgICAgICBPcHMvc2Vj ICAgICAgS0Ivc2VjCiAgICAgIHBhdGNoMS04OiA4MTk2MTguNDkgICAgMzE4MzguNDgKICAgICAg cGF0Y2gxLTk6IDE5MTY1MTYuMDYgICA3NDQ0Ny45MgoKICBNaXhlZCB3b3JrbG9hZHM6CiAgICBm aW8gKGJ1ZmZlcmVkIEkvTyk6ICtbNTksIDYxXSUKICAgICAgICAgICAgICAgIElPUFMgICAgICAg ICBCVwogICAgICA1LjE4LXJjMTogMTM3OGsgICAgICAgIDUzODVNaUIvcwogICAgICBwYXRjaDEt OTogMjIwNWsgICAgICAgIDg2MTNNaUIvcwoKICAgIG1lbWNhY2hlZCAoYW5vbik6ICtbMjI5LCAy MzNdJQogICAgICAgICAgICAgICAgT3BzL3NlYyAgICAgIEtCL3NlYwogICAgICA1LjE4LXJjMTog NTc4OTQ2LjAwICAgIDIyNDg5LjQ0CiAgICAgIHBhdGNoMS05OiAxOTE2NTE2LjA2ICAgNzQ0NDcu OTIKCiAgQ29uZmlndXJhdGlvbnM6CiAgICAoY2hhbmdlcyBzaW5jZSBwYXRjaCA2KQoKICAgIGNh dCBtaXhlZC5zaAogICAgbW9kcHJvYmUgYnJkIHJkX25yPTIgcmRfc2l6ZT01NjYyMzEwNAoKICAg IHN3YXBvZmYgLWEKICAgIG1rc3dhcCAvZGV2L3JhbTAKICAgIHN3YXBvbiAvZGV2L3JhbTAKCiAg ICBta2ZzLmV4dDQgL2Rldi9yYW0xCiAgICBtb3VudCAtdCBleHQ0IC9kZXYvcmFtMSAvbW50Cgog ICAgbWVtdGllcl9iZW5jaG1hcmsgLVMgL3Zhci9ydW4vbWVtY2FjaGVkL21lbWNhY2hlZC5zb2Nr IFwKICAgICAgLVAgbWVtY2FjaGVfYmluYXJ5IC1uIGFsbGtleXMgLS1rZXktbWluaW11bT0xIFwK ICAgICAgLS1rZXktbWF4aW11bT01MDAwMDAwMCAtLWtleS1wYXR0ZXJuPVA6UCAtYyAxIC10IDM2 IFwKICAgICAgLS1yYXRpbyAxOjAgLS1waXBlbGluZSA4IC1kIDIwMDAKCiAgICBmaW8gLW5hbWU9 bWdscnUgLS1udW1qb2JzPTM2IC0tZGlyZWN0b3J5PS9tbnQgLS1zaXplPTE0MDhtIFwKICAgICAg LS1idWZmZXJlZD0xIC0taW9lbmdpbmU9aW9fdXJpbmcgLS1pb2RlcHRoPTEyOCBcCiAgICAgIC0t aW9kZXB0aF9iYXRjaF9zdWJtaXQ9MzIgLS1pb2RlcHRoX2JhdGNoX2NvbXBsZXRlPTMyIFwKICAg ICAgLS1ydz1yYW5kcmVhZCAtLXJhbmRvbV9kaXN0cmlidXRpb249cmFuZG9tIC0tbm9yYW5kb21t YXAgXAogICAgICAtLXRpbWVfYmFzZWQgLS1yYW1wX3RpbWU9MTBtIC0tcnVudGltZT05MG0gLS1n cm91cF9yZXBvcnRpbmcgJgogICAgcGlkPSQhCgogICAgc2xlZXAgMjAwCgogICAgbWVtdGllcl9i ZW5jaG1hcmsgLVMgL3Zhci9ydW4vbWVtY2FjaGVkL21lbWNhY2hlZC5zb2NrIFwKICAgICAgLVAg bWVtY2FjaGVfYmluYXJ5IC1uIGFsbGtleXMgLS1rZXktbWluaW11bT0xIFwKICAgICAgLS1rZXkt bWF4aW11bT01MDAwMDAwMCAtLWtleS1wYXR0ZXJuPVI6UiAtYyAxIC10IDM2IFwKICAgICAgLS1y YXRpbyAwOjEgLS1waXBlbGluZSA4IC0tcmFuZG9taXplIC0tZGlzdGluY3QtY2xpZW50LXNlZWQK CiAgICBraWxsIC1JTlQgJHBpZAogICAgd2FpdAoKQ2xpZW50IGJlbmNobWFyayByZXN1bHRzOgog IG5vIGNoYW5nZSAoQ09ORklHX01FTUNHPW4pCgpTaWduZWQtb2ZmLWJ5OiBZdSBaaGFvIDx5dXpo YW9AZ29vZ2xlLmNvbT4KQWNrZWQtYnk6IEJyaWFuIEdlZmZvbiA8YmdlZmZvbkBnb29nbGUuY29t PgpBY2tlZC1ieTogSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8aGVmdGlnQGFyY2hs aW51eC5vcmc+CkFja2VkLWJ5OiBPbGVrc2FuZHIgTmF0YWxlbmtvIDxvbGVrc2FuZHJAbmF0YWxl bmtvLm5hbWU+CkFja2VkLWJ5OiBTdGV2ZW4gQmFycmV0dCA8c3RldmVuQGxpcXVvcml4Lm5ldD4K QWNrZWQtYnk6IFN1bGVpbWFuIFNvdWhsYWwgPHN1bGVpbWFuQGdvb2dsZS5jb20+ClRlc3RlZC1i eTogRGFuaWVsIEJ5cm5lIDxkamJ5cm5lQG10dS5lZHU+ClRlc3RlZC1ieTogRG9uYWxkIENhcnIg PGRAY2hhb3MtcmVpbnMuY29tPgpUZXN0ZWQtYnk6IEhvbGdlciBIb2Zmc3TDpHR0ZSA8aG9sZ2Vy QGFwcGxpZWQtYXN5bmNocm9ueS5jb20+ClRlc3RlZC1ieTogS29uc3RhbnRpbiBLaGFybGFtb3Yg PEhpLUFuZ2VsQHlhbmRleC5ydT4KVGVzdGVkLWJ5OiBTaHVhbmcgWmhhaSA8c3poYWkyQGNzLnJv Y2hlc3Rlci5lZHU+ClRlc3RlZC1ieTogU29maWEgVHJpbmggPHNvZmlhLnRyaW5oQGVkaS53b3Jr cz4KVGVzdGVkLWJ5OiBWYWliaGF2IEphaW4gPHZhaWJoYXZAbGludXguaWJtLmNvbT4KLS0tCiBt bS92bXNjYW4uYyB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLQogMSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbW0vdm1zY2FuLmMgYi9tbS92bXNjYW4uYwppbmRleCA5ZTI4MTBhMjMwYTQu LjA2NjNmMWEzZjcyYSAxMDA2NDQKLS0tIGEvbW0vdm1zY2FuLmMKKysrIGIvbW0vdm1zY2FuLmMK QEAgLTEyOCw2ICsxMjgsMTMgQEAgc3RydWN0IHNjYW5fY29udHJvbCB7CiAJLyogQWx3YXlzIGRp c2NhcmQgaW5zdGVhZCBvZiBkZW1vdGluZyB0byBsb3dlciB0aWVyIG1lbW9yeSAqLwogCXVuc2ln bmVkIGludCBub19kZW1vdGlvbjoxOwogCisjaWZkZWYgQ09ORklHX0xSVV9HRU4KKwkvKiBoZWxw IG1ha2UgYmV0dGVyIGNob2ljZXMgd2hlbiBtdWx0aXBsZSBtZW1jZ3MgYXJlIGF2YWlsYWJsZSAq LworCXVuc2lnbmVkIGludCBtZW1jZ3NfbmVlZF9hZ2luZzoxOworCXVuc2lnbmVkIGludCBtZW1j Z3NfbmVlZF9zd2FwcGluZzoxOworCXVuc2lnbmVkIGludCBtZW1jZ3NfYXZvaWRfc3dhcHBpbmc6 MTsKKyNlbmRpZgorCiAJLyogQWxsb2NhdGlvbiBvcmRlciAqLwogCXM4IG9yZGVyOwogCkBAIC00 MzA5LDYgKzQzMTYsMjIgQEAgc3RhdGljIHZvaWQgbHJ1X2dlbl9hZ2Vfbm9kZShzdHJ1Y3QgcGds aXN0X2RhdGEgKnBnZGF0LCBzdHJ1Y3Qgc2Nhbl9jb250cm9sICpzYykKIAogCVZNX0JVR19PTigh Y3VycmVudF9pc19rc3dhcGQoKSk7CiAKKwkvKgorCSAqIFRvIHJlZHVjZSB0aGUgY2hhbmNlIG9m IGdvaW5nIGludG8gdGhlIGFnaW5nIHBhdGggb3Igc3dhcHBpbmcsIHdoaWNoCisJICogY2FuIGJl IGNvc3RseSwgb3B0aW1pc3RpY2FsbHkgc2tpcCB0aGVtIHVubGVzcyB0aGVpciBjb3JyZXNwb25k aW5nCisJICogZmxhZ3Mgd2VyZSBjbGVhcmVkIGluIHRoZSBldmljdGlvbiBwYXRoLiBUaGlzIGlt cHJvdmVzIHRoZSBvdmVyYWxsCisJICogcGVyZm9ybWFuY2Ugd2hlbiBtdWx0aXBsZSBtZW1jZ3Mg YXJlIGF2YWlsYWJsZS4KKwkgKi8KKwlpZiAoIXNjLT5tZW1jZ3NfbmVlZF9hZ2luZykgeworCQlz Yy0+bWVtY2dzX25lZWRfYWdpbmcgPSB0cnVlOworCQlzYy0+bWVtY2dzX2F2b2lkX3N3YXBwaW5n ID0gIXNjLT5tZW1jZ3NfbmVlZF9zd2FwcGluZzsKKwkJc2MtPm1lbWNnc19uZWVkX3N3YXBwaW5n ID0gdHJ1ZTsKKwkJcmV0dXJuOworCX0KKworCXNjLT5tZW1jZ3NfbmVlZF9zd2FwcGluZyA9IHRy dWU7CisJc2MtPm1lbWNnc19hdm9pZF9zd2FwcGluZyA9IHRydWU7CisKIAljdXJyZW50LT5yZWNs YWltX3N0YXRlLT5tbV93YWxrID0gJnBnZGF0LT5tbV93YWxrOwogCiAJbWVtY2cgPSBtZW1fY2dy b3VwX2l0ZXIoTlVMTCwgTlVMTCwgTlVMTCk7CkBAIC00NzE0LDcgKzQ3MzcsOCBAQCBzdGF0aWMg aW50IGlzb2xhdGVfZm9saW9zKHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0IHNjYW5fY29u dHJvbCAqc2MsIGludCBzdwogCXJldHVybiBzY2FubmVkOwogfQogCi1zdGF0aWMgaW50IGV2aWN0 X2ZvbGlvcyhzdHJ1Y3QgbHJ1dmVjICpscnV2ZWMsIHN0cnVjdCBzY2FuX2NvbnRyb2wgKnNjLCBp bnQgc3dhcHBpbmVzcykKK3N0YXRpYyBpbnQgZXZpY3RfZm9saW9zKHN0cnVjdCBscnV2ZWMgKmxy dXZlYywgc3RydWN0IHNjYW5fY29udHJvbCAqc2MsIGludCBzd2FwcGluZXNzLAorCQkJYm9vbCAq c3dhcHBlZCkKIHsKIAlpbnQgdHlwZTsKIAlpbnQgc2Nhbm5lZDsKQEAgLTQ3ODAsNiArNDgwNCw5 IEBAIHN0YXRpYyBpbnQgZXZpY3RfZm9saW9zKHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0 IHNjYW5fY29udHJvbCAqc2MsIGludCBzd2FwCiAKIAlzYy0+bnJfcmVjbGFpbWVkICs9IHJlY2xh aW1lZDsKIAorCWlmICh0eXBlID09IExSVV9HRU5fQU5PTiAmJiBzd2FwcGVkKQorCQkqc3dhcHBl ZCA9IHRydWU7CisKIAlyZXR1cm4gc2Nhbm5lZDsKIH0KIApAQCAtNDgwOCw4ICs0ODM1LDEwIEBA IHN0YXRpYyBsb25nIGdldF9ucl90b19zY2FuKHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0 IHNjYW5fY29udHJvbCAqc2MsIGJvb2wKIAlpZiAoIW5yX3RvX3NjYW4pCiAJCXJldHVybiAwOwog Ci0JaWYgKCFuZWVkX2FnaW5nKQorCWlmICghbmVlZF9hZ2luZykgeworCQlzYy0+bWVtY2dzX25l ZWRfYWdpbmcgPSBmYWxzZTsKIAkJcmV0dXJuIG5yX3RvX3NjYW47CisJfQogCiAJLyogbGVhdmUg dGhlIHdvcmsgdG8gbHJ1X2dlbl9hZ2Vfbm9kZSgpICovCiAJaWYgKGN1cnJlbnRfaXNfa3N3YXBk KCkpCkBAIC00ODMxLDYgKzQ4NjAsOCBAQCBzdGF0aWMgdm9pZCBscnVfZ2VuX3Nocmlua19scnV2 ZWMoc3RydWN0IGxydXZlYyAqbHJ1dmVjLCBzdHJ1Y3Qgc2Nhbl9jb250cm9sICpzYwogewogCXN0 cnVjdCBibGtfcGx1ZyBwbHVnOwogCWxvbmcgc2Nhbm5lZCA9IDA7CisJYm9vbCBzd2FwcGVkID0g ZmFsc2U7CisJdW5zaWduZWQgbG9uZyByZWNsYWltZWQgPSBzYy0+bnJfcmVjbGFpbWVkOwogCXN0 cnVjdCBwZ2xpc3RfZGF0YSAqcGdkYXQgPSBscnV2ZWNfcGdkYXQobHJ1dmVjKTsKIAogCWxydV9h ZGRfZHJhaW4oKTsKQEAgLTQ4NTYsMTMgKzQ4ODcsMTkgQEAgc3RhdGljIHZvaWQgbHJ1X2dlbl9z aHJpbmtfbHJ1dmVjKHN0cnVjdCBscnV2ZWMgKmxydXZlYywgc3RydWN0IHNjYW5fY29udHJvbCAq c2MKIAkJaWYgKCFucl90b19zY2FuKQogCQkJYnJlYWs7CiAKLQkJZGVsdGEgPSBldmljdF9mb2xp b3MobHJ1dmVjLCBzYywgc3dhcHBpbmVzcyk7CisJCWRlbHRhID0gZXZpY3RfZm9saW9zKGxydXZl Yywgc2MsIHN3YXBwaW5lc3MsICZzd2FwcGVkKTsKIAkJaWYgKCFkZWx0YSkKIAkJCWJyZWFrOwog CisJCWlmIChzYy0+bWVtY2dzX2F2b2lkX3N3YXBwaW5nICYmIHN3YXBwaW5lc3MgPCAyMDAgJiYg c3dhcHBlZCkKKwkJCWJyZWFrOworCiAJCXNjYW5uZWQgKz0gZGVsdGE7Ci0JCWlmIChzY2FubmVk ID49IG5yX3RvX3NjYW4pCisJCWlmIChzY2FubmVkID49IG5yX3RvX3NjYW4pIHsKKwkJCWlmICgh c3dhcHBlZCAmJiBzYy0+bnJfcmVjbGFpbWVkIC0gcmVjbGFpbWVkID49IE1JTl9MUlVfQkFUQ0gp CisJCQkJc2MtPm1lbWNnc19uZWVkX3N3YXBwaW5nID0gZmFsc2U7CiAJCQlicmVhazsKKwkJfQog CiAJCWNvbmRfcmVzY2hlZCgpOwogCX0KLS0gCjIuMzUuMS4xMDk0Lmc3YzdkOTAyYTdjLWdvb2cK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1h cm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0t a2VybmVsCg==