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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3E0BBC433FE for ; Fri, 27 May 2022 12:13:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344558AbiE0MNW (ORCPT ); Fri, 27 May 2022 08:13:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56648 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345614AbiE0MLz (ORCPT ); Fri, 27 May 2022 08:11:55 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB2A715A768; Fri, 27 May 2022 04:58:56 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 227D161E2A; Fri, 27 May 2022 11:58:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F3CA1C385A9; Fri, 27 May 2022 11:58:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1653652735; bh=8Xvx2MIcxZDbHjwzkoQfpdoBGzgQWatAXhXPa8e5VS4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=NxrpKW7mg//pPsL6j290DqQ/0N6GhSBhKSII4E0w0OISVoHPKMcFtW9UVLfi3r7NK isd/D24Ta81ZcCsYDR7tMr5wAfy6aadELVtckgKiuz+vscBNtlg1oL7jnQHxlkj0BI fn8YkSVONlR49C1VEoo3EOXKIEWGaEI7OV2D/v20= Date: Fri, 27 May 2022 13:49:16 +0200 From: Greg KH To: Zhang Yuchen Cc: akpm@linux-foundation.org, david@redhat.com, peterz@infradead.org, mingo@redhat.com, ast@kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org, linux-api@vger.kernel.org, fam.zheng@bytedance.com Subject: Re: [PATCH] procfs: add syscall statistics Message-ID: References: <20220527110959.54559-1-zhangyuchen.lcr@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220527110959.54559-1-zhangyuchen.lcr@bytedance.com> Precedence: bulk List-ID: X-Mailing-List: linux-api@vger.kernel.org On Fri, May 27, 2022 at 07:09:59PM +0800, Zhang Yuchen wrote: > Add /proc/syscalls to display percpu syscall count. > > We need a less resource-intensive way to count syscall per cpu > for system problem location. Why? How is this less resource intensive than perf? > There is a similar utility syscount in the BCC project, but syscount > has a high performance cost. What is that cost? > The following is a comparison on the same machine, using UnixBench > System Call Overhead: > > ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━┓ > ┃ Change ┃ Unixbench Score ┃ Loss ┃ > ┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━┩ > │ no change │ 1072.6 │ --- │ > │ syscall count │ 982.5 │ 8.40% │ > │ bpf syscount │ 614.2 │ 42.74% │ > └───────────────┴─────────────────┴────────┘ Again, what about perf? > UnixBench System Call Use sys_gettid to test, this system call only reads > one variable, so the performance penalty seems large. When tested with > fork, the test scores were almost the same. > > So the conclusion is that it does not have a significant impact on system > call performance. 8% is huge for a system-wide decrease in performance. Who would ever use this? > This function depends on CONFIG_FTRACE_SYSCALLS because the system call > number is stored in syscall_metadata. > > Signed-off-by: Zhang Yuchen > --- > Documentation/filesystems/proc.rst | 28 +++++++++ > arch/arm64/include/asm/syscall_wrapper.h | 2 +- > arch/s390/include/asm/syscall_wrapper.h | 4 +- > arch/x86/include/asm/syscall_wrapper.h | 2 +- > fs/proc/Kconfig | 7 +++ > fs/proc/Makefile | 1 + > fs/proc/syscall.c | 79 ++++++++++++++++++++++++ > include/linux/syscalls.h | 51 +++++++++++++-- > 8 files changed, 165 insertions(+), 9 deletions(-) > create mode 100644 fs/proc/syscall.c > > diff --git a/Documentation/filesystems/proc.rst b/Documentation/filesystems/proc.rst > index 1bc91fb8c321..80394a98a192 100644 > --- a/Documentation/filesystems/proc.rst > +++ b/Documentation/filesystems/proc.rst > @@ -686,6 +686,7 @@ files are there, and which are missing. > fs File system parameters, currently nfs/exports (2.4) > ide Directory containing info about the IDE subsystem > interrupts Interrupt usage > + syscalls Syscall count for each cpu > iomem Memory map (2.4) > ioports I/O port usage > irq Masks for irq to cpu affinity (2.4)(smp?) > @@ -1225,6 +1226,33 @@ Provides counts of softirq handlers serviced since boot time, for each CPU. > HRTIMER: 0 0 0 0 > RCU: 1678 1769 2178 2250 > > +syscalls > +~~~~~~~~ > + > +Provides counts of syscall since boot time, for each cpu. > + > +:: > + > + > cat /proc/syscalls > + CPU0 CPU1 CPU2 CPU3 > + 0: 3743 3099 3770 3242 sys_read > + 1: 222 559 822 522 sys_write > + 2: 0 0 0 0 sys_open > + 3: 6481 18754 12077 7349 sys_close > + 4: 11362 11120 11343 10665 sys_newstat > + 5: 5224 13880 8578 5971 sys_newfstat > + 6: 1228 1269 1459 1508 sys_newlstat > + 7: 90 43 64 67 sys_poll > + 8: 1635 1000 2071 1161 sys_lseek > + .... omit the middle line .... > + 441: 0 0 0 0 sys_epoll_pwait2 > + 442: 0 0 0 0 sys_mount_setattr > + 443: 0 0 0 0 sys_quotactl_fd > + 447: 0 0 0 0 sys_memfd_secret > + 448: 0 0 0 0 sys_process_mrelease > + 449: 0 0 0 0 sys_futex_waitv > + 450: 0 0 0 0 sys_set_mempolicy_home_node So for systems with large numbers of CPUs, these are huge lines? Have you tested this on large systems? If so, how big? thanks, greg k-h 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 548B7C433F5 for ; Fri, 27 May 2022 12:00:25 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc: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=S939TKUVZLxuerMc3bCAHGTB86OzdCfkhHkVAgPf4mI=; b=fZsugab2TpHau8 TC1vw12asytIhO+YwCMK4mnNeDyuJuaHBsz6OXNswJ1GeVJt4+JUB1zGUfJ6BcSbi28bGWwmaZ5vf PY/iuNQ3GYpvkhUhxh6rIPkX6+0/8CMysFbDKrEqim6LOixG8OlgDEwZ0W5UFdI0iviB8BVqZ+IyZ nWSzoqYTW1P3SM0G2ZokitDOlVeh990ch5l2Y/FOB7exbsc15hmbblf+q++5/jyCFXr5kw0oJq0ay uS3jVcHIytTn3Ey3tqwM/L4wfXDGw43aZQF+mWp45rEyKS+cPHKGN0iMpx+ERjFSVv9pWo2fOKmyy YwUUOfQ8NB0y40D3LUJA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nuYcN-00HYhR-7a; Fri, 27 May 2022 11:58:59 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nuYcK-00HYgg-Bq for linux-arm-kernel@lists.infradead.org; Fri, 27 May 2022 11:58:57 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id B392A61E2E; Fri, 27 May 2022 11:58:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F3CA1C385A9; Fri, 27 May 2022 11:58:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1653652735; bh=8Xvx2MIcxZDbHjwzkoQfpdoBGzgQWatAXhXPa8e5VS4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=NxrpKW7mg//pPsL6j290DqQ/0N6GhSBhKSII4E0w0OISVoHPKMcFtW9UVLfi3r7NK isd/D24Ta81ZcCsYDR7tMr5wAfy6aadELVtckgKiuz+vscBNtlg1oL7jnQHxlkj0BI fn8YkSVONlR49C1VEoo3EOXKIEWGaEI7OV2D/v20= Date: Fri, 27 May 2022 13:49:16 +0200 From: Greg KH To: Zhang Yuchen Cc: akpm@linux-foundation.org, david@redhat.com, peterz@infradead.org, mingo@redhat.com, ast@kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org, linux-api@vger.kernel.org, fam.zheng@bytedance.com Subject: Re: [PATCH] procfs: add syscall statistics Message-ID: References: <20220527110959.54559-1-zhangyuchen.lcr@bytedance.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220527110959.54559-1-zhangyuchen.lcr@bytedance.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220527_045856_526340_0097DDB1 X-CRM114-Status: GOOD ( 23.58 ) 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 T24gRnJpLCBNYXkgMjcsIDIwMjIgYXQgMDc6MDk6NTlQTSArMDgwMCwgWmhhbmcgWXVjaGVuIHdy b3RlOgo+IEFkZCAvcHJvYy9zeXNjYWxscyB0byBkaXNwbGF5IHBlcmNwdSBzeXNjYWxsIGNvdW50 Lgo+IAo+IFdlIG5lZWQgYSBsZXNzIHJlc291cmNlLWludGVuc2l2ZSB3YXkgdG8gY291bnQgc3lz Y2FsbCBwZXIgY3B1Cj4gZm9yIHN5c3RlbSBwcm9ibGVtIGxvY2F0aW9uLgoKV2h5PwoKSG93IGlz IHRoaXMgbGVzcyByZXNvdXJjZSBpbnRlbnNpdmUgdGhhbiBwZXJmPwoKPiBUaGVyZSBpcyBhIHNp bWlsYXIgdXRpbGl0eSBzeXNjb3VudCBpbiB0aGUgQkNDIHByb2plY3QsIGJ1dCBzeXNjb3VudAo+ IGhhcyBhIGhpZ2ggcGVyZm9ybWFuY2UgY29zdC4KCldoYXQgaXMgdGhhdCBjb3N0PwoKPiBUaGUg Zm9sbG93aW5nIGlzIGEgY29tcGFyaXNvbiBvbiB0aGUgc2FtZSBtYWNoaW5lLCB1c2luZyBVbml4 QmVuY2gKPiBTeXN0ZW0gQ2FsbCBPdmVyaGVhZDoKPiAKPiAgICAg4pSP4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSz4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSz4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pST Cj4gICAgIOKUgyBDaGFuZ2UgICAgICAgIOKUgyBVbml4YmVuY2ggU2NvcmUg4pSDIExvc3MgICDi lIMKPiAgICAg4pSh4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB 4pWH4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pWH 4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSpCj4gICAgIOKUgiBubyBjaGFuZ2UgICAgIOKUgiAx MDcyLjYgICAgICAgICAg4pSCIC0tLSAgICDilIIKPiAgICAg4pSCIHN5c2NhbGwgY291bnQg4pSC IDk4Mi41ICAgICAgICAgICDilIIgOC40MCUgIOKUggo+ICAgICDilIIgYnBmIHN5c2NvdW50ICDi lIIgNjE0LjIgICAgICAgICAgIOKUgiA0Mi43NCUg4pSCCj4gICAgIOKUlOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU mAoKQWdhaW4sIHdoYXQgYWJvdXQgcGVyZj8KCj4gVW5peEJlbmNoIFN5c3RlbSBDYWxsIFVzZSBz eXNfZ2V0dGlkIHRvIHRlc3QsIHRoaXMgc3lzdGVtIGNhbGwgb25seSByZWFkcwo+IG9uZSB2YXJp YWJsZSwgc28gdGhlIHBlcmZvcm1hbmNlIHBlbmFsdHkgc2VlbXMgbGFyZ2UuIFdoZW4gdGVzdGVk IHdpdGgKPiBmb3JrLCB0aGUgdGVzdCBzY29yZXMgd2VyZSBhbG1vc3QgdGhlIHNhbWUuCj4gCj4g U28gdGhlIGNvbmNsdXNpb24gaXMgdGhhdCBpdCBkb2VzIG5vdCBoYXZlIGEgc2lnbmlmaWNhbnQg aW1wYWN0IG9uIHN5c3RlbQo+IGNhbGwgcGVyZm9ybWFuY2UuCgo4JSBpcyBodWdlIGZvciBhIHN5 c3RlbS13aWRlIGRlY3JlYXNlIGluIHBlcmZvcm1hbmNlLiAgV2hvIHdvdWxkIGV2ZXIKdXNlIHRo aXM/Cgo+IFRoaXMgZnVuY3Rpb24gZGVwZW5kcyBvbiBDT05GSUdfRlRSQUNFX1NZU0NBTExTIGJl Y2F1c2UgdGhlIHN5c3RlbSBjYWxsCj4gbnVtYmVyIGlzIHN0b3JlZCBpbiBzeXNjYWxsX21ldGFk YXRhLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFpoYW5nIFl1Y2hlbiA8emhhbmd5dWNoZW4ubGNyQGJ5 dGVkYW5jZS5jb20+Cj4gLS0tCj4gIERvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvcHJvYy5yc3Qg ICAgICAgfCAyOCArKysrKysrKysKPiAgYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9zeXNjYWxsX3dy YXBwZXIuaCB8ICAyICstCj4gIGFyY2gvczM5MC9pbmNsdWRlL2FzbS9zeXNjYWxsX3dyYXBwZXIu aCAgfCAgNCArLQo+ICBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9zeXNjYWxsX3dyYXBwZXIuaCAgIHwg IDIgKy0KPiAgZnMvcHJvYy9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsr Kwo+ICBmcy9wcm9jL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwo+ICBm cy9wcm9jL3N5c2NhbGwuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgNzkgKysrKysrKysrKysr KysrKysrKysrKysrCj4gIGluY2x1ZGUvbGludXgvc3lzY2FsbHMuaCAgICAgICAgICAgICAgICAg fCA1MSArKysrKysrKysrKysrLS0KPiAgOCBmaWxlcyBjaGFuZ2VkLCAxNjUgaW5zZXJ0aW9ucygr KSwgOSBkZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGZzL3Byb2Mvc3lzY2FsbC5j Cj4gCj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvcHJvYy5yc3QgYi9E b2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3Byb2MucnN0Cj4gaW5kZXggMWJjOTFmYjhjMzIxLi44 MDM5NGE5OGExOTIgMTAwNjQ0Cj4gLS0tIGEvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9wcm9j LnJzdAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvcHJvYy5yc3QKPiBAQCAtNjg2 LDYgKzY4Niw3IEBAIGZpbGVzIGFyZSB0aGVyZSwgYW5kIHdoaWNoIGFyZSBtaXNzaW5nLgo+ICAg ZnMgCSAgICAgIEZpbGUgc3lzdGVtIHBhcmFtZXRlcnMsIGN1cnJlbnRseSBuZnMvZXhwb3J0cwko Mi40KQo+ICAgaWRlICAgICAgICAgIERpcmVjdG9yeSBjb250YWluaW5nIGluZm8gYWJvdXQgdGhl IElERSBzdWJzeXN0ZW0KPiAgIGludGVycnVwdHMgICBJbnRlcnJ1cHQgdXNhZ2UKPiArIHN5c2Nh bGxzICAgICBTeXNjYWxsIGNvdW50IGZvciBlYWNoIGNwdQo+ICAgaW9tZW0gCSAgICAgIE1lbW9y eSBtYXAJCQkJCSgyLjQpCj4gICBpb3BvcnRzICAgICAgSS9PIHBvcnQgdXNhZ2UKPiAgIGlycSAJ ICAgICAgTWFza3MgZm9yIGlycSB0byBjcHUgYWZmaW5pdHkJCQkoMi40KShzbXA/KQo+IEBAIC0x MjI1LDYgKzEyMjYsMzMgQEAgUHJvdmlkZXMgY291bnRzIG9mIHNvZnRpcnEgaGFuZGxlcnMgc2Vy dmljZWQgc2luY2UgYm9vdCB0aW1lLCBmb3IgZWFjaCBDUFUuCj4gICAgICBIUlRJTUVSOiAgICAg ICAgIDAgICAgICAgICAgMCAgICAgICAgICAwICAgICAgICAgIDAKPiAgCVJDVTogICAgICAxNjc4 ICAgICAgIDE3NjkgICAgICAgMjE3OCAgICAgICAyMjUwCj4gIAo+ICtzeXNjYWxscwo+ICt+fn5+ fn5+fgo+ICsKPiArUHJvdmlkZXMgY291bnRzIG9mIHN5c2NhbGwgc2luY2UgYm9vdCB0aW1lLCBm b3IgZWFjaCBjcHUuCj4gKwo+ICs6Ogo+ICsKPiArICAgID4gY2F0IC9wcm9jL3N5c2NhbGxzCj4g KyAgICAgICAgICAgICAgIENQVTAgICAgICAgQ1BVMSAgICAgICBDUFUyICAgICAgIENQVTMKPiAr ICAgICAgMDogICAgICAgMzc0MyAgICAgICAzMDk5ICAgICAgIDM3NzAgICAgICAgMzI0MiAgIHN5 c19yZWFkCj4gKyAgICAgIDE6ICAgICAgICAyMjIgICAgICAgIDU1OSAgICAgICAgODIyICAgICAg ICA1MjIgICBzeXNfd3JpdGUKPiArICAgICAgMjogICAgICAgICAgMCAgICAgICAgICAwICAgICAg ICAgIDAgICAgICAgICAgMCAgIHN5c19vcGVuCj4gKyAgICAgIDM6ICAgICAgIDY0ODEgICAgICAx ODc1NCAgICAgIDEyMDc3ICAgICAgIDczNDkgICBzeXNfY2xvc2UKPiArICAgICAgNDogICAgICAx MTM2MiAgICAgIDExMTIwICAgICAgMTEzNDMgICAgICAxMDY2NSAgIHN5c19uZXdzdGF0Cj4gKyAg ICAgIDU6ICAgICAgIDUyMjQgICAgICAxMzg4MCAgICAgICA4NTc4ICAgICAgIDU5NzEgICBzeXNf bmV3ZnN0YXQKPiArICAgICAgNjogICAgICAgMTIyOCAgICAgICAxMjY5ICAgICAgIDE0NTkgICAg ICAgMTUwOCAgIHN5c19uZXdsc3RhdAo+ICsgICAgICA3OiAgICAgICAgIDkwICAgICAgICAgNDMg ICAgICAgICA2NCAgICAgICAgIDY3ICAgc3lzX3BvbGwKPiArICAgICAgODogICAgICAgMTYzNSAg ICAgICAxMDAwICAgICAgIDIwNzEgICAgICAgMTE2MSAgIHN5c19sc2Vlawo+ICsgICAgLi4uLiBv bWl0IHRoZSBtaWRkbGUgbGluZSAuLi4uCj4gKyAgICA0NDE6ICAgICAgICAgIDAgICAgICAgICAg MCAgICAgICAgICAwICAgICAgICAgIDAgICBzeXNfZXBvbGxfcHdhaXQyCj4gKyAgICA0NDI6ICAg ICAgICAgIDAgICAgICAgICAgMCAgICAgICAgICAwICAgICAgICAgIDAgICBzeXNfbW91bnRfc2V0 YXR0cgo+ICsgICAgNDQzOiAgICAgICAgICAwICAgICAgICAgIDAgICAgICAgICAgMCAgICAgICAg ICAwICAgc3lzX3F1b3RhY3RsX2ZkCj4gKyAgICA0NDc6ICAgICAgICAgIDAgICAgICAgICAgMCAg ICAgICAgICAwICAgICAgICAgIDAgICBzeXNfbWVtZmRfc2VjcmV0Cj4gKyAgICA0NDg6ICAgICAg ICAgIDAgICAgICAgICAgMCAgICAgICAgICAwICAgICAgICAgIDAgICBzeXNfcHJvY2Vzc19tcmVs ZWFzZQo+ICsgICAgNDQ5OiAgICAgICAgICAwICAgICAgICAgIDAgICAgICAgICAgMCAgICAgICAg ICAwICAgc3lzX2Z1dGV4X3dhaXR2Cj4gKyAgICA0NTA6ICAgICAgICAgIDAgICAgICAgICAgMCAg ICAgICAgICAwICAgICAgICAgIDAgICBzeXNfc2V0X21lbXBvbGljeV9ob21lX25vZGUKClNvIGZv ciBzeXN0ZW1zIHdpdGggbGFyZ2UgbnVtYmVycyBvZiBDUFVzLCB0aGVzZSBhcmUgaHVnZSBsaW5l cz8gIEhhdmUKeW91IHRlc3RlZCB0aGlzIG9uIGxhcmdlIHN5c3RlbXM/ICBJZiBzbywgaG93IGJp Zz8KCnRoYW5rcywKCmdyZWcgay1oCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==