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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A388DC433EF for ; Fri, 8 Jul 2022 17:04:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1730A8E000B; Fri, 8 Jul 2022 13:04:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0FD808E0007; Fri, 8 Jul 2022 13:04:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E919E8E000B; Fri, 8 Jul 2022 13:04:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id D29C88E0007 for ; Fri, 8 Jul 2022 13:04:16 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 3F37F206EC for ; Fri, 8 Jul 2022 17:04:16 +0000 (UTC) X-FDA: 79664555712.26.D3F4FFC Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2087.outbound.protection.outlook.com [40.107.220.87]) by imf15.hostedemail.com (Postfix) with ESMTP id 7C722A0068 for ; Fri, 8 Jul 2022 17:04:15 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M9DjpV918pP3pGmm6gB1M0nsz69ZmmgUunDhHI19XV4A8ArW+wbyYRh0Kss0I8SDO8c9jpHpcmApQFwvrPROnpG6Tb6bC+IkPozlU/PZ6wmsVD4ADE+Ak6xq/tBPrtnwO7LcwXV1jeheWrn1lO+JvKIFiPLFcydaHCucYT7VcN+8M6YX2YndWQdq8ercI/K0z/+Eaz1qSprKqqirpQpD+A84y/zHIrKw6Y+i7slGukiIfTRKkF9PXSlTcSG3t5Au1NJFXP230noKzaPWpE+P+Ysne4NU0Te7HzbY6jr0REzBwkI/gcfsgxYTu+eeVC0WNHLmyf9heQ9RDW446DXapw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EZwDiGELKbdB6lRPgxWvzE0N0Zb1h1E3XmzalNk01Mg=; b=k1kY4stLcbd1B6GJHqYOqwP6n+Hv0xL/Mu+ftHBY48gxcsNkCKfapmFHPKv0tMj57GDX+T5QZgORmUv+eMCRFE+tjYPqrpwBmLc41Bt5EKTcWsS9ddbfyRZwJt2mbKICnjn/czPQGgfaW6n1uVE4JlcVb3vUiyOn+lY62eChMm1tqKFMs8xMn6KmbaBryAmPh7In63Q8hjtG26SaPIF5IXwstyV4SJDf6OrfjxR5yirEO4ZynRq+YU3DykVmyWcUTsrFhesoLMABYuq21e+idd3l8yqIvMStR4+UHITizmoWb6DJSWnbFnTION4bwtADA1nKA3nGw/UdP6VZZUuAPw== 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=EZwDiGELKbdB6lRPgxWvzE0N0Zb1h1E3XmzalNk01Mg=; b=tnmEOOgvjGNTihFZH6U1q6s6gpAlsedOryLhAWyOwFUW7V/+znwbncVAvsxaB8OGPTtd5MtgqDR8pvbJy3U1+Jk85RCcGAozppvdUgPqkGYtjauIGs6/0mspZhvOSm9oYWWXUgesFLxCw7WuusWRXCnP8+kuDkyQ5Psywvd1IMM= Received: from BY3PR05MB8531.namprd05.prod.outlook.com (2603:10b6:a03:3ce::6) by BYAPR05MB4920.namprd05.prod.outlook.com (2603:10b6:a03:43::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.20; Fri, 8 Jul 2022 17:04:12 +0000 Received: from BY3PR05MB8531.namprd05.prod.outlook.com ([fe80::a4f8:718a:b2a0:977f]) by BY3PR05MB8531.namprd05.prod.outlook.com ([fe80::a4f8:718a:b2a0:977f%6]) with mapi id 15.20.5417.021; Fri, 8 Jul 2022 17:04:12 +0000 From: Nadav Amit To: Dave Hansen CC: "linux-kernel@vger.kernel.org" , Hugh Dickins , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "x86@kernel.org" , Linux MM , Dave Hansen , Peter Zijlstra , Andy Lutomirski Subject: Re: [PATCH] x86/mm/tlb: ignore f->new_tlb_gen when zero Thread-Topic: [PATCH] x86/mm/tlb: ignore f->new_tlb_gen when zero Thread-Index: AQHYkqF/mvVmWIh+yUS8DjEvdZIjBK10jraAgAAlg4A= Date: Fri, 8 Jul 2022 17:04:12 +0000 Message-ID: <4F7D1BBF-9695-4DE2-A40E-2D2546B2BAAE@vmware.com> References: <20220708003053.158480-1-namit@vmware.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.100.31) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a7bd94e6-e57e-4f0e-aceb-08da6103e18d x-ms-traffictypediagnostic: BYAPR05MB4920:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: okgkHusUNytcLlNNaMPrlIhGcS8/aL+ORhD/TLbnvujZf0HTebmKIquIH1GugUZT1AMt87vixi1ZfIX6B+iuUOTb5rOfyPmhPYGKsPjOoB/XZpMMpiZWe0JSxPqoE0HUQ7MLLZjeAjcyZANP++/7aJfwuEkXCI96g4BglYWdbliAIEs7tILJDpOQhEEe9Ckp+eXwb9lYXJkP1iwNnsxmqfXHEyLo1xYKJHJvAmWzfJheHVQYkVyY7/eHQMZDk06XEgB0Z3OPckMy6OoR4DfZN0pbwKHieaVX3lBAb3PUHROw6Hb2t9tod01jnrMgb9fP1EMg8TORR3T/tslyfMEZ3S00nBQMVYWdu/YPMilC77WdvLEbf+LIt8ihmfW+0VHm28ylAflRl65KPBP0PmwEQQ7yPgh21Tlk5JryJjpHY6U6P9SURYW6xEZr9Nm+wcUIssChCi1mNlgjmBVyrQ3TXmiDeriGcqHqBUgb9LYAwACE6sP859p5llHtdm1Icxt/F1X6731ryRKUICvPpCsirleofJlFHi6P4rIYRmvGG6gxqfwVbEBozTqjKJ/b1iT+/drO2LWjZwWAm9zAsVFTV8AGfUAzUo5vkpYlBkO96I0VstiW3wl1orLMSXDklZPZ5D7NoSxM72NSEvsqvZAtZRqcsY4+EwuLbRxMIazlD7BL+F74/mRwdT7XD46DHRq6ggAuAf6bkT7AKEzjRTyogVAPl4HJVqFHmgbRJnPyMrWCgUm+BjAiFAQR29YR5r3lqq3KOCUIcc2oJd2zU9wFWI6IBrUyt7CibJ1dQu2pTrTU6KOs4POsdgqRsxhnUzQo5YEHVvqovUHbcadP74U6w7MBnO5zne/74rHTk+mYwgzc+FQLlNW3QkN6WtDISG8JnZLwqb3+cINf/mhykpE7gg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY3PR05MB8531.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(39860400002)(366004)(376002)(396003)(346002)(136003)(38070700005)(5660300002)(41300700001)(7416002)(33656002)(122000001)(8936002)(6506007)(26005)(54906003)(6512007)(316002)(53546011)(6916009)(186003)(6486002)(478600001)(36756003)(86362001)(2616005)(38100700002)(83380400001)(4326008)(8676002)(66476007)(2906002)(66946007)(64756008)(76116006)(66446008)(71200400001)(66556008)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NEZ0aGN4MzZHYmlDQjVDZlN6czNnNDNtYWJzMlluR0VIRHE5UW4wWlFQZHdt?= =?utf-8?B?YWlQaXN5Qi8wLzA3MnNNbXM3RnJuWGhFc2J1UGdaZDM4QWZwT0pyWURZSWgr?= =?utf-8?B?V1ZmNDEwSFJiNmJXamhLTzVMbDNtaHAwVVB6R0Y3TVBVYUxWZzhqZDVtVm5G?= =?utf-8?B?Vy9Rb0lLNjJGejdhUG5ZNXZIUUY2THFmRTI5L0M4czhoWEI1b1Z4cFc5VCtP?= =?utf-8?B?djNodXFsQmROUE5rbkI5MzRRdWZHaFhsQmkwOTFXVTd5Q2JHY3lsZmo0eit1?= =?utf-8?B?dG1UTVgyOENhYlhsZzk5R3MxalloVWsxZ25tWHdMMnRMZVg2RG9yam1PR3RW?= =?utf-8?B?eW1WYTN3dnJrTzNUdzJJd202ckIxb2RUeDY1Vy9EaVN6ZkZZNkhUK0x2QVVt?= =?utf-8?B?N2hIbWRsczBKNEEwZmJKbE5LVnN1allkRjI0Q2Rjc24zNHpYbXBYR0d2bEtm?= =?utf-8?B?RTU5cVEvMFdxS0hDdjErYTZsK1dad1ltZHlxYmI2MnY2MERwbkJFcWxkb3J3?= =?utf-8?B?b3dTQUJyMCs5aFllQkNNN1pMZ1hLcytNMm82Q3h4S2V0bVhtU2hETCtsMW5m?= =?utf-8?B?VDZ5bkUxQkNZY2NXSE9LM3pzeU5tOWZtUEhLQ2lnZ1lxSnk0eE55U1ZuZm5U?= =?utf-8?B?UEpyRHgxbDFlVnJTRjN2MGNwWFEvbnZvSFRuZU84VjR3UDgvRXpJVk5WQnZy?= =?utf-8?B?bytqS1cyMEdZc3E5NHBTZGtJeDgyNitnTG55K2hUd29yRTZtK0gxekZ3Z2E0?= =?utf-8?B?aDFHQ2pWUEM1L2tWREJsTFk5bnpYSnBjRlB1V3ZtdVQ4R0hQQkZ5Y3p2MmQv?= =?utf-8?B?ZFh3ZlRYS2xwMVpxUTBOL2RRMmEyWi9HU0hvMTFna0RSMGhaT0xsUTNTdGtx?= =?utf-8?B?RDJsSGI1WGMxcHl6aEpoUEFCVm1GeTRSNGtTc081anFyUzFLWTExY2xCdmJH?= =?utf-8?B?b0RBOGJMNnFXNlllWGxxcDZqek1tcWY1VHdrRWliSHFJY1BiUEk5S1NqYmdO?= =?utf-8?B?VWVXYlhIODFiUnozVlNyb2lIOVgyZVNyeC9jVFlzWjdTRWszYnBsanRnSHZO?= =?utf-8?B?SVo0WlRvalI1ZTBNMEF1eS92VEFsOHp6QnpwQWcxUTJKREFBbEtUQmIxd0Vr?= =?utf-8?B?VE9PVFRaUDNUQjRjelVDa284eXFWTVZBRURKTzZzTFlYdG40ajlteG93RGpk?= =?utf-8?B?bnh4V0ZqbHFvMnJTUUFwdTFJWUVGb08zaWdWVGVsVzdRL0hzelpYUlJUay9a?= =?utf-8?B?SEFlMWpWRW9pdVQzbkNVbmdlZHBwcjV2S3h6TlVXZ0RDN3pPakhvYnlvbHdl?= =?utf-8?B?enpCRTByc1hCdHVXY212MVMrWnpLMmRXc1pvY1RkVWdNTHpWRldjc0ZXalFN?= =?utf-8?B?eEg4TjA5c3FaYTI0RFAweHNyV01WMXFWMWZzUmxBTVhhUVQ2bXRJSXB4QXJN?= =?utf-8?B?NVRNUmVJSFdPMHFxOWJBN284OFZsZWV0RjlTb2xRdU9leEdWLzV4b0xRR0Z6?= =?utf-8?B?THh6RitZcGxpclhLRk1zSVBvSTZYcHZiZlZ6cXUvaDVUV3I4S08wNXdzZElO?= =?utf-8?B?SjlwdXZ1bmhscjhFSU1iWitPcC9ZWGFlamVTbHZIWXRNbjY5Wnk1STE1VG5S?= =?utf-8?B?QSsweWV5ZzlBbXpkZjZZQzNjRjFEZ3FMaFlPMnNtK2dvcXB5WWUxK1lRdi90?= =?utf-8?B?YlJCUUM4T210SGtNejYzQlNmQnJaVWViZkVkclRiQ05BWko5T3FaV05UNkdZ?= =?utf-8?B?blhiUGpmRlFTM3JuWTR0ZHpXdUZLOGxKV1JrK0xTb1UzbXdiT1JBcUx1emFl?= =?utf-8?B?eWhBVXdPbis1aXVPY1loSFl6RTBRYXlqZjdKUDE3SHlxTFJHb2ZRSE5kVlhK?= =?utf-8?B?RzdhbEFRYmkwUjlkS0ZTd2R1QXdENWZDU0JrOWE3c1BSREVvNjBWcjZnbDBi?= =?utf-8?B?c3JSWnc5eHg2UWZHOUVhTTBkc0x2Sk9maVhyMjJUZEhDT29HV1V1Mk5ONEY0?= =?utf-8?B?NHZaMVNlUGxaTVFqaVV3WklSbGd1ZTZzUmFDUzNSSDYzdlFtdnlQWlN6TmNQ?= =?utf-8?B?dTI5TWhWRnJnTUVhY1hDK0I1UUNtUDBPWk9MVkNiazVtRWRSS1hkaGpTUmxR?= =?utf-8?Q?+nlzQdjPhCZLayo0ZGHuI/15L?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY3PR05MB8531.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a7bd94e6-e57e-4f0e-aceb-08da6103e18d X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jul 2022 17:04:12.2832 (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: tSnBsu3Ib0DmAIlWhXdSyl9JUYWBoTpHizxa/XDFi4VM5ZdkyqZQumXVpVWC7MM0+JEnJD3bC15QAG2RuD7atw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR05MB4920 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1657299855; a=rsa-sha256; cv=pass; b=IXQkV9ly2JWs3sTDSm1iYSws0sruyozN1cBVaZIdtRiGDcIpJ/ubZINymc3gAXemQyPFIP zTKmEhTmHttN+Tq7YJ8h+x2wgaZWNcCWTNi8alEZC20iW+UetuZmWYMZFyzwtR+pS4QNgL c5Br+UdUYgzBKJd2jHu3D5rsZuk0d1w= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=vmware.com header.s=selector2 header.b=tnmEOOgv; spf=none (imf15.hostedemail.com: domain of namit@vmware.com has no SPF policy when checking 40.107.220.87) smtp.mailfrom=namit@vmware.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=quarantine) header.from=vmware.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1657299855; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=EZwDiGELKbdB6lRPgxWvzE0N0Zb1h1E3XmzalNk01Mg=; b=zMNzFlFrAb/aO71598ww8axJK6D5eOzt6lPUo95ERqyIf47ct9onmQr2rLPFqxJnsen8Px v2+pbY1+imq2bXo5Vwu9yM2Dp3atB6cPuikxUWehjhT9F/TUApUD5d8kM452yp9WyfQZvO 7aEo4KmRFeJisGRFDx+QgA78SY9Rn+A= X-Stat-Signature: c1e5it56tg3xmdgap7zzrkig38ywmnag X-Rspamd-Queue-Id: 7C722A0068 Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=vmware.com header.s=selector2 header.b=tnmEOOgv; spf=none (imf15.hostedemail.com: domain of namit@vmware.com has no SPF policy when checking 40.107.220.87) smtp.mailfrom=namit@vmware.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=quarantine) header.from=vmware.com X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1657299855-481996 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: T24gSnVsIDgsIDIwMjIsIGF0IDc6NDkgQU0sIERhdmUgSGFuc2VuIDxkYXZlLmhhbnNlbkBpbnRl bC5jb20+IHdyb3RlOg0KDQo+IOKaoCBFeHRlcm5hbCBFbWFpbA0KPiANCj4gT24gNy83LzIyIDE3 OjMwLCBOYWRhdiBBbWl0IHdyb3RlOg0KPiANCj4gWW91IG1pZ2h0IHdhbnQgdG8gZml4IHRoZSBj bG9jayBvbiB0aGUgc3lzdGVtIGZyb20gd2hpY2ggeW91IHNlbnQgdGhpcy4NCj4gSSB3YXMgcmVh bGx5IHNjcmF0Y2hpbmcgbXkgaGVhZCB0cnlpbmcgdG8gZmlndXJlIG91dCBob3cgeW91IGdvdCB0 aGlzDQo+IHBhdGNoIG91dCBiZWZvcmUgSHVnaCdzIGJ1ZyByZXBvcnQuDQo+IA0KPj4gRnJvbTog TmFkYXYgQW1pdCA8bmFtaXRAdm13YXJlLmNvbT4NCj4+IA0KPj4gQ29tbWl0IGFhNDQyODQ5NjBk NSAoIng4Ni9tbS90bGI6IEF2b2lkIHJlYWRpbmcgbW1fdGxiX2dlbiB3aGVuDQo+PiBwb3NzaWJs ZSIpIGludHJvZHVjZWQgYW4gb3B0aW1pemF0aW9uIG9mIHNraXBwaW5nIHRoZSBmbHVzaCBpZiB0 aGUgVExCDQo+PiBnZW5lcmF0aW9uIHRoYXQgaXMgZmx1c2hlZCAoYXMgcHJvdmlkZWQgaW4gZmx1 c2hfdGxiX2luZm8pIHdhcyBhbHJlYWR5DQo+PiBmbHVzaGVkLg0KPj4gDQo+PiBIb3dldmVyLCBh cmNoX3RsYmJhdGNoX2ZsdXNoKCkgZG9lcyBub3QgcHJvdmlkZSBhbnkgZ2VuZXJhdGlvbiBpbg0K Pj4gZmx1c2hfdGxiX2luZm8uIEFzIGEgcmVzdWx0LCB0cnlfdG9fdW5tYXBfb25lKCkgd291bGQg bm90IHBlcmZvcm0gYW55DQo+PiBUTEIgZmx1c2hlcy4NCj4+IA0KPj4gRml4IGl0IGJ5IGNoZWNr aW5nIHdoZXRoZXIgZi0+bmV3X3RsYl9nZW4gaXMgbm9uemVyby4gWmVybyB2YWx1ZSBpcw0KPj4g YW55aG93IGlzIGFuIGludmFsaWQgZ2VuZXJhdGlvbiB2YWx1ZS4NCj4gDQo+IEl0IGlzLCBidXQg dGhlIGNoZWNrIGJlbG93IHVzZXMgJ2YtPmVuZCA9PSBUTEJfRkxVU0hfQUxMJyBhcyB0aGUgbWFy a2VyDQo+IGZvciBmLT5uZXdfdGxiX2dlbiBiZWluZyBpbnZhbGlkLiAgQmVpbmcgY29uc2lzdGVu dCBzZWVtcyBsaWtlIGEgZ29vZA0KPiBpZGVhIG9uIHRoaXMgc3R1ZmYuDQoNCklmIHdlIGdldCBh IHJlcXVlc3QgdG8gZG8gYSBmbHVzaCwgcmVnYXJkbGVzcyB3aGV0aGVyIGZ1bGwgb3IgcGFydGlh bCwNCnRoYXQgbG9naWNhbGx5IHdlIGhhdmUgYWxyZWFkeSBkb25lLCB0aGVyZSBpcyBub3QgcmVh c29uIHRvIGRvIGl0Lg0KDQpJIHRoZXJlZm9yZSBkbyBub3Qgc2VlIGEgcmVhc29uIHRvIGxvb2sg b24gZi0+ZW5kLiBJIHRoaW5rIHRoYXQgbG9va2luZw0KYXQgdGhlIGdlbmVyYXRpb24gaXMgdmVy eSBpbnR1aXRpdmUuIElmIHlvdSB3YW50LCBJIGNhbiBhZGQgYSBjb25zdGFudA0Kc3VjaCBhcyBU TEJfR0VORVJBVElPTl9JTlZBTElELg0KDQo+IA0KPj4gSW4gYWRkaXRpb24sIGFkZCB0aGUgbWlz c2luZyB1bmxpa2VseSgpIGFuZCBqdW1wIHRvIGdldCB0cmFjaW5nIHJpZ2h0Lg0KPiANCj4gVGhl cmUgYXJlIGN1cnJlbnRseSBmaXZlIHJvdXRlcyBvdXQgb2YgZmx1c2hfdGxiX2Z1bmMoKToNCj4g KiBUaHJlZSBlYXJseSByZXR1cm5zDQo+ICogT25lICdnb3RvIGRvbmUnDQo+ICogT25lIGltcGxp Y2l0IHJldHVybg0KPiANCj4gVGhlIHRyYWNpbmcgY29kZSBkb2Vzbid0IGdldCBydW4gZm9yIGFu eSBvZiB0aGUgZWFybHkgcmV0dXJucywgYnV0DQo+IHRoYXQncyBpbnRlbnRpb25hbCBiZWNhdXNl IHRoZXkgZG9uJ3QgKmFjdHVhbGx5KiBmbHVzaCB0aGUgVExCLiAgV2UNCj4gZG9uJ3Qgd2FudCB0 byByZWNvcmQgdGhhdCBmbHVzaF90bGJfZnVuYygpIGZsdXNoZWQgdGhlIFRMQiB3aGVuIGl0DQo+ IGRpZG4ndC4gIFRoZXJlJ3MgYW5vdGhlciB0cmFjZXBvaW50IG9uIHRoZSBUTEJfUkVNT1RFX1NF TkRfSVBJIHNpZGUgdG8NCj4gdGVsbCB3aGVyZSB0aGUgZmx1c2hlcyB3ZXJlIHJlcXVlc3RlZC4N Cj4gDQo+IFRoYXQgc2FpZCwgSSB0aGluayB0aGUNCj4gDQo+ICAgICAgICBpZiAodW5saWtlbHko bG9jYWxfdGxiX2dlbiA9PSBtbV90bGJfZ2VuKSkNCj4gICAgICAgICAgICAgICAgZ290byBkb25l Ow0KPiANCj4gaXMgYXJndWFibHkgYnVnZ3ksIGFzIGlzIHRoZSAnZ290byBkb25lJyBpbiB0aGlz IGh1bms6DQoNCkkgd2FzIGp1c3QgdHJ5aW5nIHRvIGZvbGxvdyBpdCBmb3IgY29uc2lzdGVuY3ku IFdpbGwgcmVtb3ZlLg0KDQo+IA0KPiBXZSBtaWdodCB3YW50IHRvIChldmVudHVhbGx5KSB0aGlu ayBhYm91dCBkb2luZyBzb21ldGhpbmcgbGlrZSB0aGUNCj4gYXR0YWNoZWQgcGF0Y2ggdG8gbWFr ZSB0aGUgc2tpcHBlZCBmbHVzaGVzIGV4cGxpY2l0IGluIHRoZSB0cmFjaW5nIGFuZA0KPiBtYWtl IHRoZSByZXR1cm4gcGF0aHMgb3V0IG9mIHRoaXMgZnVuY3Rpb24gbW9yZSBjb25zaXN0ZW50Lg0K DQpUaGF04oCZcyBmaW5lIHdpdGggbWUuIEkganVzdCByZWNvbW1lbmQgdGhhdCB5b3UgaGF2ZSBh IHNpbmdsZSB0cmFjaW5nIGNhbGwgaW4NCnRoZSBmdW5jdGlvbiwgc2luY2UgaGF2aW5nIHRvbyBt YW55IHJ1aW5zIHRoZSBnZW5lcmF0ZWQgY29kZS4NCg0K