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.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS 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 3FE9BC4361A for ; Fri, 4 Dec 2020 01:43:46 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8A912224DF for ; Fri, 4 Dec 2020 01:43:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8A912224DF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=marvell.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 818066B0036; Thu, 3 Dec 2020 20:43:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7C4FE6B005C; Thu, 3 Dec 2020 20:43:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5F10F6B0068; Thu, 3 Dec 2020 20:43:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0239.hostedemail.com [216.40.44.239]) by kanga.kvack.org (Postfix) with ESMTP id 3FECD6B0036 for ; Thu, 3 Dec 2020 20:43:44 -0500 (EST) Received: from smtpin13.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 04559362E for ; Fri, 4 Dec 2020 01:43:44 +0000 (UTC) X-FDA: 77553903168.13.desk43_5c12f2c273c0 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin13.hostedemail.com (Postfix) with ESMTP id D8BC018140B60 for ; Fri, 4 Dec 2020 01:43:43 +0000 (UTC) X-HE-Tag: desk43_5c12f2c273c0 X-Filterd-Recvd-Size: 19227 Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by imf23.hostedemail.com (Postfix) with ESMTP for ; Fri, 4 Dec 2020 01:43:42 +0000 (UTC) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 0B41fRQq018099; Thu, 3 Dec 2020 17:43:32 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=pfpt0220; bh=XixI86SWfpJNPr444DabrcxfHgoloEr8FffKqsWNc9c=; b=I+nB6r+EDduQjQ5Mu593yDv8PaKxCFX8ZR60+XxCZOtk2/2lGXj9/LA/gidBwV0vTbB6 dHbyK7R/xEoj3H366eanyFFMfBCSm4FlYM4yrnlpjxMA5ynvPRUhCM/Ko2A6Lrv2f4BL sLrsgRgVRi1HduqFUw8cNA7Pn7NSQCXUcEQjQiycxYS4prCMFWndCbvWXqZVrA/+t0cc YSsvPf6KperzoHUsu+QIDzJ4bC/d1Pelk7QRr/eHqT6Q9DKGLgstwy6ssxeqSofnx20+ Z019dxWvT7qhNA3X/FoGk/leRHtel2wygfZ+pZiFAc2yornGavBleJ5SmY0PFGBARQZq Cw== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0b-0016f401.pphosted.com with ESMTP id 355w50fy16-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 03 Dec 2020 17:43:32 -0800 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 3 Dec 2020 17:43:30 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Thu, 3 Dec 2020 17:43:30 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nzO8v5g+bBEYEMgvmlSBBQYcSWhdA/8Lubave/fDxMzpNdQEHseqIB0kryhCz6G/m5PuYyve4bcKcPA8bHlmt9uvG0aU3/hKFaTnjYOyf/nmOORKCF7W2pRIxLHtx8PRaRKeEOMFDzQnsNz0oYc+CQEguPPUDzmREEmx4O4Qi+woUsnvoLA81d90n8CHk/f48NY7kYOcXiryL3K2JT+jH1lC7cGojHuEd84SfoZPeCBEe+l8edGAVa2getXAziGz2hXq+Ij8rPyR50X+W1HwH0cUG2hpoIaKuWSvHYpd0z2BljjOvPfCFhdebdGxYCCz8QjUzpPnFrTTuS4hE4QVNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XixI86SWfpJNPr444DabrcxfHgoloEr8FffKqsWNc9c=; b=iE2wonqpSWN2O1MVmQLVF1ZYYIbXHTSVL7Wzc+qQZLuQ5EXqJ3XGmJbDwog1x0k6uL0RIiQ4VV6KyEiOkThydRQQIxX9L4eULUJjNz7rZrCao04rbQzx7Zc06Ne/185lYLJQ3CjwuzXBTSQl/pR3RbcReHZ6GnU3kvmJsTuuf3DM3oU9vY4NTXZSvC8RuRmQIetDBfEbZMwtIfxvvIGNW04VbzPI29SRHGrIs5LzQXiMs6d/zCopDbvXFneEuCbrviMneOoMVfmdXpRzzD9GC2rebjisHSnlS9rfVDnYVRb4MHCgXDdRa9/adV/aJPoluH0TNuxwYao4dQmgnQZu2A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XixI86SWfpJNPr444DabrcxfHgoloEr8FffKqsWNc9c=; b=rSbRZ3AHjCYMoTMikUQFhF8OR4twTJFF6pQNiybuK1pbqu1JKNZ7FSPiROgo4sjNL/6FltRNDtcwTYmtud0DEZaaRfowfhxMb8cMUj+/NQH2bjjtRWKxX4K27Pz+b6UUnOtYwMxTtiKxUw7OOD8I+rSlpryFf9oIFiZvV7nNZIo= Received: from MW2PR18MB2267.namprd18.prod.outlook.com (2603:10b6:907:3::11) by CO6PR18MB3844.namprd18.prod.outlook.com (2603:10b6:5:340::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.23; Fri, 4 Dec 2020 01:43:28 +0000 Received: from MW2PR18MB2267.namprd18.prod.outlook.com ([fe80::24e2:8566:bf62:b363]) by MW2PR18MB2267.namprd18.prod.outlook.com ([fe80::24e2:8566:bf62:b363%6]) with mapi id 15.20.3632.020; Fri, 4 Dec 2020 01:43:28 +0000 From: Alex Belits To: "tglx@linutronix.de" , "cl@linux.com" , "mtosatti@redhat.com" CC: "pauld@redhat.com" , "linux-mm@kvack.org" , "frederic@kernel.org" , "willy@infradead.org" , "peterz@infradead.org" , "akpm@linux-foundation.org" Subject: Re: [EXT] Re: [PATCH] mm: introduce sysctl file to flush per-cpu vmstat statistics Thread-Topic: [EXT] Re: [PATCH] mm: introduce sysctl file to flush per-cpu vmstat statistics Thread-Index: AQHWxNTiEzsg0nuahkGE+DaYqFTNNKngbZWAgAOQb4CAAjYKgA== Date: Fri, 4 Dec 2020 01:43:28 +0000 Message-ID: <12ddb629555590cfd41db5b10854d95c1f154e24.camel@marvell.com> References: <20201117162805.GA274911@fuller.cnet> <20201117180356.GT29991@casper.infradead.org> <20201117202317.GA282679@fuller.cnet> <20201127154845.GA9100@fuller.cnet> <87h7p4dwus.fsf@nanos.tec.linutronix.de> In-Reply-To: <87h7p4dwus.fsf@nanos.tec.linutronix.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: linutronix.de; dkim=none (message not signed) header.d=none;linutronix.de; dmarc=none action=none header.from=marvell.com; x-originating-ip: [173.228.7.197] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 09ec7283-ae48-480e-98a2-08d897f5ffbc x-ms-traffictypediagnostic: CO6PR18MB3844: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kQtrGf59uwULs5Ky+o6EjqOAnul7gPoAAYJVcDKe9FRQLCrzsuRibD75bfTnHQEbe3MYxtfwT052d9vifeaSl/2V+xlDTZGw4wMtTOHedz7ql6K7J7S1rHo65NwedCloDiNg5Erw2304A67xYi2oHnZ8JckhyoIRf0AdwPygbpwX4/iKJpLPpSxKdEyI0ffX2nbh3PhXXeJ/qBIAh/Oxwp7zAC4RNxQRQzXQu9qKYNcApzp1eMSXhwZcea2wStTzVysxaJGyeDlwQFDrX4AR/O8cNEhbM07WXnMEcjIHt5Y7E09hMQwx/wos7bxWm5pnfVxVVXs1dDuAMu398wg70w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW2PR18MB2267.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(346002)(39860400002)(136003)(366004)(376002)(2616005)(5660300002)(6512007)(64756008)(2906002)(66476007)(76116006)(91956017)(316002)(26005)(36756003)(110136005)(186003)(66446008)(83380400001)(478600001)(66946007)(54906003)(4326008)(71200400001)(66556008)(8676002)(86362001)(6506007)(8936002)(6486002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?T1NXbEZrK0ZhVEtMWk5SRjZ1SFJEbktMRnd6WjVuT0VDQ1lLMkltM3hiSitV?= =?utf-8?B?eXJic2tIdzQzd0NrdXdhMG95VktxZUtQQXRERG52MFc1eDBUZzFDZkdxaUhQ?= =?utf-8?B?SEJpN2tWWCtlMjFFN1FaMlh0L2FJVkFDUjZhSGE4Szk0eDFnQ2R2d3BqaE1M?= =?utf-8?B?Y0gyY2E5UVlBZjdwRmR0Ylo4bWwvc3NlZkJCQy9heWUxeUJmZUhGUnd6YldW?= =?utf-8?B?dmc4YS9DbG5NRnQrMmtuZUEwbm9aajFEbzV6WGNHMDRJY0wwN0Foc3RTZ0w3?= =?utf-8?B?Nm9LVm9UeW4rcFVlZWFiSkdLMm41amhGZVlqM2grZHRBMTlLRUUxYzFrY3Jt?= =?utf-8?B?bFhaNlRyL3E5cUl0aXJnb2djc0VjUy9PN0kyQXAvSElRdTZidlZNOUtsTmRm?= =?utf-8?B?NTZsVkx5Vzg3bnBaUEw4cXBuemp6MWZQMFI2VWtkTm4zZUErR2FWZERVTWYy?= =?utf-8?B?WVJ4L21yZXB0bnMwaklVSmh6RTVaOUhiOXFvdDNkcU1yZFFNZjkxdkpPZVRG?= =?utf-8?B?RW5hdUNiOWo0R1c0anNhbS9nRTNDVHE0RmM3U1ZZb2U3VEx2ZUgydk5LRWt6?= =?utf-8?B?WXkrMnB5NkFEU0ptS2xpOE54Nld6aFI3R0x5KzlGcGtQdHZUVG53MG5vbE5S?= =?utf-8?B?cmtXYlFnTmJYRFVyUFhkQzVnaUhRYUkweisvWHVVMUd1SWYySXNxNkhybEZv?= =?utf-8?B?TVBhNnNzTnQyWlFEMnZPYkdZVkd6RXRiSjZSLzdDMWtGQXFYR0x4N2c3b1Bw?= =?utf-8?B?dUVuOC93aHk4RHQ4UmpXeVBTcE5DdGUvK3lUM21EMEZkcDhyN3RaYnh4WW5m?= =?utf-8?B?VzhrUk9BZ2JLMmxSUnNFTE1WSk81OEtDODRiSEpXMzRRUCt2MHlPVVMrMGZQ?= =?utf-8?B?TE85bzBPNEFWUzhQbWZrRWFWRFE1aEJWRWRSTFlZK3VxUjgxUHFLRnovbUJL?= =?utf-8?B?TkV2R1FjeHMzZkEzTHNIWmxJTGtSWFV0SEo2NVMyUVdINVkrMkVTRjNkdjl6?= =?utf-8?B?cE82TEoyL0lZdU9uQ2JpV2FKcGxHclZhV2NxMXJUcHFFblNybUhQTUdVcDBM?= =?utf-8?B?ekRqMmxLRmFrUXRrQ0VKTXNBSlRpTGw4YlEvYzR0L25QRWVYQnRNREtzTVBu?= =?utf-8?B?SFFzQ3h2Zjl4T2tkL2lTaGJQQ1FqczU3S2dkUmwrcjY3MytFeDZZZjdCbXlL?= =?utf-8?B?ZDJWWDl6aUsyUWN0SVo4WWgwTS91RmRHVVUzZUlUaGt3Uy9ncmJlc0xYTVov?= =?utf-8?B?bUkyb3EvQkIzQTRuRjNsUXk1c3lqeXpxZm1QYzF0c1ZxUjh1bGErZUd4Q0tj?= =?utf-8?Q?lxNWNz1VCq9l0LYZAeIxdyNgtk14cpGbxC?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <9BB44AE47AE93147B78AF15D47A73330@namprd18.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR18MB2267.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 09ec7283-ae48-480e-98a2-08d897f5ffbc X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Dec 2020 01:43:28.5057 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: fbSqhdVFYoE9UP7/AKLq5ZkIN57Pf+enr3giFgM+kuAYMaL+W/dEGgBaXuDdWY83miCMJxgQXEUT1D9pT16BcA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR18MB3844 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.312,18.0.737 definitions=2020-12-03_15:2020-12-03,2020-12-03 signatures=0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: DQpPbiBXZWQsIDIwMjAtMTItMDIgYXQgMTY6NTcgKzAxMDAsIFRob21hcyBHbGVpeG5lciB3cm90 ZToNCj4gT24gTW9uLCBOb3YgMzAgMjAyMCBhdCAwOTozMSwgQ2hyaXN0b3BoIExhbWV0ZXIgd3Jv dGU6DQo+ID4gT24gRnJpLCAyNyBOb3YgMjAyMCwgTWFyY2VsbyBUb3NhdHRpIHdyb3RlOg0KPiA+ IA0KPiA+ID4gRGVjaWRlZCB0byBzd2l0Y2ggdG8gcHJjdGwgaW50ZXJmYWNlLCBhbmQgdGhlbiBp dCBzdGFydHMNCj4gPiA+IHRvIGJlY29tZSBzaW1pbGFyIHRvICJ0YXNrIG1vZGUgaXNvbGF0aW9u IiBwYXRjaHNldCBBUEkuDQo+ID4gDQo+ID4gUmlnaHQgSSB0aGluayB0aGF0IHdhcyBhIGdvb2Qg YXBwcm9hY2guDQo+IA0KPiBwcmN0bCgpIGlzIHRoZSByaWdodCB0aGluZyB0byBkby4NCj4gDQo+ ID4gPiBJbiBhZGRpdGlvbiB0byBxdWllc2NpbmcgcGVuZGluZyBhY3Rpdml0aWVzIG9uIHRoZSBD UFUsIGl0IHdvdWxkDQo+ID4gPiBhbHNvIGJlIHVzZWZ1bCB0byBhc3NpZ24gYSBwZXItdGFzayBh dHRyaWJ1dGUgKHdoaWNoIGlzIHRoZW4NCj4gPiA+IGFzc2lnbmVkDQo+ID4gPiB0byBhIHBlci1D UFUgYXR0cmlidXRlKSwgaW5kaWNhdGluZyB3aGV0aGVyIHRoYXQgQ1BVIGlzIHJ1bm5pbmcNCj4g PiA+IGFuIGlzb2xhdGVkIHRhc2sgb3Igbm90Lg0KPiA+IA0KPiA+IFNvdW5kcyBnb29kIGJ1dCB3 aGF0IHdvdWxkIHRoaXMgZG8/IEdpdmUgYSB3YXJuaW5nIGxpa2UgdGhlDQo+ID4gaXNvbGF0aW9u DQo+ID4gcGF0Y2hzZXQ/DQo+IA0KDQpJc29sYXRpb24gcGF0Y2ggcmlnaHQgbm93IHByb2R1Y2Vz IGxvZyB3YXJuaW5ncyBiZWNhdXNlIHRoZXJlIGlzIG5vDQphcHBsaWNhdGlvbiBpbnRlcmZhY2Ug Zm9yIGl0IHlldC4gSSBhbSB0cnlpbmcgdG8gbWFrZSBzb21ldGhpbmcNCnN1aXRhYmxlIGZvciBh cHBsaWNhdGlvbnMsIHNvIHRoZXkgY2FuIHJlYWN0IHRvIGl0LCBjb2xsZWN0IHN0YXRpc3RpY3MN CmFuZCBwcm9kdWNlIGh1bWFuLXJlYWRhYmxlIGxvZ3MuIEl0IGlzIHN0aWxsIG5vdCBlbnRpcmVs eSBjbGVhciwgd2hhdA0Kc2hvdWxkIGJlIGluY2x1ZGVkIGFuZCBpbiB3aGljaCBjYXNlcyAob3Ro ZXIgdGhhbiBpc29sYXRpb24gYnJlYWtpbmcpDQptb25pdG9yZWQgZXZlbnRzIHNob3VsZCBiZSBy ZWNvcmRlZCwgc28gZm9yIG5vdyBhbmQgZm9yIHRoZSBwdXJwb3NlcyBvZg0KdGFzayBpc29sYXRp b24gYWxvbmUgSSBoYXZlIGtlcHQgdWdseS1sb29raW5nIG1lc3NhZ2VzLg0KDQpUd28gdGhpbmdz IHRoYXQgSSB3YW50IHRvIGFkZCBhcmU6DQoNCjEuICJDYXVzZSIgdGhhdCBkZXNjcmliZXMgd2hh dCBraW5kIG9mIGV2ZW50IGhhcHBlbmVkIChnZW5lcmljIElQSSwNCnNwZWNpZmljIGNhbGwsIGV4 Y2VwdGlvbiwgcGFnZSBmYXVsdCwgdGltZXIsIGludGVycnVwdCwgc3lzY2FsbCBlbnRyeSkNCndp dGggc29tZSByZWxldmFudCBkYXRhLiBPciBkZWZhdWx0ICJ3ZSBoYXZlIGVudGVyZWQga2VybmVs IGFuZCBub3cNCmV4aXRpbmcsIGhvd2V2ZXIgd2UgaGF2ZSBubyBpZGVhIHdoYXQgZXhhY3RseSB3 YXMgY2FsbGVkIGluIGJldHdlZW4iDQpjYXVzZSwgdG8gY2F0Y2ggZXZlcnl0aGluZyB0aGF0IGlz IG5vdCB0cmFja2VkIHlldC4gVGhlICJyZWxldmFudCBkYXRhIg0KcGFydCBpcyB3aGF0IGNhbiBt YWtlIHRoaXMgZmVhdHVyZSB1c2VmdWwgKGhhbmRsZXJzIG9mIHNwZWNpZmljIGV2ZW50cw0KYWx3 YXlzIGtub3cgd2hhdCB0aGV5IGFyZSksIGhvd2V2ZXIgaXQgc2hvdWxkIGJlIGNob3NlbiBjYXJl ZnVsbHkuDQoNCjIuIE9wdGlvbmFsICJyZW1vdGUgY2F1c2UiIHRoYXQgZGVzY3JpYmVzIHdoeSBk aWQgc29tZW9uZSBzZW50IGFuIElQSQ0KdG8gdGhpcyBDUFUgKHRvIGJlIHBpY2tlZCB3aGVuIElQ SSBpcyBiZWluZyBwcm9jZXNzZWQpLiBUaGlzIG1heQ0KaW5jbHVkZSBzb21ldGhpbmcgbGlrZSBk ZXNjcmlwdGlvbiBsaWtlIGEgbm9ybWFsIGNhdXNlLCBvciBhIGJhY2t0cmFjZS4NCklmIHdlIGtu b3cgdGhhdCB3ZSBhcmUgYWJvdXQgdG8ga2ljayBhIHRhc2sgb3V0IG9mIGlzb2xhdGlvbiwgd2Ug Y2FuDQpqdXN0IGFzIHdlbGwgaW5jbHVkZSBhbiBleHBsYW5hdGlvbiB3aHkuDQoNCj4gVGhpcyBh bGwgbmVlZHMgYSBsb3QgbW9yZSB0aG91Z2h0IGFib3V0IHRoZSBvdmVyYWxsIHBpY3R1cmUuIFdl DQo+IGFscmVhZHkNCj4gaGF2ZSB0b28gbWFueSBrbm9icyBhbmQgYWQgaG9jIGhvb2tzIHdoaWNo IGZpZGRsZSB3aXRoIGlzb2xhdGlvbi4NCj4gDQo+IFRoZSBjdXJyZW50IENQVSBpc29sYXRpb24g aXMgYSBiZXN0IGVmZm9ydCBhcHByb2FjaCBhbmQgSSBhZ3JlZSB0aGF0DQo+IGZvcg0KPiBtb3Jl IHN0cmljdCBpc29sYXRpb24gbW9kZXMgd2UgbmVlZCB0byBiZSBhYmxlIHRvIGVuZm9yY2UgdGhh dCBhbmQNCj4gaHVudA0KPiBkb3duIG9mZmVuZGVycyBhbmQgdGhpbmsgYWJvdXQgdGhlbSBvbmUg Ynkgb25lLg0KPiANCj4gPiA+IFRvIGJlIGNhbGxlZCBiZWZvcmUgcmVhbCB0aW1lIGxvb3AsIG9u ZSB3b3VsZCBoYXZlOg0KPiANCj4gQ2FuIHdlIHBsZWFzZSBhZ3JlZSBpbiB0aGUgZmlyc3QgcGxh Y2UsIHRoYXQgInJlYWwgdGltZSIgaXMNCj4gYWJzb2x1dGVseQ0KPiB0aGUgd3JvbmcgdGVybSBo ZXJlPw0KDQpXZSBjYW4gY2FsbCBpdCAiaXNvbGF0ZWQgbW9kZSIgb3IgImlzb2xhdGVkIHVzZXIg bW9kZSIsIHNvIGl0IHdvdWxkIGJlDQpjbGVhciB0aGF0IGl0IGlzIHRoZSBvcHBvc2l0ZSB0byBh bnl0aGluZyByZWxhdGVkIHRvIGludGVycnVwdHMgYW5kDQpwcmVlbXB0aW9uLg0KDQo+IEl0J3Mg YWJvdXQgcnVubmluZyB1bmRpc3R1cmJlZCBDUFUgYm91bmQgY29tcHV0YXRpb25zIHdoYXRldmVy IG5hdHVyZQ0KPiB0aGV5IGFyZS4gSXQgZG9lcyBub3QgbWF0dGVyIHdoZXRoZXIgdGhhdCBsb29w IGRvZXMgYnVzeSBwb2xsaW5nIGFsYQ0KPiBEUERLLCB3aGV0aGVyIGl0IHJ1bnMgYSBodWdlIG1h dGggY29tcHV0YXRpb24gb24gYSBkYXRhIHNldCBvcg0KPiB3aGF0ZXZlciBwZW9wbGUgY29tZSB1 cCB3aXRoLg0KPiANCj4gPiA+IAlwcmN0bChQUl9TRVRfVEFTS19JU09MQVRJT04sIElTT0xBVElP Tl9FTkFCTEUpIFsxXQ0KPiA+ID4gCXJlYWwgdGltZSBsb29wDQo+ID4gPiAJcHJjdGwoUFJfU0VU X1RBU0tfSVNPTEFUSU9OLCBJU09MQVRJT05fRElTQUJMRSkNCj4gPiA+IA0KPiA+ID4gKHdpdGgg dGhlIGF0dHJpYnV0ZSBhbHNvIGJlaW5nIGNsZWFyZWQgb24gdGFzayBleGl0KS4NCj4gPiA+IA0K PiA+ID4gVGhlIGdlbmVyYWwgZGVzY3JpcHRpb24gd291bGQgYmU6DQo+ID4gPiANCj4gPiA+ICJT ZXQgdGFzayBpc29sYXRlZCBtb2RlIGZvciBhIGdpdmVuIHRhc2ssIHJldHVybmluZyBhbiBlcnJv cg0KPiA+ID4gaWYgdGhlIHRhc2sgaXMgbm90IHBpbm5lZCB0byBhIHNpbmdsZSBDUFUuDQo+IA0K PiBQbHVzIHJldHVybmluZyBhbiBlcnJvciBpZiB0aGUgdGFzayBoYXMgbm8gcGVybWlzc2lvbnMg dG8gcmVxdWVzdA0KPiB0aGlzLiBUaGlzIHNob3VsZCBub3QgYmUgYW4gdW5wcml2aWxlZ2VkIHBy Y3RsIGV2ZXIuDQoNCklmIHdlIHdhbnQgYSBjb25zaXN0ZW50IGludGVyZmFjZSwgaXQgY2FuIGFs c28gcmV0dXJuIGNvcnJlc3BvbmRpbmcNCmVycm9yIGlmIHRoZSB0YXNrIGhhcyBwZXJtaXNzaW9u cyBidXQgY2FuJ3QgYmVjYXVzZSwgc2F5LCB0aGVyZSBhcmUNCm11bHRpcGxlIHRhc2tzIGFsbCBi b3VuZCB0byB0aGUgc2FtZSBDUFUuDQoNCj4gPiA+IEluIHRoaXMgbW9kZSwgdGhlIGtlcm5lbCB3 aWxsIGF2b2lkIGludGVycnVwdGlvbnMgdG8gaXNvbGF0ZWQNCj4gPiA+IENQVXMgd2hlbiBwb3Nz aWJsZS4iDQo+ID4gPiANCj4gPiA+IEFueSBvYmplY3Rpb25zIGFnYWluc3Qgc3VjaCBhbiBpbnRl cmZhY2UgPw0KPiA+IA0KPiA+IE1heWJlIGRvIGJvdGggbGlrZSBpbiB0aGUgaXNvbGF0aW9uIHBh dGNoc2V0Pw0KPiANCj4gV2UgcmVhbGx5IHdhbnQgdG8gZGVmaW5lIHRoZSBzY29wZXMgZmlyc3Qu IEFuZCBoZXJlIHlvdSBnbzoNCj4gDQo+ID4gT2Z0ZW4gY29kZSBjYW4gdG9sZXJhdGUgYSBmZXcg aW50ZXJydXB0aW9ucyAoaW4gc29tZSBjb2RlIGJyYW5jaGVzDQo+ID4gcmVndWxhciBzeXNjYWxs cyBtYXkgYmUgbmVlZGVkKSBidXQgb25lIHdhbnRzIHRoZSB0aHJlYWQgdG8gYmUNCj4gPiBhcyBx dWlldCBhcyBwb3NzaWJsZS4NCj4gDQo+IFNvIHlvdSBzYXkgc29tZSBjb2RlIGNhbiB0b2xlcmF0 ZSBhIGZldyBpbnRlcnJ1cHRzLCB0aGVuIGNvbWVzIEFsZXgNCj4gYW5kDQo+IHNheXMgJ25vIGRp c3R1cmJhbmNlJyBhdCBhbGwuDQoNCkkgYWdyZWUuIEkgd291bGQgcHJlZmVyIGEgc2hhcmVkIGlu dGVyZmFjZSB0byBjbG9zZWx5IHJlbGF0ZWQNCmZ1bmN0aW9uYWxpdHkgZXZlbiBpZiBwYXJ0cyBv ZiBpbXBsZW1lbnRhdGlvbiB2YXJ5LCBvciBtYXkgbm90IGV2ZW4gYmUNCnByZXNlbnQgLyBlbmFi bGVkIGF0IHRoZSBzYW1lIHRpbWUuDQoNCj4gDQo+IFRoZSBwb2ludCBpcyB0aGF0IGFsbCBvZiB0 aGlzIHNoYXJlcyB0aGUgbWVjaGFuaXNtcyB0byBxdWllc2NlDQo+IGNlcnRhaW4NCj4gcGFydHMg b2YgdGhlIGtlcm5lbCBzbyB0aGlzIHdhbnRzIHRvIGJ1aWxkIGNvbW1vbiBpbmZyYXN0cnVjdHVy ZSBhbmQNCj4gdGhlDQo+IHByY3RsKElTT0xBVElPTiwgTU9ERSkgbW9kZSBhcmd1bWVudCBkZWZp bmVzIHRoZSBzY29wZSBvZiBpc29sYXRpb24NCj4gd2hpY2ggdGhlIHRhc2sgYXNrcyBmb3IgYW5k IHRoZSBpbmZyYXN0cnVjdHVyZSBkZWNpZGVzIHdoZXRoZXIgaXQgY2FuDQo+IGJlDQo+IGdyYW50 ZWQgYW5kIGlmIHNvIG9yY2hlc3RyYXRlcyB0aGUgb3BlcmF0aW9uIGFuZCBwcm92aWRlcyBhIGNv bW1vbg0KPiBpbmZyYXN0cnVjdHVyZSBmb3IgaW5zdHJ1bWVudGF0aW9uLCB2aW9sYXRpb24gbW9u aXRvcmluZyBldGMuDQo+IA0KPiBXZSByZWFsbHkgbmVlZCB0byBzdG9wIHRvIGxvb2sgYXQgcGFy dGljdWxhciB3b3JrbG9hZHMgYW5kIGRlZmluaW5nDQo+IGFkaG9jIHNvbHV0aW9ucyB0YWlsb3Jl ZCB0byB0aGVpciBwYXJ0aWN1bGFyIGl0Y2ggaWYgd2UgZG9uJ3Qgd2FudCB0bw0KPiBlbmQgdXAg d2l0aCBhbiB1bmNvb3JkaW5hdGVkIGFuZCB1bm1haW50YWluYWJsZSB6b28gb2YgaW50ZXJmYWNl cywNCj4gaG9va3MNCj4gYW5kIGtub2JzLg0KPiANCj4gSnVzdCBsb29raW5nIGF0IHRoZSBwcm9i bGVtIGF0IGhhbmQgYXMgYW4gZXhhbXBsZS4gTk9IWiBhbHJlYWR5DQo+IGlzc3Vlcw0KPiBxdWll dF92bXN0YXQoKSwgYnV0IGl0IGRvZXMgbm90IGNhbmNlbCBhbHJlYWR5IHNjaGVkdWxlZCB3b3Jr LiBOb3cNCj4gTWFyY2VsbyB3YW50cyBhIG5ldyBtZWNoYW5pc20gd2hpY2ggaXMgc3VwcG9zZWQg dG8gY2FuY2VsIHRoZSB3b3JrDQo+IGFuZA0KPiB0aGVuIEFsZXggd2FudCdzIHRvIHByZXZlbnQg aXQgZnJvbSBiZWluZyByZXNjaGVkdWxlZC4gSWYgdGhhdCdzIG5vdA0KPiBwcm9wZXJseSBjb29y ZGluYXRlZCB0aGlzIGdvZXMgZG93biB0aGUgZHJhaW4gdmVyeSBmYXN0Lg0KPiANCj4gU28gY2Fu IHdlIHBsZWFzZSBjb21lIHVwIHdpdGggYSBjZW50cmFsIHBsYWNlIHRvIGhhbmRsZSB0aGlzIHBy Y3RsKCkNCj4gd2l0aCBhIGZ1dHVyZSBwcm9vZiBhcmd1bWVudCBsaXN0IHNvIHRoZSB2YXJpb3Vz IGlzb2xhdGlvbiBuZWVkcyBjYW4NCj4gYmUNCj4gZXhwcmVzc2VkIGFzIHJlcXVpcmVkPw0KPiAN Cj4gVGhhdCBhbGxvd3MgTWFyY2VsbyB0byBzdGFydCB0YWNrbGluZyB0aGUgdm1zdGF0IHNpZGUg YW5kIEFsZXggY2FuDQo+IHV0aWxpemUgdGhhdCBhbmQgYnVpbGQgdGhlIG90aGVyIHBhcnRzIGlu dG8gaXQgcGllY2UgYnkgcGllY2UuDQoNClJpZ2h0LiBJIHRoaW5rLCB3ZSBzaG91bGQgY2hvb3Nl LCB3aGljaCBwYXJhbWV0ZXJzIHNob3VsZCBiZSBoYW5kbGVkIGFzDQpmbGFncyBhbmQgd2hpY2gg YXMgbXV0dWFsbHkgZXhjbHVzaXZlIG1vZGVzLCBpZiBhbnkuIEZvciBleGFtcGxlLA0KZW5hYmxp bmcgZGlhZ25vc3RpY3MgLyByZWNvcmRpbmcgY2F1c2VzIGNhbiBiZSBhIGZsYWcsIHNvIGlmIHdl IHJlYWxseQ0Kd2FudCwgd2UgY2FuIGNvbGxlY3QgaW50ZXJydXB0IGxvZ2dpbmcgd2hpbGUgb3Vy IHRhc2sgaXMgcnVubmluZyBldmVuDQp3aXRob3V0IGlzb2xhdGlvbiAoYnV0IHRoZW4gdGhlcmUg d291bGQgYmUgYSBsYXJnZSBhbW91bnQgb2Ygbm9pc2UNCnRoZXJlKS4gTWF5YmUgc29tZW9uZSB3 b3VsZCB3YW50IHRvIGRvIHRoYXQgb24gdGFza3MgdGhhdCBpdA0KcHRyYWNlKCkncz8NCg0KUmVj b3JkaW5nIG1heSBoYXZlIGZpbHRlcmluZywgZm9yIGV4YW1wbGUsICJyZW1vdGUgY2F1c2UiIG1h eSBiZQ0KZGlzYWJsZWQsIG9yIHNvbWUgY2xhc3Mgb2YgZXZlbnRzLCBzdWNoIGFzIHBhZ2UgZmF1 bHRzLCBpZ25vcmVkIG9yDQptaW5pbWFsbHkgcmVjb3JkZWQgb25seSB3aXRoIGNhdXNlIHR5cGUu DQoNClNpbmNlIHRoZSBvcmlnaW5hbCBpbnRlcmZhY2UgdXNlcyBzaWduYWxzLCBtYXliZSB3ZSBj YW4ga2VlcCBzaWduYWwNCm51bWJlciBhcyBhIGNvbW1vbiBmZWF0dXJlIGZvciBub3RpZmljYXRp b24gb2YgaXNvbGF0aW9uIGJyZWFraW5nIG9yDQpleGNlZWRpbmcgc29tZSBwYXJhbWV0ZXJzIGlm IHN1Y2ggYSB0aGluZyBhcHBsaWVzLg0KDQpXZSBtYXkgd2FudCB0byBzZXQgYSBzZXBhcmF0ZSBm bGFnIHRvIGVuYWJsZSBhdXRvbWF0aWMgcmUtZW50ZXJpbmcNCmlzb2xhdGlvbiB3aGVuIGJyb2tl biBhbmQgbm90aWZpY2F0aW9uIGJ5IHNpZ25hbC4gRm9yIHNvbWUgaXNvbGF0ZWQNCnRhc2tzIGVp dGhlciBvZiB0aG9zZSBmZWF0dXJlcyBjYW4gYmUgdXNlZnVsIG9yIG5vdC4gIkJlc3QgZWZmb3J0 Ig0KbW9kZXMgd2hlcmUgaW50ZXJydXB0cyBhcmUgZXhwZWN0ZWQsIHdvdWxkIGJ5IGRlZmF1bHQg cmVtYWluIGFjdGl2ZQ0KdW50aWwgdHVybmVkIG9mZiwgYW5kIHdpdGggbm8gc2lnbmFscy4NCg0K U2luY2UgdGhlcmUgaXMgYSBncmVhdCB2YXJpZXR5IG9mIHRob3NlLCBhbmQgbW9yZSBtYXkgYmUg YWRkZWQsIHdlDQpwcm9iYWJseSBzaG91bGQgaGF2ZSBhICJxdWVyeSIgY2FsbCB0aGF0IHdpbGwg cmV0dXJuIGEgbWFzayBvZiB3aGF0IGlzDQpzdXBwb3J0ZWQgb24gdGhlIHN5c3RlbSBvciBhdmFp bGFibGUgdG8gdGhlIGdpdmVuIHRhc2suDQoNCi0tIA0KQWxleA0K