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=-10.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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 6D07FC6369E for ; Sun, 15 Nov 2020 09:17:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2947D22453 for ; Sun, 15 Nov 2020 09:17:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="q0I4G8XB" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726846AbgKOJRS (ORCPT ); Sun, 15 Nov 2020 04:17:18 -0500 Received: from mail.kernel.org ([198.145.29.99]:38448 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726754AbgKOJRR (ORCPT ); Sun, 15 Nov 2020 04:17:17 -0500 Received: from kernel.org (unknown [77.125.7.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 01B8422450; Sun, 15 Nov 2020 09:17:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1605431835; bh=XrsLu3AgfKf/yhCqreqSLPfO0QbxjM5u1nh2OTK+i7M=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=q0I4G8XBAWR7g47zvvLF17b4q7dpa65b9wkXecvSGjBwSxVcsrFJ8ESXu8JFAv6n6 sdRm52xntWf8ZCcumTh9FSor5j2JPuQESup2yC2R21JKmZx1500hzTDazlR+vjkiGB IVdV6hSWm3dBik27GJTFfn5JfaFip6aaLkmt9qWY= Date: Sun, 15 Nov 2020 11:17:00 +0200 From: Mike Rapoport To: Roman Gushchin Cc: Andrew Morton , Alexander Viro , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Catalin Marinas , Christopher Lameter , Dan Williams , Dave Hansen , David Hildenbrand , Elena Reshetova , "H. Peter Anvin" , Ingo Molnar , James Bottomley , "Kirill A. Shutemov" , Matthew Wilcox , Mark Rutland , Mike Rapoport , Michael Kerrisk , Palmer Dabbelt , Paul Walmsley , Peter Zijlstra , Rick Edgecombe , Shuah Khan , Thomas Gleixner , Tycho Andersen , Will Deacon , linux-api@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-nvdimm@lists.01.org, linux-riscv@lists.infradead.org, x86@kernel.org Subject: Re: [PATCH v8 6/9] secretmem: add memcg accounting Message-ID: <20201115091700.GY4758@kernel.org> References: <20201110151444.20662-1-rppt@kernel.org> <20201110151444.20662-7-rppt@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-api@vger.kernel.org On Fri, Nov 13, 2020 at 03:42:25PM -0800, Roman Gushchin wrote: > вт, 10 нояб. 2020 г. в 07:16, Mike Rapoport : > > > > From: Mike Rapoport > > > > Account memory consumed by secretmem to memcg. The accounting is updated > > when the memory is actually allocated and freed. > > > > Signed-off-by: Mike Rapoport > > --- > > mm/filemap.c | 2 +- > > mm/secretmem.c | 42 +++++++++++++++++++++++++++++++++++++++++- > > 2 files changed, 42 insertions(+), 2 deletions(-) > > > > diff --git a/mm/filemap.c b/mm/filemap.c > > index 249cf489f5df..11387a077373 100644 > > --- a/mm/filemap.c > > +++ b/mm/filemap.c > > @@ -844,7 +844,7 @@ static noinline int __add_to_page_cache_locked(struct page *page, > > page->mapping = mapping; > > page->index = offset; > > > > - if (!huge) { > > + if (!huge && !page->memcg_data) { > > error = mem_cgroup_charge(page, current->mm, gfp); > > if (error) > > goto error; > > diff --git a/mm/secretmem.c b/mm/secretmem.c > > index 1aa2b7cffe0d..1eb7667016fa 100644 > > --- a/mm/secretmem.c > > +++ b/mm/secretmem.c > > @@ -17,6 +17,7 @@ > > #include > > #include > > #include > > +#include > > #include > > #include > > > > @@ -49,6 +50,38 @@ struct secretmem_ctx { > > > > static struct cma *secretmem_cma; > > > > Hi Mike! > > > +static int secretmem_memcg_charge(struct page *page, gfp_t gfp, int order) > > +{ > > + unsigned long nr_pages = (1 << order); > > + int i, err; > > + > > + err = memcg_kmem_charge_page(page, gfp, order); > > + if (err) > > + return err; > > + > > + for (i = 1; i < nr_pages; i++) { > > + struct page *p = page + i; > > + > > + p->memcg_data = page->memcg_data; > > + } > > Hm, it looks very strange to me. Why do we need to copy memcg_data? > What about css reference counting? I need to copy memcg_data to mark a page as being accounted so it won't be charged again when it is added to page cache. What happens here is that I allocate a large page and then use it as a local cache for allocations in secretmem_fault(). I charge the large page as kmem. During secretmem_fault() a small sub-page from that large page goes into page cache and there I skip its memcg accounting. In the end, when the large page is freed, the memcg_data for all its sub-pages is cleared and I uncharge memcg with the order of large page. An alternative would be to uncharge a small page from kmem in secretmem_fault() and make this page charged in add_to_page_cache(), but that would complicate the release path as I would need to re-charge the small page back to kmem at secretmem_freepage() and track all the participating memcgs till the large page is freed. > And what about statistics? Hmm, that's probably won't be accurate :-/ > I'm sorry for being late. > > Thank you! > > > + > > + return 0; > > +} > > + > > +static void secretmem_memcg_uncharge(struct page *page, int order) > > +{ > > + unsigned long nr_pages = (1 << order); > > + int i; > > + > > + for (i = 1; i < nr_pages; i++) { > > + struct page *p = page + i; > > + > > + p->memcg_data = 0; > > + } > > + > > + memcg_kmem_uncharge_page(page, PMD_PAGE_ORDER); > > +} > > + > > static int secretmem_pool_increase(struct secretmem_ctx *ctx, gfp_t gfp) > > { > > unsigned long nr_pages = (1 << PMD_PAGE_ORDER); > > @@ -61,10 +94,14 @@ static int secretmem_pool_increase(struct secretmem_ctx *ctx, gfp_t gfp) > > if (!page) > > return -ENOMEM; > > > > - err = set_direct_map_invalid_noflush(page, nr_pages); > > + err = secretmem_memcg_charge(page, gfp, PMD_PAGE_ORDER); > > if (err) > > goto err_cma_release; > > > > + err = set_direct_map_invalid_noflush(page, nr_pages); > > + if (err) > > + goto err_memcg_uncharge; > > + > > addr = (unsigned long)page_address(page); > > err = gen_pool_add(pool, addr, PMD_SIZE, NUMA_NO_NODE); > > if (err) > > @@ -81,6 +118,8 @@ static int secretmem_pool_increase(struct secretmem_ctx *ctx, gfp_t gfp) > > * won't fail > > */ > > set_direct_map_default_noflush(page, nr_pages); > > +err_memcg_uncharge: > > + secretmem_memcg_uncharge(page, PMD_PAGE_ORDER); > > err_cma_release: > > cma_release(secretmem_cma, page, nr_pages); > > return err; > > @@ -310,6 +349,7 @@ static void secretmem_cleanup_chunk(struct gen_pool *pool, > > int i; > > > > set_direct_map_default_noflush(page, nr_pages); > > + secretmem_memcg_uncharge(page, PMD_PAGE_ORDER); > > > > for (i = 0; i < nr_pages; i++) > > clear_highpage(page + i); > > -- > > 2.28.0 > > > > -- Sincerely yours, Mike. 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=-9.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS autolearn=ham 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 41FF1C55ABD for ; Sun, 15 Nov 2020 09:17:20 +0000 (UTC) Received: from ml01.01.org (ml01.01.org [198.145.21.10]) (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 A4ADD2419A for ; Sun, 15 Nov 2020 09:17:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="q0I4G8XB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A4ADD2419A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-nvdimm-bounces@lists.01.org Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 5FF06100EF275; Sun, 15 Nov 2020 01:17:19 -0800 (PST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=198.145.29.99; helo=mail.kernel.org; envelope-from=rppt@kernel.org; receiver= Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id F2C7B100EF273 for ; Sun, 15 Nov 2020 01:17:16 -0800 (PST) Received: from kernel.org (unknown [77.125.7.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 01B8422450; Sun, 15 Nov 2020 09:17:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1605431835; bh=XrsLu3AgfKf/yhCqreqSLPfO0QbxjM5u1nh2OTK+i7M=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=q0I4G8XBAWR7g47zvvLF17b4q7dpa65b9wkXecvSGjBwSxVcsrFJ8ESXu8JFAv6n6 sdRm52xntWf8ZCcumTh9FSor5j2JPuQESup2yC2R21JKmZx1500hzTDazlR+vjkiGB IVdV6hSWm3dBik27GJTFfn5JfaFip6aaLkmt9qWY= Date: Sun, 15 Nov 2020 11:17:00 +0200 From: Mike Rapoport To: Roman Gushchin Subject: Re: [PATCH v8 6/9] secretmem: add memcg accounting Message-ID: <20201115091700.GY4758@kernel.org> References: <20201110151444.20662-1-rppt@kernel.org> <20201110151444.20662-7-rppt@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Message-ID-Hash: BIBYC65HLUEDCONTNY3QL2ULIU4TY535 X-Message-ID-Hash: BIBYC65HLUEDCONTNY3QL2ULIU4TY535 X-MailFrom: rppt@kernel.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation CC: Andrew Morton , Alexander Viro , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Catalin Marinas , Christopher Lameter , Dave Hansen , David Hildenbrand , Elena Reshetova , "H. Peter Anvin" , Ingo Molnar , James Bottomley , "Kirill A. Shutemov" , Matthew Wilcox , Mark Rutland , Mike Rapoport , Michael Kerrisk , Palmer Dabbelt , Paul Walmsley , Peter Zijlstra , Rick Edgecombe , Shuah Khan , Thomas Gleixner , Tycho Andersen , Will Deacon , linux-ap i@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-nvdimm@lists.01.org, linux-riscv@lists.infradead.org, x86@kernel.org X-Mailman-Version: 3.1.1 Precedence: list List-Id: "Linux-nvdimm developer list." Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gRnJpLCBOb3YgMTMsIDIwMjAgYXQgMDM6NDI6MjVQTSAtMDgwMCwgUm9tYW4gR3VzaGNoaW4g d3JvdGU6DQo+INCy0YIsIDEwINC90L7Rj9CxLiAyMDIwINCzLiDQsiAwNzoxNiwgTWlrZSBSYXBv cG9ydCA8cnBwdEBrZXJuZWwub3JnPjoNCj4gPg0KPiA+IEZyb206IE1pa2UgUmFwb3BvcnQgPHJw cHRAbGludXguaWJtLmNvbT4NCj4gPg0KPiA+IEFjY291bnQgbWVtb3J5IGNvbnN1bWVkIGJ5IHNl Y3JldG1lbSB0byBtZW1jZy4gVGhlIGFjY291bnRpbmcgaXMgdXBkYXRlZA0KPiA+IHdoZW4gdGhl IG1lbW9yeSBpcyBhY3R1YWxseSBhbGxvY2F0ZWQgYW5kIGZyZWVkLg0KPiA+DQo+ID4gU2lnbmVk LW9mZi1ieTogTWlrZSBSYXBvcG9ydCA8cnBwdEBsaW51eC5pYm0uY29tPg0KPiA+IC0tLQ0KPiA+ ICBtbS9maWxlbWFwLmMgICB8ICAyICstDQo+ID4gIG1tL3NlY3JldG1lbS5jIHwgNDIgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystDQo+ID4gIDIgZmlsZXMgY2hhbmdl ZCwgNDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQg YS9tbS9maWxlbWFwLmMgYi9tbS9maWxlbWFwLmMNCj4gPiBpbmRleCAyNDljZjQ4OWY1ZGYuLjEx Mzg3YTA3NzM3MyAxMDA2NDQNCj4gPiAtLS0gYS9tbS9maWxlbWFwLmMNCj4gPiArKysgYi9tbS9m aWxlbWFwLmMNCj4gPiBAQCAtODQ0LDcgKzg0NCw3IEBAIHN0YXRpYyBub2lubGluZSBpbnQgX19h ZGRfdG9fcGFnZV9jYWNoZV9sb2NrZWQoc3RydWN0IHBhZ2UgKnBhZ2UsDQo+ID4gICAgICAgICBw YWdlLT5tYXBwaW5nID0gbWFwcGluZzsNCj4gPiAgICAgICAgIHBhZ2UtPmluZGV4ID0gb2Zmc2V0 Ow0KPiA+DQo+ID4gLSAgICAgICBpZiAoIWh1Z2UpIHsNCj4gPiArICAgICAgIGlmICghaHVnZSAm JiAhcGFnZS0+bWVtY2dfZGF0YSkgew0KPiA+ICAgICAgICAgICAgICAgICBlcnJvciA9IG1lbV9j Z3JvdXBfY2hhcmdlKHBhZ2UsIGN1cnJlbnQtPm1tLCBnZnApOw0KPiA+ICAgICAgICAgICAgICAg ICBpZiAoZXJyb3IpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsNCj4g PiBkaWZmIC0tZ2l0IGEvbW0vc2VjcmV0bWVtLmMgYi9tbS9zZWNyZXRtZW0uYw0KPiA+IGluZGV4 IDFhYTJiN2NmZmUwZC4uMWViNzY2NzAxNmZhIDEwMDY0NA0KPiA+IC0tLSBhL21tL3NlY3JldG1l bS5jDQo+ID4gKysrIGIvbW0vc2VjcmV0bWVtLmMNCj4gPiBAQCAtMTcsNiArMTcsNyBAQA0KPiA+ ICAjaW5jbHVkZSA8bGludXgvc3lzY2FsbHMuaD4NCj4gPiAgI2luY2x1ZGUgPGxpbnV4L21lbWJs b2NrLmg+DQo+ID4gICNpbmNsdWRlIDxsaW51eC9wc2V1ZG9fZnMuaD4NCj4gPiArI2luY2x1ZGUg PGxpbnV4L21lbWNvbnRyb2wuaD4NCj4gPiAgI2luY2x1ZGUgPGxpbnV4L3NldF9tZW1vcnkuaD4N Cj4gPiAgI2luY2x1ZGUgPGxpbnV4L3NjaGVkL3NpZ25hbC5oPg0KPiA+DQo+ID4gQEAgLTQ5LDYg KzUwLDM4IEBAIHN0cnVjdCBzZWNyZXRtZW1fY3R4IHsNCj4gPg0KPiA+ICBzdGF0aWMgc3RydWN0 IGNtYSAqc2VjcmV0bWVtX2NtYTsNCj4gPg0KPiANCj4gSGkgTWlrZSENCj4gDQo+ID4gK3N0YXRp YyBpbnQgc2VjcmV0bWVtX21lbWNnX2NoYXJnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgZ2ZwX3QgZ2Zw LCBpbnQgb3JkZXIpDQo+ID4gK3sNCj4gPiArICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfcGFnZXMg PSAoMSA8PCBvcmRlcik7DQo+ID4gKyAgICAgICBpbnQgaSwgZXJyOw0KPiA+ICsNCj4gPiArICAg ICAgIGVyciA9IG1lbWNnX2ttZW1fY2hhcmdlX3BhZ2UocGFnZSwgZ2ZwLCBvcmRlcik7DQo+ID4g KyAgICAgICBpZiAoZXJyKQ0KPiA+ICsgICAgICAgICAgICAgICByZXR1cm4gZXJyOw0KPiA+ICsN Cj4gPiArICAgICAgIGZvciAoaSA9IDE7IGkgPCBucl9wYWdlczsgaSsrKSB7DQo+ID4gKyAgICAg ICAgICAgICAgIHN0cnVjdCBwYWdlICpwID0gcGFnZSArIGk7DQo+ID4gKw0KPiA+ICsgICAgICAg ICAgICAgICBwLT5tZW1jZ19kYXRhID0gcGFnZS0+bWVtY2dfZGF0YTsNCj4gPiArICAgICAgIH0N Cj4gDQo+IEhtLCBpdCBsb29rcyB2ZXJ5IHN0cmFuZ2UgdG8gbWUuIFdoeSBkbyB3ZSBuZWVkIHRv IGNvcHkgbWVtY2dfZGF0YT8NCj4gV2hhdCBhYm91dCBjc3MgcmVmZXJlbmNlIGNvdW50aW5nPw0K DQpJIG5lZWQgdG8gY29weSBtZW1jZ19kYXRhIHRvIG1hcmsgYSBwYWdlIGFzIGJlaW5nIGFjY291 bnRlZCBzbyBpdCB3b24ndA0KYmUgY2hhcmdlZCBhZ2FpbiB3aGVuIGl0IGlzIGFkZGVkIHRvIHBh Z2UgY2FjaGUuDQoNCldoYXQgaGFwcGVucyBoZXJlIGlzIHRoYXQgSSBhbGxvY2F0ZSBhIGxhcmdl IHBhZ2UgYW5kIHRoZW4gdXNlIGl0IGFzIGENCmxvY2FsIGNhY2hlIGZvciBhbGxvY2F0aW9ucyBp biBzZWNyZXRtZW1fZmF1bHQoKS4gSSBjaGFyZ2UgdGhlIGxhcmdlDQpwYWdlIGFzIGttZW0uIA0K DQpEdXJpbmcgc2VjcmV0bWVtX2ZhdWx0KCkgYSBzbWFsbCBzdWItcGFnZSBmcm9tIHRoYXQgbGFy Z2UgcGFnZSBnb2VzIGludG8NCnBhZ2UgY2FjaGUgYW5kIHRoZXJlIEkgc2tpcCBpdHMgbWVtY2cg YWNjb3VudGluZy4NCg0KSW4gdGhlIGVuZCwgd2hlbiB0aGUgbGFyZ2UgcGFnZSBpcyBmcmVlZCwg dGhlIG1lbWNnX2RhdGEgZm9yIGFsbCBpdHMNCnN1Yi1wYWdlcyBpcyBjbGVhcmVkIGFuZCBJIHVu Y2hhcmdlIG1lbWNnIHdpdGggdGhlIG9yZGVyIG9mIGxhcmdlIHBhZ2UuDQoNCkFuIGFsdGVybmF0 aXZlIHdvdWxkIGJlIHRvIHVuY2hhcmdlIGEgc21hbGwgcGFnZSBmcm9tIGttZW0gaW4NCnNlY3Jl dG1lbV9mYXVsdCgpIGFuZCBtYWtlIHRoaXMgcGFnZSBjaGFyZ2VkIGluIGFkZF90b19wYWdlX2Nh Y2hlKCksIGJ1dA0KdGhhdCB3b3VsZCBjb21wbGljYXRlIHRoZSByZWxlYXNlIHBhdGggYXMgSSB3 b3VsZCBuZWVkIHRvIHJlLWNoYXJnZSB0aGUNCnNtYWxsIHBhZ2UgYmFjayB0byBrbWVtIGF0IHNl Y3JldG1lbV9mcmVlcGFnZSgpIGFuZCB0cmFjayBhbGwgdGhlDQpwYXJ0aWNpcGF0aW5nIG1lbWNn cyB0aWxsIHRoZSBsYXJnZSBwYWdlIGlzIGZyZWVkLg0KDQo+IEFuZCB3aGF0IGFib3V0IHN0YXRp c3RpY3M/DQoNCkhtbSwgdGhhdCdzIHByb2JhYmx5IHdvbid0IGJlIGFjY3VyYXRlIDotLw0KDQo+ IEknbSBzb3JyeSBmb3IgYmVpbmcgbGF0ZS4NCj4gDQo+IFRoYW5rIHlvdSENCj4gDQo+ID4gKw0K PiA+ICsgICAgICAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lkIHNl Y3JldG1lbV9tZW1jZ191bmNoYXJnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgaW50IG9yZGVyKQ0KPiA+ ICt7DQo+ID4gKyAgICAgICB1bnNpZ25lZCBsb25nIG5yX3BhZ2VzID0gKDEgPDwgb3JkZXIpOw0K PiA+ICsgICAgICAgaW50IGk7DQo+ID4gKw0KPiA+ICsgICAgICAgZm9yIChpID0gMTsgaSA8IG5y X3BhZ2VzOyBpKyspIHsNCj4gPiArICAgICAgICAgICAgICAgc3RydWN0IHBhZ2UgKnAgPSBwYWdl ICsgaTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgIHAtPm1lbWNnX2RhdGEgPSAwOw0KPiA+ ICsgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgIG1lbWNnX2ttZW1fdW5jaGFyZ2VfcGFnZShw YWdlLCBQTURfUEFHRV9PUkRFUik7DQo+ID4gK30NCj4gPiArDQo+ID4gIHN0YXRpYyBpbnQgc2Vj cmV0bWVtX3Bvb2xfaW5jcmVhc2Uoc3RydWN0IHNlY3JldG1lbV9jdHggKmN0eCwgZ2ZwX3QgZ2Zw KQ0KPiA+ICB7DQo+ID4gICAgICAgICB1bnNpZ25lZCBsb25nIG5yX3BhZ2VzID0gKDEgPDwgUE1E X1BBR0VfT1JERVIpOw0KPiA+IEBAIC02MSwxMCArOTQsMTQgQEAgc3RhdGljIGludCBzZWNyZXRt ZW1fcG9vbF9pbmNyZWFzZShzdHJ1Y3Qgc2VjcmV0bWVtX2N0eCAqY3R4LCBnZnBfdCBnZnApDQo+ ID4gICAgICAgICBpZiAoIXBhZ2UpDQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVN Ow0KPiA+DQo+ID4gLSAgICAgICBlcnIgPSBzZXRfZGlyZWN0X21hcF9pbnZhbGlkX25vZmx1c2go cGFnZSwgbnJfcGFnZXMpOw0KPiA+ICsgICAgICAgZXJyID0gc2VjcmV0bWVtX21lbWNnX2NoYXJn ZShwYWdlLCBnZnAsIFBNRF9QQUdFX09SREVSKTsNCj4gPiAgICAgICAgIGlmIChlcnIpDQo+ID4g ICAgICAgICAgICAgICAgIGdvdG8gZXJyX2NtYV9yZWxlYXNlOw0KPiA+DQo+ID4gKyAgICAgICBl cnIgPSBzZXRfZGlyZWN0X21hcF9pbnZhbGlkX25vZmx1c2gocGFnZSwgbnJfcGFnZXMpOw0KPiA+ ICsgICAgICAgaWYgKGVycikNCj4gPiArICAgICAgICAgICAgICAgZ290byBlcnJfbWVtY2dfdW5j aGFyZ2U7DQo+ID4gKw0KPiA+ICAgICAgICAgYWRkciA9ICh1bnNpZ25lZCBsb25nKXBhZ2VfYWRk cmVzcyhwYWdlKTsNCj4gPiAgICAgICAgIGVyciA9IGdlbl9wb29sX2FkZChwb29sLCBhZGRyLCBQ TURfU0laRSwgTlVNQV9OT19OT0RFKTsNCj4gPiAgICAgICAgIGlmIChlcnIpDQo+ID4gQEAgLTgx LDYgKzExOCw4IEBAIHN0YXRpYyBpbnQgc2VjcmV0bWVtX3Bvb2xfaW5jcmVhc2Uoc3RydWN0IHNl Y3JldG1lbV9jdHggKmN0eCwgZ2ZwX3QgZ2ZwKQ0KPiA+ICAgICAgICAgICogd29uJ3QgZmFpbA0K PiA+ICAgICAgICAgICovDQo+ID4gICAgICAgICBzZXRfZGlyZWN0X21hcF9kZWZhdWx0X25vZmx1 c2gocGFnZSwgbnJfcGFnZXMpOw0KPiA+ICtlcnJfbWVtY2dfdW5jaGFyZ2U6DQo+ID4gKyAgICAg ICBzZWNyZXRtZW1fbWVtY2dfdW5jaGFyZ2UocGFnZSwgUE1EX1BBR0VfT1JERVIpOw0KPiA+ICBl cnJfY21hX3JlbGVhc2U6DQo+ID4gICAgICAgICBjbWFfcmVsZWFzZShzZWNyZXRtZW1fY21hLCBw YWdlLCBucl9wYWdlcyk7DQo+ID4gICAgICAgICByZXR1cm4gZXJyOw0KPiA+IEBAIC0zMTAsNiAr MzQ5LDcgQEAgc3RhdGljIHZvaWQgc2VjcmV0bWVtX2NsZWFudXBfY2h1bmsoc3RydWN0IGdlbl9w b29sICpwb29sLA0KPiA+ICAgICAgICAgaW50IGk7DQo+ID4NCj4gPiAgICAgICAgIHNldF9kaXJl Y3RfbWFwX2RlZmF1bHRfbm9mbHVzaChwYWdlLCBucl9wYWdlcyk7DQo+ID4gKyAgICAgICBzZWNy ZXRtZW1fbWVtY2dfdW5jaGFyZ2UocGFnZSwgUE1EX1BBR0VfT1JERVIpOw0KPiA+DQo+ID4gICAg ICAgICBmb3IgKGkgPSAwOyBpIDwgbnJfcGFnZXM7IGkrKykNCj4gPiAgICAgICAgICAgICAgICAg Y2xlYXJfaGlnaHBhZ2UocGFnZSArIGkpOw0KPiA+IC0tDQo+ID4gMi4yOC4wDQo+ID4NCj4gPg0K DQotLSANClNpbmNlcmVseSB5b3VycywNCk1pa2UuCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkxpbnV4LW52ZGltbSBtYWlsaW5nIGxpc3QgLS0gbGludXgt bnZkaW1tQGxpc3RzLjAxLm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGxpbnV4 LW52ZGltbS1sZWF2ZUBsaXN0cy4wMS5vcmcK 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=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham 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 4044DC55ABD for ; Sun, 15 Nov 2020 09:17:32 +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 EBA6322450 for ; Sun, 15 Nov 2020 09:17:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="0NwC1jAE"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="q0I4G8XB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EBA6322450 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-riscv-bounces+linux-riscv=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-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=xMKWnt4umUA0Oz4NkiQK987L7kVyK15xA/I5/Qn7JdU=; b=0NwC1jAErBRjcm1fT2Vns6mZT MNCsblCxiVu7gRNOb4PEr4p54uIet1ErLZMAGkxDp5pH2cn/NrGAGXV9MkNac773uLsv7hqwU4xUJ kPY7zKzY6T6igM40CirFZiOY9r3Vo8KeAzL85IDD+Im1FyCP6gDUyTN4oUc+2/oNKvgg9iAK/WZFl 85mnuHXUZPGYKJzEYOM3hiAX2hCr1KITkxHD4Lo8kFS7m7S7m1wGV8tmHDIs9jFmMqQfutvOg7qFW 3xQzwDbtglsSdQQn5fF8SPXGn8CxRkwU0eytra7TpS8ZKQJLKeBonYVtwxLcOEGmTZFmGOpP5MZBt 930dd/tAA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1keE9x-0002tW-Sg; Sun, 15 Nov 2020 09:17:21 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1keE9s-0002s4-Tn; Sun, 15 Nov 2020 09:17:18 +0000 Received: from kernel.org (unknown [77.125.7.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 01B8422450; Sun, 15 Nov 2020 09:17:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1605431835; bh=XrsLu3AgfKf/yhCqreqSLPfO0QbxjM5u1nh2OTK+i7M=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=q0I4G8XBAWR7g47zvvLF17b4q7dpa65b9wkXecvSGjBwSxVcsrFJ8ESXu8JFAv6n6 sdRm52xntWf8ZCcumTh9FSor5j2JPuQESup2yC2R21JKmZx1500hzTDazlR+vjkiGB IVdV6hSWm3dBik27GJTFfn5JfaFip6aaLkmt9qWY= Date: Sun, 15 Nov 2020 11:17:00 +0200 From: Mike Rapoport To: Roman Gushchin Subject: Re: [PATCH v8 6/9] secretmem: add memcg accounting Message-ID: <20201115091700.GY4758@kernel.org> References: <20201110151444.20662-1-rppt@kernel.org> <20201110151444.20662-7-rppt@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201115_041717_157474_BD5B99B0 X-CRM114-Status: GOOD ( 32.36 ) X-BeenThere: linux-riscv@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 , David Hildenbrand , Peter Zijlstra , Catalin Marinas , Dave Hansen , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, "H. Peter Anvin" , Christopher Lameter , Shuah Khan , Thomas Gleixner , Elena Reshetova , linux-arch@vger.kernel.org, Tycho Andersen , linux-nvdimm@lists.01.org, Will Deacon , x86@kernel.org, Matthew Wilcox , Mike Rapoport , Ingo Molnar , Michael Kerrisk , Arnd Bergmann , James Bottomley , Borislav Petkov , Alexander Viro , Andy Lutomirski , Paul Walmsley , "Kirill A. Shutemov" , Dan Williams , linux-arm-kernel@lists.infradead.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Palmer Dabbelt , linux-fsdevel@vger.kernel.org, Andrew Morton , Rick Edgecombe Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gRnJpLCBOb3YgMTMsIDIwMjAgYXQgMDM6NDI6MjVQTSAtMDgwMCwgUm9tYW4gR3VzaGNoaW4g d3JvdGU6Cj4g0LLRgiwgMTAg0L3QvtGP0LEuIDIwMjAg0LMuINCyIDA3OjE2LCBNaWtlIFJhcG9w b3J0IDxycHB0QGtlcm5lbC5vcmc+Ogo+ID4KPiA+IEZyb206IE1pa2UgUmFwb3BvcnQgPHJwcHRA bGludXguaWJtLmNvbT4KPiA+Cj4gPiBBY2NvdW50IG1lbW9yeSBjb25zdW1lZCBieSBzZWNyZXRt ZW0gdG8gbWVtY2cuIFRoZSBhY2NvdW50aW5nIGlzIHVwZGF0ZWQKPiA+IHdoZW4gdGhlIG1lbW9y eSBpcyBhY3R1YWxseSBhbGxvY2F0ZWQgYW5kIGZyZWVkLgo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6 IE1pa2UgUmFwb3BvcnQgPHJwcHRAbGludXguaWJtLmNvbT4KPiA+IC0tLQo+ID4gIG1tL2ZpbGVt YXAuYyAgIHwgIDIgKy0KPiA+ICBtbS9zZWNyZXRtZW0uYyB8IDQyICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvbW0vZmlsZW1hcC5j IGIvbW0vZmlsZW1hcC5jCj4gPiBpbmRleCAyNDljZjQ4OWY1ZGYuLjExMzg3YTA3NzM3MyAxMDA2 NDQKPiA+IC0tLSBhL21tL2ZpbGVtYXAuYwo+ID4gKysrIGIvbW0vZmlsZW1hcC5jCj4gPiBAQCAt ODQ0LDcgKzg0NCw3IEBAIHN0YXRpYyBub2lubGluZSBpbnQgX19hZGRfdG9fcGFnZV9jYWNoZV9s b2NrZWQoc3RydWN0IHBhZ2UgKnBhZ2UsCj4gPiAgICAgICAgIHBhZ2UtPm1hcHBpbmcgPSBtYXBw aW5nOwo+ID4gICAgICAgICBwYWdlLT5pbmRleCA9IG9mZnNldDsKPiA+Cj4gPiAtICAgICAgIGlm ICghaHVnZSkgewo+ID4gKyAgICAgICBpZiAoIWh1Z2UgJiYgIXBhZ2UtPm1lbWNnX2RhdGEpIHsK PiA+ICAgICAgICAgICAgICAgICBlcnJvciA9IG1lbV9jZ3JvdXBfY2hhcmdlKHBhZ2UsIGN1cnJl bnQtPm1tLCBnZnApOwo+ID4gICAgICAgICAgICAgICAgIGlmIChlcnJvcikKPiA+ICAgICAgICAg ICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Cj4gPiBkaWZmIC0tZ2l0IGEvbW0vc2VjcmV0bWVt LmMgYi9tbS9zZWNyZXRtZW0uYwo+ID4gaW5kZXggMWFhMmI3Y2ZmZTBkLi4xZWI3NjY3MDE2ZmEg MTAwNjQ0Cj4gPiAtLS0gYS9tbS9zZWNyZXRtZW0uYwo+ID4gKysrIGIvbW0vc2VjcmV0bWVtLmMK PiA+IEBAIC0xNyw2ICsxNyw3IEBACj4gPiAgI2luY2x1ZGUgPGxpbnV4L3N5c2NhbGxzLmg+Cj4g PiAgI2luY2x1ZGUgPGxpbnV4L21lbWJsb2NrLmg+Cj4gPiAgI2luY2x1ZGUgPGxpbnV4L3BzZXVk b19mcy5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9tZW1jb250cm9sLmg+Cj4gPiAgI2luY2x1ZGUg PGxpbnV4L3NldF9tZW1vcnkuaD4KPiA+ICAjaW5jbHVkZSA8bGludXgvc2NoZWQvc2lnbmFsLmg+ Cj4gPgo+ID4gQEAgLTQ5LDYgKzUwLDM4IEBAIHN0cnVjdCBzZWNyZXRtZW1fY3R4IHsKPiA+Cj4g PiAgc3RhdGljIHN0cnVjdCBjbWEgKnNlY3JldG1lbV9jbWE7Cj4gPgo+IAo+IEhpIE1pa2UhCj4g Cj4gPiArc3RhdGljIGludCBzZWNyZXRtZW1fbWVtY2dfY2hhcmdlKHN0cnVjdCBwYWdlICpwYWdl LCBnZnBfdCBnZnAsIGludCBvcmRlcikKPiA+ICt7Cj4gPiArICAgICAgIHVuc2lnbmVkIGxvbmcg bnJfcGFnZXMgPSAoMSA8PCBvcmRlcik7Cj4gPiArICAgICAgIGludCBpLCBlcnI7Cj4gPiArCj4g PiArICAgICAgIGVyciA9IG1lbWNnX2ttZW1fY2hhcmdlX3BhZ2UocGFnZSwgZ2ZwLCBvcmRlcik7 Cj4gPiArICAgICAgIGlmIChlcnIpCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIGVycjsKPiA+ ICsKPiA+ICsgICAgICAgZm9yIChpID0gMTsgaSA8IG5yX3BhZ2VzOyBpKyspIHsKPiA+ICsgICAg ICAgICAgICAgICBzdHJ1Y3QgcGFnZSAqcCA9IHBhZ2UgKyBpOwo+ID4gKwo+ID4gKyAgICAgICAg ICAgICAgIHAtPm1lbWNnX2RhdGEgPSBwYWdlLT5tZW1jZ19kYXRhOwo+ID4gKyAgICAgICB9Cj4g Cj4gSG0sIGl0IGxvb2tzIHZlcnkgc3RyYW5nZSB0byBtZS4gV2h5IGRvIHdlIG5lZWQgdG8gY29w eSBtZW1jZ19kYXRhPwo+IFdoYXQgYWJvdXQgY3NzIHJlZmVyZW5jZSBjb3VudGluZz8KCkkgbmVl ZCB0byBjb3B5IG1lbWNnX2RhdGEgdG8gbWFyayBhIHBhZ2UgYXMgYmVpbmcgYWNjb3VudGVkIHNv IGl0IHdvbid0CmJlIGNoYXJnZWQgYWdhaW4gd2hlbiBpdCBpcyBhZGRlZCB0byBwYWdlIGNhY2hl LgoKV2hhdCBoYXBwZW5zIGhlcmUgaXMgdGhhdCBJIGFsbG9jYXRlIGEgbGFyZ2UgcGFnZSBhbmQg dGhlbiB1c2UgaXQgYXMgYQpsb2NhbCBjYWNoZSBmb3IgYWxsb2NhdGlvbnMgaW4gc2VjcmV0bWVt X2ZhdWx0KCkuIEkgY2hhcmdlIHRoZSBsYXJnZQpwYWdlIGFzIGttZW0uIAoKRHVyaW5nIHNlY3Jl dG1lbV9mYXVsdCgpIGEgc21hbGwgc3ViLXBhZ2UgZnJvbSB0aGF0IGxhcmdlIHBhZ2UgZ29lcyBp bnRvCnBhZ2UgY2FjaGUgYW5kIHRoZXJlIEkgc2tpcCBpdHMgbWVtY2cgYWNjb3VudGluZy4KCklu IHRoZSBlbmQsIHdoZW4gdGhlIGxhcmdlIHBhZ2UgaXMgZnJlZWQsIHRoZSBtZW1jZ19kYXRhIGZv ciBhbGwgaXRzCnN1Yi1wYWdlcyBpcyBjbGVhcmVkIGFuZCBJIHVuY2hhcmdlIG1lbWNnIHdpdGgg dGhlIG9yZGVyIG9mIGxhcmdlIHBhZ2UuCgpBbiBhbHRlcm5hdGl2ZSB3b3VsZCBiZSB0byB1bmNo YXJnZSBhIHNtYWxsIHBhZ2UgZnJvbSBrbWVtIGluCnNlY3JldG1lbV9mYXVsdCgpIGFuZCBtYWtl IHRoaXMgcGFnZSBjaGFyZ2VkIGluIGFkZF90b19wYWdlX2NhY2hlKCksIGJ1dAp0aGF0IHdvdWxk IGNvbXBsaWNhdGUgdGhlIHJlbGVhc2UgcGF0aCBhcyBJIHdvdWxkIG5lZWQgdG8gcmUtY2hhcmdl IHRoZQpzbWFsbCBwYWdlIGJhY2sgdG8ga21lbSBhdCBzZWNyZXRtZW1fZnJlZXBhZ2UoKSBhbmQg dHJhY2sgYWxsIHRoZQpwYXJ0aWNpcGF0aW5nIG1lbWNncyB0aWxsIHRoZSBsYXJnZSBwYWdlIGlz IGZyZWVkLgoKPiBBbmQgd2hhdCBhYm91dCBzdGF0aXN0aWNzPwoKSG1tLCB0aGF0J3MgcHJvYmFi bHkgd29uJ3QgYmUgYWNjdXJhdGUgOi0vCgo+IEknbSBzb3JyeSBmb3IgYmVpbmcgbGF0ZS4KPiAK PiBUaGFuayB5b3UhCj4gCj4gPiArCj4gPiArICAgICAgIHJldHVybiAwOwo+ID4gK30KPiA+ICsK PiA+ICtzdGF0aWMgdm9pZCBzZWNyZXRtZW1fbWVtY2dfdW5jaGFyZ2Uoc3RydWN0IHBhZ2UgKnBh Z2UsIGludCBvcmRlcikKPiA+ICt7Cj4gPiArICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfcGFnZXMg PSAoMSA8PCBvcmRlcik7Cj4gPiArICAgICAgIGludCBpOwo+ID4gKwo+ID4gKyAgICAgICBmb3Ig KGkgPSAxOyBpIDwgbnJfcGFnZXM7IGkrKykgewo+ID4gKyAgICAgICAgICAgICAgIHN0cnVjdCBw YWdlICpwID0gcGFnZSArIGk7Cj4gPiArCj4gPiArICAgICAgICAgICAgICAgcC0+bWVtY2dfZGF0 YSA9IDA7Cj4gPiArICAgICAgIH0KPiA+ICsKPiA+ICsgICAgICAgbWVtY2dfa21lbV91bmNoYXJn ZV9wYWdlKHBhZ2UsIFBNRF9QQUdFX09SREVSKTsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGljIGlu dCBzZWNyZXRtZW1fcG9vbF9pbmNyZWFzZShzdHJ1Y3Qgc2VjcmV0bWVtX2N0eCAqY3R4LCBnZnBf dCBnZnApCj4gPiAgewo+ID4gICAgICAgICB1bnNpZ25lZCBsb25nIG5yX3BhZ2VzID0gKDEgPDwg UE1EX1BBR0VfT1JERVIpOwo+ID4gQEAgLTYxLDEwICs5NCwxNCBAQCBzdGF0aWMgaW50IHNlY3Jl dG1lbV9wb29sX2luY3JlYXNlKHN0cnVjdCBzZWNyZXRtZW1fY3R4ICpjdHgsIGdmcF90IGdmcCkK PiA+ICAgICAgICAgaWYgKCFwYWdlKQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVN Owo+ID4KPiA+IC0gICAgICAgZXJyID0gc2V0X2RpcmVjdF9tYXBfaW52YWxpZF9ub2ZsdXNoKHBh Z2UsIG5yX3BhZ2VzKTsKPiA+ICsgICAgICAgZXJyID0gc2VjcmV0bWVtX21lbWNnX2NoYXJnZShw YWdlLCBnZnAsIFBNRF9QQUdFX09SREVSKTsKPiA+ICAgICAgICAgaWYgKGVycikKPiA+ICAgICAg ICAgICAgICAgICBnb3RvIGVycl9jbWFfcmVsZWFzZTsKPiA+Cj4gPiArICAgICAgIGVyciA9IHNl dF9kaXJlY3RfbWFwX2ludmFsaWRfbm9mbHVzaChwYWdlLCBucl9wYWdlcyk7Cj4gPiArICAgICAg IGlmIChlcnIpCj4gPiArICAgICAgICAgICAgICAgZ290byBlcnJfbWVtY2dfdW5jaGFyZ2U7Cj4g PiArCj4gPiAgICAgICAgIGFkZHIgPSAodW5zaWduZWQgbG9uZylwYWdlX2FkZHJlc3MocGFnZSk7 Cj4gPiAgICAgICAgIGVyciA9IGdlbl9wb29sX2FkZChwb29sLCBhZGRyLCBQTURfU0laRSwgTlVN QV9OT19OT0RFKTsKPiA+ICAgICAgICAgaWYgKGVycikKPiA+IEBAIC04MSw2ICsxMTgsOCBAQCBz dGF0aWMgaW50IHNlY3JldG1lbV9wb29sX2luY3JlYXNlKHN0cnVjdCBzZWNyZXRtZW1fY3R4ICpj dHgsIGdmcF90IGdmcCkKPiA+ICAgICAgICAgICogd29uJ3QgZmFpbAo+ID4gICAgICAgICAgKi8K PiA+ICAgICAgICAgc2V0X2RpcmVjdF9tYXBfZGVmYXVsdF9ub2ZsdXNoKHBhZ2UsIG5yX3BhZ2Vz KTsKPiA+ICtlcnJfbWVtY2dfdW5jaGFyZ2U6Cj4gPiArICAgICAgIHNlY3JldG1lbV9tZW1jZ191 bmNoYXJnZShwYWdlLCBQTURfUEFHRV9PUkRFUik7Cj4gPiAgZXJyX2NtYV9yZWxlYXNlOgo+ID4g ICAgICAgICBjbWFfcmVsZWFzZShzZWNyZXRtZW1fY21hLCBwYWdlLCBucl9wYWdlcyk7Cj4gPiAg ICAgICAgIHJldHVybiBlcnI7Cj4gPiBAQCAtMzEwLDYgKzM0OSw3IEBAIHN0YXRpYyB2b2lkIHNl Y3JldG1lbV9jbGVhbnVwX2NodW5rKHN0cnVjdCBnZW5fcG9vbCAqcG9vbCwKPiA+ICAgICAgICAg aW50IGk7Cj4gPgo+ID4gICAgICAgICBzZXRfZGlyZWN0X21hcF9kZWZhdWx0X25vZmx1c2gocGFn ZSwgbnJfcGFnZXMpOwo+ID4gKyAgICAgICBzZWNyZXRtZW1fbWVtY2dfdW5jaGFyZ2UocGFnZSwg UE1EX1BBR0VfT1JERVIpOwo+ID4KPiA+ICAgICAgICAgZm9yIChpID0gMDsgaSA8IG5yX3BhZ2Vz OyBpKyspCj4gPiAgICAgICAgICAgICAgICAgY2xlYXJfaGlnaHBhZ2UocGFnZSArIGkpOwo+ID4g LS0KPiA+IDIuMjguMAo+ID4KPiA+CgotLSAKU2luY2VyZWx5IHlvdXJzLApNaWtlLgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFp bGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo= 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=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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 8FB76C2D0E4 for ; Sun, 15 Nov 2020 09:18:46 +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 0FD7F22450 for ; Sun, 15 Nov 2020 09:18:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="GTM9Zs6l"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="q0I4G8XB" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0FD7F22450 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org 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-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=aGJMfeViovmBcOR+VMkXcwvdny0EHU6HvuHlmdbZqcs=; b=GTM9Zs6lYut0IN58bnaxFm2Zg F+42Rkqv4SOjYSl9d/HFGy5bZM1+NRGgX/iCdgqF61DbUcSbhZv6HORj4Zj5ogJEB9ry7LyED9XI+ UbOt6G8X5DnqhOIa7Mo/y019cz5LtxuiHivaPNMf/sLLkYXcTf8t2Qd7281OQSgJUf2+JbWIaxZ2C X9tKHr6+I2+pzkpypXqNEMVQii1rFdVghF4zc07ew608TKmBPYJf9nKAthCDrZ12KoAmvTPSeA8SU em8qYEYJvt+y50pAPVTsjIwKLoU/c2rwDgdN2+JmcRrPzjuUoGY4YqjUdCOShVYr1ajcbWoZ1fjHy Dhvlq79fw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1keE9w-0002t2-06; Sun, 15 Nov 2020 09:17:20 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1keE9s-0002s4-Tn; Sun, 15 Nov 2020 09:17:18 +0000 Received: from kernel.org (unknown [77.125.7.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 01B8422450; Sun, 15 Nov 2020 09:17:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1605431835; bh=XrsLu3AgfKf/yhCqreqSLPfO0QbxjM5u1nh2OTK+i7M=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=q0I4G8XBAWR7g47zvvLF17b4q7dpa65b9wkXecvSGjBwSxVcsrFJ8ESXu8JFAv6n6 sdRm52xntWf8ZCcumTh9FSor5j2JPuQESup2yC2R21JKmZx1500hzTDazlR+vjkiGB IVdV6hSWm3dBik27GJTFfn5JfaFip6aaLkmt9qWY= Date: Sun, 15 Nov 2020 11:17:00 +0200 From: Mike Rapoport To: Roman Gushchin Subject: Re: [PATCH v8 6/9] secretmem: add memcg accounting Message-ID: <20201115091700.GY4758@kernel.org> References: <20201110151444.20662-1-rppt@kernel.org> <20201110151444.20662-7-rppt@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201115_041717_157474_BD5B99B0 X-CRM114-Status: GOOD ( 32.36 ) 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 , David Hildenbrand , Peter Zijlstra , Catalin Marinas , Dave Hansen , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, "H. Peter Anvin" , Christopher Lameter , Shuah Khan , Thomas Gleixner , Elena Reshetova , linux-arch@vger.kernel.org, Tycho Andersen , linux-nvdimm@lists.01.org, Will Deacon , x86@kernel.org, Matthew Wilcox , Mike Rapoport , Ingo Molnar , Michael Kerrisk , Arnd Bergmann , James Bottomley , Borislav Petkov , Alexander Viro , Andy Lutomirski , Paul Walmsley , "Kirill A. Shutemov" , Dan Williams , linux-arm-kernel@lists.infradead.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Palmer Dabbelt , linux-fsdevel@vger.kernel.org, Andrew Morton , Rick Edgecombe 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 T24gRnJpLCBOb3YgMTMsIDIwMjAgYXQgMDM6NDI6MjVQTSAtMDgwMCwgUm9tYW4gR3VzaGNoaW4g d3JvdGU6Cj4g0LLRgiwgMTAg0L3QvtGP0LEuIDIwMjAg0LMuINCyIDA3OjE2LCBNaWtlIFJhcG9w b3J0IDxycHB0QGtlcm5lbC5vcmc+Ogo+ID4KPiA+IEZyb206IE1pa2UgUmFwb3BvcnQgPHJwcHRA bGludXguaWJtLmNvbT4KPiA+Cj4gPiBBY2NvdW50IG1lbW9yeSBjb25zdW1lZCBieSBzZWNyZXRt ZW0gdG8gbWVtY2cuIFRoZSBhY2NvdW50aW5nIGlzIHVwZGF0ZWQKPiA+IHdoZW4gdGhlIG1lbW9y eSBpcyBhY3R1YWxseSBhbGxvY2F0ZWQgYW5kIGZyZWVkLgo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6 IE1pa2UgUmFwb3BvcnQgPHJwcHRAbGludXguaWJtLmNvbT4KPiA+IC0tLQo+ID4gIG1tL2ZpbGVt YXAuYyAgIHwgIDIgKy0KPiA+ICBtbS9zZWNyZXRtZW0uYyB8IDQyICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvbW0vZmlsZW1hcC5j IGIvbW0vZmlsZW1hcC5jCj4gPiBpbmRleCAyNDljZjQ4OWY1ZGYuLjExMzg3YTA3NzM3MyAxMDA2 NDQKPiA+IC0tLSBhL21tL2ZpbGVtYXAuYwo+ID4gKysrIGIvbW0vZmlsZW1hcC5jCj4gPiBAQCAt ODQ0LDcgKzg0NCw3IEBAIHN0YXRpYyBub2lubGluZSBpbnQgX19hZGRfdG9fcGFnZV9jYWNoZV9s b2NrZWQoc3RydWN0IHBhZ2UgKnBhZ2UsCj4gPiAgICAgICAgIHBhZ2UtPm1hcHBpbmcgPSBtYXBw aW5nOwo+ID4gICAgICAgICBwYWdlLT5pbmRleCA9IG9mZnNldDsKPiA+Cj4gPiAtICAgICAgIGlm ICghaHVnZSkgewo+ID4gKyAgICAgICBpZiAoIWh1Z2UgJiYgIXBhZ2UtPm1lbWNnX2RhdGEpIHsK PiA+ICAgICAgICAgICAgICAgICBlcnJvciA9IG1lbV9jZ3JvdXBfY2hhcmdlKHBhZ2UsIGN1cnJl bnQtPm1tLCBnZnApOwo+ID4gICAgICAgICAgICAgICAgIGlmIChlcnJvcikKPiA+ICAgICAgICAg ICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Cj4gPiBkaWZmIC0tZ2l0IGEvbW0vc2VjcmV0bWVt LmMgYi9tbS9zZWNyZXRtZW0uYwo+ID4gaW5kZXggMWFhMmI3Y2ZmZTBkLi4xZWI3NjY3MDE2ZmEg MTAwNjQ0Cj4gPiAtLS0gYS9tbS9zZWNyZXRtZW0uYwo+ID4gKysrIGIvbW0vc2VjcmV0bWVtLmMK PiA+IEBAIC0xNyw2ICsxNyw3IEBACj4gPiAgI2luY2x1ZGUgPGxpbnV4L3N5c2NhbGxzLmg+Cj4g PiAgI2luY2x1ZGUgPGxpbnV4L21lbWJsb2NrLmg+Cj4gPiAgI2luY2x1ZGUgPGxpbnV4L3BzZXVk b19mcy5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9tZW1jb250cm9sLmg+Cj4gPiAgI2luY2x1ZGUg PGxpbnV4L3NldF9tZW1vcnkuaD4KPiA+ICAjaW5jbHVkZSA8bGludXgvc2NoZWQvc2lnbmFsLmg+ Cj4gPgo+ID4gQEAgLTQ5LDYgKzUwLDM4IEBAIHN0cnVjdCBzZWNyZXRtZW1fY3R4IHsKPiA+Cj4g PiAgc3RhdGljIHN0cnVjdCBjbWEgKnNlY3JldG1lbV9jbWE7Cj4gPgo+IAo+IEhpIE1pa2UhCj4g Cj4gPiArc3RhdGljIGludCBzZWNyZXRtZW1fbWVtY2dfY2hhcmdlKHN0cnVjdCBwYWdlICpwYWdl LCBnZnBfdCBnZnAsIGludCBvcmRlcikKPiA+ICt7Cj4gPiArICAgICAgIHVuc2lnbmVkIGxvbmcg bnJfcGFnZXMgPSAoMSA8PCBvcmRlcik7Cj4gPiArICAgICAgIGludCBpLCBlcnI7Cj4gPiArCj4g PiArICAgICAgIGVyciA9IG1lbWNnX2ttZW1fY2hhcmdlX3BhZ2UocGFnZSwgZ2ZwLCBvcmRlcik7 Cj4gPiArICAgICAgIGlmIChlcnIpCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIGVycjsKPiA+ ICsKPiA+ICsgICAgICAgZm9yIChpID0gMTsgaSA8IG5yX3BhZ2VzOyBpKyspIHsKPiA+ICsgICAg ICAgICAgICAgICBzdHJ1Y3QgcGFnZSAqcCA9IHBhZ2UgKyBpOwo+ID4gKwo+ID4gKyAgICAgICAg ICAgICAgIHAtPm1lbWNnX2RhdGEgPSBwYWdlLT5tZW1jZ19kYXRhOwo+ID4gKyAgICAgICB9Cj4g Cj4gSG0sIGl0IGxvb2tzIHZlcnkgc3RyYW5nZSB0byBtZS4gV2h5IGRvIHdlIG5lZWQgdG8gY29w eSBtZW1jZ19kYXRhPwo+IFdoYXQgYWJvdXQgY3NzIHJlZmVyZW5jZSBjb3VudGluZz8KCkkgbmVl ZCB0byBjb3B5IG1lbWNnX2RhdGEgdG8gbWFyayBhIHBhZ2UgYXMgYmVpbmcgYWNjb3VudGVkIHNv IGl0IHdvbid0CmJlIGNoYXJnZWQgYWdhaW4gd2hlbiBpdCBpcyBhZGRlZCB0byBwYWdlIGNhY2hl LgoKV2hhdCBoYXBwZW5zIGhlcmUgaXMgdGhhdCBJIGFsbG9jYXRlIGEgbGFyZ2UgcGFnZSBhbmQg dGhlbiB1c2UgaXQgYXMgYQpsb2NhbCBjYWNoZSBmb3IgYWxsb2NhdGlvbnMgaW4gc2VjcmV0bWVt X2ZhdWx0KCkuIEkgY2hhcmdlIHRoZSBsYXJnZQpwYWdlIGFzIGttZW0uIAoKRHVyaW5nIHNlY3Jl dG1lbV9mYXVsdCgpIGEgc21hbGwgc3ViLXBhZ2UgZnJvbSB0aGF0IGxhcmdlIHBhZ2UgZ29lcyBp bnRvCnBhZ2UgY2FjaGUgYW5kIHRoZXJlIEkgc2tpcCBpdHMgbWVtY2cgYWNjb3VudGluZy4KCklu IHRoZSBlbmQsIHdoZW4gdGhlIGxhcmdlIHBhZ2UgaXMgZnJlZWQsIHRoZSBtZW1jZ19kYXRhIGZv ciBhbGwgaXRzCnN1Yi1wYWdlcyBpcyBjbGVhcmVkIGFuZCBJIHVuY2hhcmdlIG1lbWNnIHdpdGgg dGhlIG9yZGVyIG9mIGxhcmdlIHBhZ2UuCgpBbiBhbHRlcm5hdGl2ZSB3b3VsZCBiZSB0byB1bmNo YXJnZSBhIHNtYWxsIHBhZ2UgZnJvbSBrbWVtIGluCnNlY3JldG1lbV9mYXVsdCgpIGFuZCBtYWtl IHRoaXMgcGFnZSBjaGFyZ2VkIGluIGFkZF90b19wYWdlX2NhY2hlKCksIGJ1dAp0aGF0IHdvdWxk IGNvbXBsaWNhdGUgdGhlIHJlbGVhc2UgcGF0aCBhcyBJIHdvdWxkIG5lZWQgdG8gcmUtY2hhcmdl IHRoZQpzbWFsbCBwYWdlIGJhY2sgdG8ga21lbSBhdCBzZWNyZXRtZW1fZnJlZXBhZ2UoKSBhbmQg dHJhY2sgYWxsIHRoZQpwYXJ0aWNpcGF0aW5nIG1lbWNncyB0aWxsIHRoZSBsYXJnZSBwYWdlIGlz IGZyZWVkLgoKPiBBbmQgd2hhdCBhYm91dCBzdGF0aXN0aWNzPwoKSG1tLCB0aGF0J3MgcHJvYmFi bHkgd29uJ3QgYmUgYWNjdXJhdGUgOi0vCgo+IEknbSBzb3JyeSBmb3IgYmVpbmcgbGF0ZS4KPiAK PiBUaGFuayB5b3UhCj4gCj4gPiArCj4gPiArICAgICAgIHJldHVybiAwOwo+ID4gK30KPiA+ICsK PiA+ICtzdGF0aWMgdm9pZCBzZWNyZXRtZW1fbWVtY2dfdW5jaGFyZ2Uoc3RydWN0IHBhZ2UgKnBh Z2UsIGludCBvcmRlcikKPiA+ICt7Cj4gPiArICAgICAgIHVuc2lnbmVkIGxvbmcgbnJfcGFnZXMg PSAoMSA8PCBvcmRlcik7Cj4gPiArICAgICAgIGludCBpOwo+ID4gKwo+ID4gKyAgICAgICBmb3Ig KGkgPSAxOyBpIDwgbnJfcGFnZXM7IGkrKykgewo+ID4gKyAgICAgICAgICAgICAgIHN0cnVjdCBw YWdlICpwID0gcGFnZSArIGk7Cj4gPiArCj4gPiArICAgICAgICAgICAgICAgcC0+bWVtY2dfZGF0 YSA9IDA7Cj4gPiArICAgICAgIH0KPiA+ICsKPiA+ICsgICAgICAgbWVtY2dfa21lbV91bmNoYXJn ZV9wYWdlKHBhZ2UsIFBNRF9QQUdFX09SREVSKTsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGljIGlu dCBzZWNyZXRtZW1fcG9vbF9pbmNyZWFzZShzdHJ1Y3Qgc2VjcmV0bWVtX2N0eCAqY3R4LCBnZnBf dCBnZnApCj4gPiAgewo+ID4gICAgICAgICB1bnNpZ25lZCBsb25nIG5yX3BhZ2VzID0gKDEgPDwg UE1EX1BBR0VfT1JERVIpOwo+ID4gQEAgLTYxLDEwICs5NCwxNCBAQCBzdGF0aWMgaW50IHNlY3Jl dG1lbV9wb29sX2luY3JlYXNlKHN0cnVjdCBzZWNyZXRtZW1fY3R4ICpjdHgsIGdmcF90IGdmcCkK PiA+ICAgICAgICAgaWYgKCFwYWdlKQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVN Owo+ID4KPiA+IC0gICAgICAgZXJyID0gc2V0X2RpcmVjdF9tYXBfaW52YWxpZF9ub2ZsdXNoKHBh Z2UsIG5yX3BhZ2VzKTsKPiA+ICsgICAgICAgZXJyID0gc2VjcmV0bWVtX21lbWNnX2NoYXJnZShw YWdlLCBnZnAsIFBNRF9QQUdFX09SREVSKTsKPiA+ICAgICAgICAgaWYgKGVycikKPiA+ICAgICAg ICAgICAgICAgICBnb3RvIGVycl9jbWFfcmVsZWFzZTsKPiA+Cj4gPiArICAgICAgIGVyciA9IHNl dF9kaXJlY3RfbWFwX2ludmFsaWRfbm9mbHVzaChwYWdlLCBucl9wYWdlcyk7Cj4gPiArICAgICAg IGlmIChlcnIpCj4gPiArICAgICAgICAgICAgICAgZ290byBlcnJfbWVtY2dfdW5jaGFyZ2U7Cj4g PiArCj4gPiAgICAgICAgIGFkZHIgPSAodW5zaWduZWQgbG9uZylwYWdlX2FkZHJlc3MocGFnZSk7 Cj4gPiAgICAgICAgIGVyciA9IGdlbl9wb29sX2FkZChwb29sLCBhZGRyLCBQTURfU0laRSwgTlVN QV9OT19OT0RFKTsKPiA+ICAgICAgICAgaWYgKGVycikKPiA+IEBAIC04MSw2ICsxMTgsOCBAQCBz dGF0aWMgaW50IHNlY3JldG1lbV9wb29sX2luY3JlYXNlKHN0cnVjdCBzZWNyZXRtZW1fY3R4ICpj dHgsIGdmcF90IGdmcCkKPiA+ICAgICAgICAgICogd29uJ3QgZmFpbAo+ID4gICAgICAgICAgKi8K PiA+ICAgICAgICAgc2V0X2RpcmVjdF9tYXBfZGVmYXVsdF9ub2ZsdXNoKHBhZ2UsIG5yX3BhZ2Vz KTsKPiA+ICtlcnJfbWVtY2dfdW5jaGFyZ2U6Cj4gPiArICAgICAgIHNlY3JldG1lbV9tZW1jZ191 bmNoYXJnZShwYWdlLCBQTURfUEFHRV9PUkRFUik7Cj4gPiAgZXJyX2NtYV9yZWxlYXNlOgo+ID4g ICAgICAgICBjbWFfcmVsZWFzZShzZWNyZXRtZW1fY21hLCBwYWdlLCBucl9wYWdlcyk7Cj4gPiAg ICAgICAgIHJldHVybiBlcnI7Cj4gPiBAQCAtMzEwLDYgKzM0OSw3IEBAIHN0YXRpYyB2b2lkIHNl Y3JldG1lbV9jbGVhbnVwX2NodW5rKHN0cnVjdCBnZW5fcG9vbCAqcG9vbCwKPiA+ICAgICAgICAg aW50IGk7Cj4gPgo+ID4gICAgICAgICBzZXRfZGlyZWN0X21hcF9kZWZhdWx0X25vZmx1c2gocGFn ZSwgbnJfcGFnZXMpOwo+ID4gKyAgICAgICBzZWNyZXRtZW1fbWVtY2dfdW5jaGFyZ2UocGFnZSwg UE1EX1BBR0VfT1JERVIpOwo+ID4KPiA+ICAgICAgICAgZm9yIChpID0gMDsgaSA8IG5yX3BhZ2Vz OyBpKyspCj4gPiAgICAgICAgICAgICAgICAgY2xlYXJfaGlnaHBhZ2UocGFnZSArIGkpOwo+ID4g LS0KPiA+IDIuMjguMAo+ID4KPiA+CgotLSAKU2luY2VyZWx5IHlvdXJzLApNaWtlLgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=