Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2993931pxb; Sun, 31 Jan 2021 00:20:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJxvrcYeiDbuxuMEW3hEqjNtyTU5Jn8ZeNyu+yynAH3PvYBb+Lz0cII6xYFN7qeBGFQ6NJPw X-Received: by 2002:a17:906:b047:: with SMTP id bj7mr12383784ejb.335.1612081214279; Sun, 31 Jan 2021 00:20:14 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1612081214; cv=pass; d=google.com; s=arc-20160816; b=D5cxsM0y1rP9+SehZfoTmBWcf/NLVlaNSZGJTS9Z2xfPSB8iHd3cvMkbU60tsDBhZ5 wiWqRXZ+m7O9iR8YErpLjO2xzN+1JXYqMlwHZiM6R68vekWOrE1pZwiH3NOtpHxw5kvy ILRxEMb0418GgepcBXPn5CUdhqWaY9IeNmesOdbFdFkZZ+xibZYLJGJcP6pmHquTeTLm SB7Lv+t5QyBaYDMbLFwop8oi9hW97KcRnuk6unny0mdzYWd6to4eqt7Yipxz8Rt+2dcO gMSE8PTI/PIpJnQ7xYObCIHhlkL5SzdsiqKKvEb1a+Brd0rJiUh42Wu/rN2JPdzuad2O Pmhg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=1jdurUeNEDdHkdMa/vo+XcnMIVKb854aK31RdK5BPgo=; b=n5qx3AYIzqMCYskKEKL1iOhYhOzlUbbNEkMtmufhXKpFqha6icI5soWjhv7GsY4vUI HfLLgxTDnt0KZeJgvtzi5/PEEKJM/6Mti0tVsayq5Pgn5hwaGGK91nv0FkWv1gwI6yuR Mw3Z+R8lDStTIEDNzo3Wa6VEq1cVcDrTVCPWMP+sasGtHhh9C12H2MlKeaUOk99CCapD RdO8h6a8gqkIs3bU1n3dWCNWki6yzK76SqVW8q5Ay4TJ8OUyKKM3gdcR0a6Fg06Us4or uutc89PIBiIudIbmOANQelDLCuprgN8fjAOyqZBMnA9ncsfyB8A1fbT6ShFiAPwQ2ur6 IiMg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@vmware.com header.s=selector2 header.b=qdKLj4q3; arc=pass (i=1 spf=pass spfdomain=vmware.com dkim=pass dkdomain=vmware.com dmarc=pass fromdomain=vmware.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=vmware.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 24si11131366edv.406.2021.01.31.00.19.48; Sun, 31 Jan 2021 00:20:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@vmware.com header.s=selector2 header.b=qdKLj4q3; arc=pass (i=1 spf=pass spfdomain=vmware.com dkim=pass dkdomain=vmware.com dmarc=pass fromdomain=vmware.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=vmware.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229969AbhAaIIv (ORCPT + 99 others); Sun, 31 Jan 2021 03:08:51 -0500 Received: from mail-dm6nam12on2047.outbound.protection.outlook.com ([40.107.243.47]:34209 "EHLO NAM12-DM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229926AbhAaH7Q (ORCPT ); Sun, 31 Jan 2021 02:59:16 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nhExYwokGhWDQPZ7b/rTYEaYdY2ainQkvgXSKZO4zkP3pECOwVFLoNtMysD8/VFi0EGiv1NPoWHCczAocydfMCD5+wRey3g6fjDUflPteqTnhJIv6jrySbzevwFNkQ0BxVHZjFnVqr5SvZVuF9OAAsIIs5+p+rxyATiXl4/mh5WX+J0OubGndhk1GqvyMlMB9Wg5+GfQnZgB0iBOJlCBcxmat062iNv1kI2Txg8rYMxJD6ntxgLNpfgcR9gI4GDZqzM/eMDow23xYtbVBLwzeB3PljuRezZ7ag0Lqh1+MzDSDRj59oI8biQOpRT3B3f9gGsFMYQbzSfRxvZPi0oU8w== 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=1jdurUeNEDdHkdMa/vo+XcnMIVKb854aK31RdK5BPgo=; b=eCJrl2KLEQiPcJksYw4O75hdn+Bgvb6mPvvb04VS46xmNVNZ414tLDOr2EhqtO4H4xvOEAMtJ4Lv4YDMWUbb0vlfuYlxmsos0aH//EN7QnzVCAmdTil2n07faUjadplN6zHwjIbHO5SBqZvSymrZkkFyq30rnMvrwDocW0ls/e+gNKyhXhrdxDh+9iCiWYOa8QeHZPCrmdHMj3ov4fqBIokLgogAyZYICdNwSkD+8lL1I+yVnDJq3+aS02I4LaMXhyf/CALbE3XLCPs7lssJx2IB+GeFAzgL+whkMODNIjHx68oiZ8hs4OIffLTrSB/Rxd38Z05SCXouQb9CUkUAeA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1jdurUeNEDdHkdMa/vo+XcnMIVKb854aK31RdK5BPgo=; b=qdKLj4q3WUcsS+8eef0YrIZc1Eu0TgGkQO9n4DXqZ3sNc32xuwkQZWTLmAAO1emUBvAt/siZqRn1eEOW+CCM0RJX2oS7UjB2YSxamPKjS7nmRyXl9LmE4Cn8fjqSwHg84ehR5LUc+WVlTskZr9hMdTQMuWMV5h8aWadmaO8wF8Q= Received: from (2603:10b6:a03:4a::18) by SJ0PR05MB7577.namprd05.prod.outlook.com (2603:10b6:a03:2e8::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.11; Sun, 31 Jan 2021 07:57:01 +0000 Received: from BYAPR05MB4776.namprd05.prod.outlook.com ([fe80::ddba:e1e9:fde7:3b31]) by BYAPR05MB4776.namprd05.prod.outlook.com ([fe80::ddba:e1e9:fde7:3b31%3]) with mapi id 15.20.3825.013; Sun, 31 Jan 2021 07:57:01 +0000 From: Nadav Amit To: Nicholas Piggin CC: LKML , Linux-MM , Andrea Arcangeli , Andrew Morton , Dave Hansen , "linux-csky@vger.kernel.org" , linuxppc-dev , linux-s390 , Andy Lutomirski , Mel Gorman , Peter Zijlstra , Thomas Gleixner , Will Deacon , X86 ML , Yu Zhao Subject: Re: [RFC 00/20] TLB batching consolidation and enhancements Thread-Topic: [RFC 00/20] TLB batching consolidation and enhancements Thread-Index: AQHW94F8jqirOcyt10i89p5eRNXwdKpBXksA Date: Sun, 31 Jan 2021 07:57:01 +0000 Message-ID: References: <20210131001132.3368247-1-namit@vmware.com> <1612063149.2awdsvvmhj.astroid@bobo.none> In-Reply-To: <1612063149.2awdsvvmhj.astroid@bobo.none> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=vmware.com; x-originating-ip: [24.6.216.183] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c502c0d6-ce34-406c-052b-08d8c5bdcade x-ms-traffictypediagnostic: SJ0PR05MB7577: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: O8/5dI6iWAaY/ljqSvy2HV+hISleAdkHBhoHt9cuQ38e5633eX5bIVg5J0mxPSroNeV0yK7A3XwZyFFCOrLv0s2sx0VxDY2Qu6aKNe2xGMZ3veJyIIGrvoTqZZ+C7aX+apydYGST38H70nQIT4IxsUgahaz0EdMD3iYgvZwv5dRncNJvajZTmB5lSP21tUDYq4Gp0s60OWSUvtKba4Kk196NlrVkiw43VID52OppuvUaYby44NBQ98pZr0fK9mhWYC4c3XyaRN6pKVm85MAzDn6MHW3ZlsDAFHEGkr1NqtVhlzJD7GRkKkUdwdW2J4OknWz91XfpMyGXJnMLZcbDu+2q6CxDJOrX5aOxBPuKpJkTXzcY6OtBmrLpCHe0tlr/mOXLtyuf9aretCG4/EBEBprb6UWi6B39zUvwl0S7A2iO/fuDQn8+j2c2/q0gbx9FRPHg7eGGzlKMv4DzC1PE7/8zoTsSQlL82WnlKvDiLxEpN+sQj80dTyewwkqLvNRqvjVAhvISM+YFzNhRTI3OBO8P7isYnZop4jiclUCyp2x7Eoe1LIS8XTkThYt2x4DZa0Bv/QkjISa6Y7nPuFgudA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR05MB4776.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(136003)(396003)(39850400004)(376002)(83380400001)(7416002)(66946007)(478600001)(66476007)(53546011)(33656002)(36756003)(6486002)(66446008)(64756008)(86362001)(6506007)(2616005)(6512007)(186003)(5660300002)(8936002)(4326008)(71200400001)(54906003)(66556008)(316002)(76116006)(6916009)(8676002)(2906002)(26005)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?QkZyVm1YQ0syZnliMmNuUnJRRk5EUjBiQmpnMGVSeXhLa1FVekdGWkxrc09n?= =?utf-8?B?K05lQTNWOVJ4QURmazc2UjBiNUcwbEVHRXhLVGRMeVJLRkxSRjF1Z0s5S1px?= =?utf-8?B?UnNQR0plK2ovUHJybTlOMlBlRjE3SEY2UWMyWmd0OWdEc1JNWC9heEJEQ1RC?= =?utf-8?B?Y1BGYTBqNnlPQWc3NHc4R0JUWVBQMU5CaUdHM2RVQUU0VzZCM050MVpETThw?= =?utf-8?B?YVI2dUhUVTIvc0dJcjNsNEpHQlMzeXFrblJVdHhBYjg5VXBsaVNEWERpWXpV?= =?utf-8?B?djlJQjhzY09UMWxqNVdOc1pHQmFZVFJiR01rM1MzVWxVWjY4MVNPWDdqY3Bm?= =?utf-8?B?VElKdEg1K1kzamlWazF2cnhreXNEVmFYM3hHRUI0N0o2MXduV1lXZkRTK1Uz?= =?utf-8?B?SWpMYlRObE1iSzVYVTlTUzdkalFUemU0SzU2Y3lzYzhVbjFMZnpaZVBNSVcz?= =?utf-8?B?aU5wenU4bzVRZWhCQjZrZytrSkNXME0yRmlGUEZKYmVTT2lGMmpOeW5tMDFJ?= =?utf-8?B?SUdNRGptWTBINVl2YyszQkhJdGd3V241UE9YbVl6aFBJUWdBZGpXNEFMOUhG?= =?utf-8?B?dzMrRUVWNzZ1MnhqbXkzdUJ0OWtKWjRSaFlCUkxLNkh4S1NjTUV5eG81UWNZ?= =?utf-8?B?VDJZZFZKbDh4UUZxZ2RURUR5SFNXZGJUckxiRkoyTkplVmpjYVRuMFdSR3VK?= =?utf-8?B?VmF0TVF0NFFsSzBqNDlDZHR0YlRvNDhIZ3NUcDFnNk9seERwSk0waURJRW9m?= =?utf-8?B?RjBCZW10bHlFQU9aRnM0WlhDUldrU3o4WDJOR2tXZ3RPZU9reGpQVVJMZnhw?= =?utf-8?B?RWNFM0tGMW1pMlZzYWdUS3hWVlVycTdua2tSWE4rMDBWUkV4V3JPUzg2dG02?= =?utf-8?B?TXJ1UHAxQi8xZ3RZSlhwQ0w2Y0JxV3hhbWtTYnNENk8vQXRzajMzTHhFcGlE?= =?utf-8?B?MzFmMEdTSk9XSTkvc2IwdTRUcGNkaHJGS2F3MDJ0S0FHTzdKeVdNUmVBRVkr?= =?utf-8?B?WVdDWUhneVBydHRQMUI1b0hEVDhtU0h1blNGTWwzc2d0MC81bVk0QVBjLy82?= =?utf-8?B?dTJiVjRvRnpWcWtrQWxtSlcxdVpFRm9tMmZGYXdrQjNEbGRmQTFPWXhzUS9p?= =?utf-8?B?Q3laTUZBcUZpZkV0QTd0RjVwdGl5cWc5eDFidm93OURmN1Q0Y1pqT2tWZWdl?= =?utf-8?B?NklzZUQ1NTJPUVpacWdvRG9aaW1GV1RHekg1eHVHYTcyeUtybFg4QlA4bE1k?= =?utf-8?B?STh6ZHNaRHIxN1lwK0dDeW8zYThSRTRtRithVjRVTUFvQnZ1WWx3UVVFaVRn?= =?utf-8?B?V2ZmYXBmSjROUzdrM3pyaGpPNWl1a2xlTHhTSnc1R1J5Kzhya1ZKUkhBbUN1?= =?utf-8?B?OFFuRDFENDhENWVMUXhDTjVnYVNZYWU2ZDB4VzlXSWk3MTRQd29DMVpxbksz?= =?utf-8?Q?LZJ3fHNu?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <255E65CB0F9C7542894A7BCF6BD721DF@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR05MB4776.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c502c0d6-ce34-406c-052b-08d8c5bdcade X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Jan 2021 07:57:01.4694 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: dq2XtVC0XcQ8rezTTLZRBTQ8oXmrIxybigZ7mAaKFcFMWsKYz/ozS9THwvBZZ7GwOvIsvJkLKOQJqHZDC3seQA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR05MB7577 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PiBPbiBKYW4gMzAsIDIwMjEsIGF0IDc6MzAgUE0sIE5pY2hvbGFzIFBpZ2dpbiA8bnBpZ2dpbkBn bWFpbC5jb20+IHdyb3RlOg0KPiANCj4gRXhjZXJwdHMgZnJvbSBOYWRhdiBBbWl0J3MgbWVzc2Fn ZSBvZiBKYW51YXJ5IDMxLCAyMDIxIDEwOjExIGFtOg0KPj4gRnJvbTogTmFkYXYgQW1pdCA8bmFt aXRAdm13YXJlLmNvbT4NCj4+IA0KPj4gVGhlcmUgYXJlIGN1cnJlbnRseSAoYXQgbGVhc3Q/KSA1 IGRpZmZlcmVudCBUTEIgYmF0Y2hpbmcgc2NoZW1lcyBpbiB0aGUNCj4+IGtlcm5lbDoNCj4+IA0K Pj4gMS4gVXNpbmcgbW11X2dhdGhlciAoZS5nLiwgemFwX3BhZ2VfcmFuZ2UoKSkuDQo+PiANCj4+ IDIuIFVzaW5nIHtpbmN8ZGVjfV90bGJfZmx1c2hfcGVuZGluZygpIHRvIGluZm9ybSBvdGhlciB0 aHJlYWRzIG9uIHRoZQ0KPj4gICBvbmdvaW5nIGRlZmVycmVkIFRMQiBmbHVzaCBhbmQgZmx1c2hp bmcgdGhlIGVudGlyZSByYW5nZSBldmVudHVhbGx5DQo+PiAgIChlLmcuLCBjaGFuZ2VfcHJvdGVj dGlvbl9yYW5nZSgpKS4NCj4+IA0KPj4gMy4gYXJjaF97ZW50ZXJ8bGVhdmV9X2xhenlfbW11X21v ZGUoKSBmb3Igc3BhcmMgYW5kIHBvd2VycGMgKGFuZCBYZW4/KS4NCj4+IA0KPj4gNC4gQmF0Y2hp bmcgcGVyLXRhYmxlIGZsdXNoZXMgKG1vdmVfcHRlcygpKS4NCj4+IA0KPj4gNS4gQnkgc2V0dGlu ZyBhIGZsYWcgb24gdGhhdCBhIGRlZmVycmVkIFRMQiBmbHVzaCBvcGVyYXRpb24gdGFrZXMgcGxh Y2UsDQo+PiAgIGZsdXNoaW5nIHdoZW4gKHRyeV90b191bm1hcF9vbmUoKSBvbiB4ODYpLg0KPj4g DQo+PiBJdCBzZWVtcyB0aGF0ICgxKS0oNCkgY2FuIGJlIGNvbnNvbGlkYXRlZC4gSW4gYWRkaXRp b24sIGl0IHNlZW1zIHRoYXQNCj4+ICg1KSBpcyByYWN5LiBJdCBhbHNvIHNlZW1zIHRoZXJlIGNh biBiZSBtYW55IHJlZHVuZGFudCBUTEIgZmx1c2hlcywgYW5kDQo+PiBwb3RlbnRpYWxseSBUTEIt c2hvb3Rkb3duIHN0b3JtcywgZm9yIGluc3RhbmNlIGR1cmluZyBiYXRjaGVkDQo+PiByZWNsYW1h dGlvbiAodXNpbmcgdHJ5X3RvX3VubWFwX29uZSgpKSBpZiBhdCB0aGUgc2FtZSB0aW1lIG1tdV9n YXRoZXINCj4+IGRlZmVycyBUTEIgZmx1c2hlcy4NCj4+IA0KPj4gTW9yZSBhZ2dyZXNzaXZlIFRM QiBiYXRjaGluZyBtYXkgYmUgcG9zc2libGUsIGJ1dCB0aGlzIHBhdGNoLXNldCBkb2VzDQo+PiBu b3QgYWRkIHN1Y2ggYmF0Y2hpbmcuIFRoZSBwcm9wb3NlZCBjaGFuZ2VzIHdvdWxkIGVuYWJsZSBz dWNoIGJhdGNoaW5nDQo+PiBpbiBhIGxhdGVyIHRpbWUuDQo+PiANCj4+IEFkbWl0dGVkbHksIEkg ZG8gbm90IHVuZGVyc3RhbmQgaG93IHRoaW5ncyBhcmUgbm90IGJyb2tlbiB0b2RheSwgd2hpY2gN Cj4+IGZyaWdodGVucyBtZSB0byBtYWtlIGZ1cnRoZXIgYmF0Y2hpbmcgYmVmb3JlIGdldHRpbmcg dGhpbmdzIGluIG9yZGVyLg0KPj4gRm9yIGluc3RhbmNlLCB3aHkgaXMgb2sgZm9yIHphcF9wdGVf cmFuZ2UoKSB0byBiYXRjaCBkaXJ0eS1QVEUgZmx1c2hlcw0KPj4gZm9yIGVhY2ggcGFnZS10YWJs ZSAoYnV0IG5vdCBpbiBncmVhdGVyIGdyYW51bGFyaXR5KS4gQ2FuJ3QNCj4+IENsZWFyUGFnZURp cnR5KCkgYmUgY2FsbGVkIGJlZm9yZSB0aGUgZmx1c2gsIGNhdXNpbmcgd3JpdGVzIGFmdGVyDQo+ PiBDbGVhclBhZ2VEaXJ0eSgpIGFuZCBiZWZvcmUgdGhlIGZsdXNoIHRvIGJlIGxvc3Q/DQo+IA0K PiBCZWNhdXNlIGl0J3MgaG9sZGluZyB0aGUgcGFnZSB0YWJsZSBsb2NrIHdoaWNoIHN0b3BzIHBh Z2VfbWtjbGVhbiBmcm9tIA0KPiBjbGVhbmluZyB0aGUgcGFnZS4gT3IgYW0gSSBtaXN1bmRlcnN0 YW5kaW5nIHRoZSBxdWVzdGlvbj8NCg0KVGhhbmtzLiBJIHVuZGVyc3Rvb2QgdGhpcyBwYXJ0LiBM b29raW5nIGFnYWluIGF0IHRoZSBjb2RlLCBJIG5vdyB1bmRlcnN0YW5kDQpteSBjb25mdXNpb246 IEkgZm9yZ290IHRoYXQgdGhlIHJldmVyc2UgbWFwcGluZyBpcyByZW1vdmVkIGFmdGVyIHRoZSBQ VEUgaXMNCnphcHBlZC4NCg0KTWFrZXMgbWUgd29uZGVyIHdoZXRoZXIgaXQgaXMgb2sgdG8gZGVm ZXIgdGhlIFRMQiBmbHVzaCB0byB0bGJfZmluaXNoX21tdSgpLA0KYnkgcGVyZm9ybWluZyBzZXRf cGFnZV9kaXJ0eSgpIGZvciB0aGUgYmF0Y2hlZCBwYWdlcyB3aGVuIG5lZWRlZCBpbg0KdGxiX2Zp bmlzaF9tbXUoKSBbIGkuZS4sIGJ5IG1hcmtpbmcgZm9yIGVhY2ggYmF0Y2hlZCBwYWdlIHdoZXRo ZXINCnNldF9wYWdlX2RpcnR5KCkgc2hvdWxkIGJlIGlzc3VlZCBmb3IgdGhhdCBwYWdlIHdoaWxl IGNvbGxlY3RpbmcgdGhlbSBdLg0KDQo+IEknbGwgZ28gdGhyb3VnaCB0aGUgcGF0Y2hlcyBhIGJp dCBtb3JlIGNsb3NlbHkgd2hlbiB0aGV5IGFsbCBjb21lIA0KPiB0aHJvdWdoLiBTcGFyYyBhbmQg cG93ZXJwYyBvZiBjb3Vyc2UgbmVlZCB0aGUgYXJjaCBsYXp5IG1vZGUgdG8gZ2V0IA0KPiBwZXIt cGFnZS9wdGUgaW5mb3JtYXRpb24gZm9yIG9wZXJhdGlvbnMgdGhhdCBhcmUgbm90IGZyZWVpbmcg cGFnZXMsIA0KPiB3aGljaCBpcyB3aGF0IG1tdSBnYXRoZXIgaXMgZGVzaWduZWQgZm9yLg0KDQpJ SVVDIHlvdSBtZWFuIGFueSBQVEUgY2hhbmdlIHJlcXVpcmVzIGEgVExCIGZsdXNoLiBFdmVuIHNl dHRpbmcgdXAgYSBuZXcgUFRFDQp3aGVyZSBubyBwcmV2aW91cyBQVEUgd2FzIHNldCwgcmlnaHQ/ DQoNCj4gSSB3b3VsZG4ndCBtaW5kIHVzaW5nIGEgc2ltaWxhciBBUEkgc28gaXQncyBsZXNzIG9m IGEgYmxhY2sgYm94IHdoZW4gDQo+IHJlYWRpbmcgZ2VuZXJpYyBjb2RlLCBidXQgaXQgbWlnaHQg bm90IHF1aXRlIGZpdCB0aGUgbW11IGdhdGhlciBBUEkNCj4gZXhhY3RseSAobW9zdCBvZiB0aGVz ZSBwYXRocyBkb24ndCB3YW50IGEgZnVsbCBtbXVfZ2F0aGVyIG9uIHN0YWNrKS4NCg0KSSBzZWUg eW91ciBwb2ludC4gSXQgbWF5IGJlIHBvc3NpYmxlIHRvIGNyZWF0ZSB0d28gbW11X2dhdGhlciBz dHJ1Y3RzOiBhDQpzbWFsbCBvbmUgdGhhdCBvbmx5IGhvbGRzIHRoZSBmbHVzaCBpbmZvcm1hdGlv biBhbmQgYW5vdGhlciB0aGF0IGFsc28gaG9sZHMNCnRoZSBwYWdlcy4gDQoNCj4+IFRoaXMgcGF0 Y2gtc2V0IHRoZXJlZm9yZSBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIGNoYW5nZXM6DQo+PiANCj4+ IDEuIENoYW5nZSBtcHJvdGVjdCwgdGFza19tbXUgYW5kIG1hcHBpbmdfZGlydHlfaGVscGVycyB0 byB1c2UgbW11X2dhdGhlcg0KPj4gICBpbnN0ZWFkIG9mIHtpbmN8ZGVjfV90bGJfZmx1c2hfcGVu ZGluZygpLg0KPj4gDQo+PiAyLiBBdm9pZCBUTEIgZmx1c2hlcyBpZiBQVEUgcGVybWlzc2lvbiBp cyBub3QgZGVtb3RlZC4NCj4+IA0KPj4gMy4gQ2xlYW5zIHVwIG1tdV9nYXRoZXIgdG8gYmUgbGVz cyBhcmNoLWRlcGVuZGFudC4NCj4+IA0KPj4gNC4gVXNlcyBtbSdzIGdlbmVyYXRpb25zIHRvIHRy YWNrIGluIGZpbmVyIGdyYW51bGFyaXR5LCBlaXRoZXIgcGVyLVZNQQ0KPj4gICBvciBwZXIgcGFn ZS10YWJsZSwgd2hldGhlciBhIHBlbmRpbmcgbW11X2dhdGhlciBvcGVyYXRpb24gaXMNCj4+ICAg b3V0c3RhbmRpbmcuIFRoaXMgc2hvdWxkIGFsbG93IHRvIGF2b2lkIHNvbWUgVExCIGZsdXNoZXMg d2hlbiBLU00gb3INCj4+ICAgbWVtb3J5IHJlY2xhbWF0aW9uIHRha2VzIHBsYWNlIHdoaWxlIGFu b3RoZXIgb3BlcmF0aW9uIHN1Y2ggYXMNCj4+ICAgbXVubWFwKCkgb3IgbXByb3RlY3QoKSBpcyBy dW5uaW5nLg0KPj4gDQo+PiA1LiBDaGFuZ2VzIHRyeV90b191bm1hcF9vbmUoKSBmbHVzaGluZyBz Y2hlbWUsIGFzIHRoZSBjdXJyZW50IHNlZW1zDQo+PiAgIGJyb2tlbiB0byB0cmFjayBpbiBhIGJp dG1hcCB3aGljaCBDUFVzIGhhdmUgb3V0c3RhbmRpbmcgVExCIGZsdXNoZXMNCj4+ICAgaW5zdGVh ZCBvZiBoYXZpbmcgYSBmbGFnLg0KPiANCj4gUHV0dGluZyBmaXhlcyBmaXJzdCwgYW5kIGNsZWFu dXBzIGFuZCBpbmRlcGVuZGVudCBwYXRjaGVzIChsaWtlICMyKSBuZXh0DQo+IHdvdWxkIGhlbHAg d2l0aCBnZXR0aW5nIHN0dWZmIG1lcmdlZCBhbmQgYmFja3BvcnRlZC4NCg0KSSB0cmllZCB0byBk byBpdCBtb3N0bHkgdGhpcyB3YXkuIFRoZXJlIGFyZSBzb21lIHRoZW9yZXRpY2FsIHJhY2VzIHdo aWNoDQpJIGRpZCBub3QgbWFuYWdlIChvciB0cnkgaGFyZCBlbm91Z2gpIHRvIGNyZWF0ZSwgc28g SSBkaWQgbm90IGluY2x1ZGUgaW4NCnRoZSDigJxmaXhlc+KAnSBzZWN0aW9uLiBJIHdpbGwgcmVz dHJ1Y3R1cmUgdGhlIHBhdGNoLXNldCBhY2NvcmRpbmcgdG8gdGhlDQpmZWVkYmFjay4NCg0KVGhh bmtzLA0KTmFkYXY=