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 58E54C25B48 for ; Wed, 25 Oct 2023 02:20:51 +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:MIME-Version:Message-ID:In-reply-to: Date:Subject:Cc:To:From:References:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=DlLzm8cWYcTo3dBXq8C51twzGnOh154CqjTZ7TnuzWI=; b=TwgCaapoJAq7eu WT69AeM53U23Nh73sOc3PvCq+nePQ4C1Y/hSv0B4UH93Z3TwAeqAXNGf6Vbnf5jDRJkVA4IQmPNPk plgY7yLTgLhjWhlIYm0PkmjMpbBh8DsYaMTjcZFIU8sXdiZEUqQcmKxg/008RCH4J2HZHsYWynD4v km3G3H0oouhyt5zMUh/HJhOzjpvQtvg9yUcT3HMkijTh1fXbg4ocRFIGU29W1TVmwRezWZYS4AhN4 vvq2LYi3jYZ1CaxSXcRIyGsq7QSiHmJ0vS8b003ka0aaHvWxvqZtIZ5mo/Agq30pj3QrHD7PKArAd YqEqqjki6EzVCQmg2pOg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qvTVM-00BBGh-0f; Wed, 25 Oct 2023 02:20:20 +0000 Received: from mail-bn8nam12on20621.outbound.protection.outlook.com ([2a01:111:f400:fe5b::621] helo=NAM12-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qvTVI-00BBFJ-1P for linux-arm-kernel@lists.infradead.org; Wed, 25 Oct 2023 02:20:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iaR6f418mLOE73KNCzgsDKWivANHaZoBz3uHIIdQG8vIvNFtmBr1kl/2zT+CUruQmHz409aq25YeJxaO0XjGh7Slzb+jMpkJ/aX2X2clB6GGIe2paXgXKBaR7fQ+GKcEPPjyaRYP7TlqRFHspMYvFnGEGSMWAdgM87lRZpZOz3BMOq14/p9VFtlC92dl9q9M42Ouq6g4knaM0ftQFRF5vqWKBKKd+NEvEujSEZWlFHOZr+Ozx0V5MZ4uVLNmQWsd5GFob5cz9/yUvEWj8dCc7Ahmxr/yt9LryByyJAtGb4NdR3J4PoRPwIOxSSN3GHx5L0RXbYcha3RrarHg4CaiGg== 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=awJuTN9liZAzhcTys5nkbZ4pEzbmr+mjbj/l6vZ0WN8=; b=NTbcIQJIZcIG0VfUSrdo1V0WUSyN4Hcv9A9d8iyMD+fEeOSEH4Ie2cRueIGSCOXrbCWJkF31L/dsY+E7eUPjAdzPihpqo4rJTCSH0BQ6xdLtymsusvhoLMfTzwu6oBFNT+Xswx/gkHYbFjyimAca7EcWTFF0iXVRCbRsDPYU1FWypAipNG2y8AnsV5gI8EPdLNdbmhNjGQgoj9RhQCoifU9V1YrcxHGXnI4PCILUMCC+QA1Da0jjys6AltTqBcYNuG3cOl+FZFp1RoJNg75D7qkGgUspv5V0oupX8VPS+S8O6Lx0YcqANWY815WA7QnnZPfjq9L635sral/JyNnobA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=awJuTN9liZAzhcTys5nkbZ4pEzbmr+mjbj/l6vZ0WN8=; b=VFqTxZg5rJZU+eF6Qn4wWGBF4a3H3qUEWPNzXpYA+Qm34dMIdwwmfxXRUiwJCxOAdR76EKiL5oMf4kyRCaUIgKCv/usRA8ginV62EHUR8cGylLE+jic9FVGI/jAcy+2FZTBnaL2znhGZSP8az7IQiQN6Pjq10qZfd+a0BSq/9CDxQpuj0ithpRmPxvFX+7BxBun1Xk3Kjlx8o2owXkYQPYRM/SH4nOqnt6sXylpyMiRPxPV0QsZSBD7GwFerPk+Ns6085gV0GJMbuUznB75KlqgqvrcGcgZdqRULQ7VA0h6vnMZ+9aJ2/2MauaER6oDhPq7A+t1EfBvFO8V37wX8kA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) by BL1PR12MB5351.namprd12.prod.outlook.com (2603:10b6:208:317::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Wed, 25 Oct 2023 02:20:04 +0000 Received: from BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::d504:dd12:5218:c5d]) by BYAPR12MB3176.namprd12.prod.outlook.com ([fe80::d504:dd12:5218:c5d%4]) with mapi id 15.20.6907.032; Wed, 25 Oct 2023 02:20:04 +0000 References: <87y1frqz2u.fsf@nvdebian.thelocal> User-agent: mu4e 1.8.13; emacs 28.2 From: Alistair Popple To: Barry Song <21cnbao@gmail.com> Cc: Baolin Wang , catalin.marinas@arm.com, will@kernel.org, akpm@linux-foundation.org, v-songbaohua@oppo.com, yuzhao@google.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] arm64: mm: drop tlb flush operation when clearing the access bit Date: Wed, 25 Oct 2023 12:58:03 +1100 In-reply-to: Message-ID: <87ttqfqw8f.fsf@nvdebian.thelocal> X-ClientProxiedBy: SYBPR01CA0159.ausprd01.prod.outlook.com (2603:10c6:10:d::27) To BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR12MB3176:EE_|BL1PR12MB5351:EE_ X-MS-Office365-Filtering-Correlation-Id: c70df307-b5c6-41b9-d5a7-08dbd500e60b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mPqRlNhYMGksvyV920ACHUHPts9E3T4wiiuLE5+gT2ZpAu3qGIHPdzT+Rt8SdXCIpelhsCM/1fmEttaqJ8BKi7Wp8H+KWebcBeRO6ZV5LdOHo2pAUR5oPa+xQIn/8KaoEjW2zOC28O1Lbey3yl/J74E0fZ3FBlWg48KFUYzOcjyrrBaCnqTki53H4kHESI67BJs+GPhXtRyGaj19XSoCrd5nacdl74S8FgHpb6J4ays/8+U7VtktQ6PxzVrkZBukFcTyJBVM+BwLefMo43hpNsbY5MqIgPiVNOd4YOijzgAMejIeDu8cUMAxXVCSBoiP/fhyY2pWQT2UkG9R6Vc6oDHhvxodfQb1sIEY7ihhGO9GllaG7x9iE7AKPAKQgQ7nTUHDGUchOjTpbZoVs2uKkYdo7CTNjWOODU8FtgLvtQaSi6bPkF8PY93rw8X+ljQOWTikEJtejBNinI6jZjtl/9M/gYM5bhSl3ArZoUk/OtQeNv7VZRsjf0/lXdc0d4Wq8T7907z3EZKv65ngiGNHcWU+9jx6/Fp2J6/XfrtJ4PRlhXyEDBRXEWqD1vJ/pWwpIQ634E5CB32N7A0iKbYcAxhfNGh/FufAf4Y8ZwqbFM4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR12MB3176.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(41300700001)(2906002)(38100700002)(66946007)(66476007)(316002)(66556008)(6506007)(478600001)(6916009)(53546011)(9686003)(966005)(6512007)(6486002)(83380400001)(5660300002)(86362001)(4326008)(8676002)(7416002)(8936002)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RFVqcy9jcVpkeWdxZWZwajhkY2dJZkxaV3RHZnpzbmxlYUpISk9pekVrOGdi?= =?utf-8?B?dDR6M0ZDOEF5Y1A1eEp4d0VrNWV4bjF3V2E2a1VvRkVNN2xlWTIvdDlQYnVH?= =?utf-8?B?VER1NXFNeGEzdzRxQ0JuSlN6Q29WNHMzengvek0vOUNaUjV5YWpmQVFCejlk?= =?utf-8?B?WG12V1JQOHhsTnEzSkdRaWlZSjJSZmNkZDVEV080bVE3NHorTVE4SDR6R0dY?= =?utf-8?B?a3ZDU25qd29YcWtMRktDZFNwdEVNL2tUOEFOSTJrZWVGdjUzT1JLaHI4SFBQ?= =?utf-8?B?VWxDUCtvN1R3VXJvS1Vna2VhelBYWUlvRzNRODdYU2pWWkJrb0JKR0tzb1Z1?= =?utf-8?B?dnlMRkRlYkcvQnd3a3hsc2hNcUNiN09WQldGdDVyUTBhckl4L0ZZeFJPMStQ?= =?utf-8?B?U2RPc2F6cFhGQjhJcm40Y3dZbGcrSW82S2huOWNtelBMY0ViZ28zZXJoejBJ?= =?utf-8?B?OFVXWWIveWsvbUtLeXNvcC83SVJ1MmVIT21xVXg1YnpzQmdCbTA2Z29jN0hP?= =?utf-8?B?UE0wOER4K1lHRFErcStQMVpBVVRlMnZ6SE1MSlNZeElwSGYzL0tHcUVrQTFj?= =?utf-8?B?bmx2V0E0aUtjSHZJODlmTDVpUGNndHlvLzBucW9zVkJmamlPVW9RMWR6K2JX?= =?utf-8?B?ZWVYcVhhRU8xdm9zcFlKZkhsdGU2VU9yV05oUC85cmxWdGVEZm1leVNKNVp0?= =?utf-8?B?ekNDNGJMc3IrdzhwdUVMblV6VG52UjdpU0tBV2hkREg2VlMzTEk5U3A0U2xC?= =?utf-8?B?NVZQQzRMc09jMXcrZVk3ektpN0x4OHN6enlKdVRYZDZSZDdFd2tCY1BQamxC?= =?utf-8?B?SGs3WHBuZlY5MktURWZ5Rm96MFY4S0swMmtiN2NsUElHOEFRNXRvTWo0bmNl?= =?utf-8?B?YmVQMVVteWhrM1FVY09pODdVTXBNeEVZOFVmd25ROXF6SVhUT1BYTDdNYXNi?= =?utf-8?B?dHVaS25EK0kybHRJNm52NWlGUFlKMHhBUnB4eDdpSXBhcXZyWTB1TktsTGtI?= =?utf-8?B?Y0JKUm5kbU1YWEg2Z0ZSbGtjazVrQzBFNi9RTXRlQUk3bVFGUCtMOG44Y01J?= =?utf-8?B?WjFzdjhaOGFicyt1VHoxQ3FkdW5vMXMvS1pSejFYVWhTbHZkWDZBZlYxcnhl?= =?utf-8?B?NmFKNkgxSGVvcStVajlpSUFGNnk1MnZqSTJxUDZvYXhmZVJGQjNPbUJGQzhh?= =?utf-8?B?YjlIOHFmUmdXTC94cFZvVFBGZlJjVW5LQVllc2ttZGJkcE5zSmRnUWo1NHp1?= =?utf-8?B?T3lDU2oySVphT2FUZVhnajc3T1VLODhUU21LeGZzQm1hVTMySFFhZ1ZrV3pw?= =?utf-8?B?dWhzOFNkWWt5cDYwMjZpQ3htcjczZlFKdDVjdUdzSXUwUTZQcU15SjFQajNX?= =?utf-8?B?RkhRT2MyaHJ0MUNmNTk5M3B4dTBrcUY0cjZWaWdCMlc5RnNZeTNFZnVlWndL?= =?utf-8?B?TkVDdEFYajBaaEprcGVsV1BMVURqOG9wMnM3ekRIVXZ0cDVMdUFFNHpsdGtM?= =?utf-8?B?Q3pDWnhtVkUwTTlEUUR0eVVUY3VyZXY5dDFYN2NNRVdlVXdkTkdaMmNQVlBN?= =?utf-8?B?QnBSOExmNHQxT0wrdmkyYjNsWjV2TVdEckhud0tCRmR1UllDWGpBaDhKNU4v?= =?utf-8?B?UUczUVllOUExMko5R3NpbDg2Lzk2dzdMMkJ5ZWg0ZVB3Q0p0ajd0elNLaFh2?= =?utf-8?B?NzBCTGtpTGJYZjVaWkRtRjBSTmFRQ2lFdnNXd2VvVVVvNWtYRCt3L0ZuZ1RY?= =?utf-8?B?SDhncVMrT3cwaUNabUQ0MnF3SzlLZHowN1ZHVTVHSjdGM3F1bW1CeGNvYk5Y?= =?utf-8?B?VmJnQXR1b1c5OHZEaVlJQk1JbEc1M2VMd0JoR0dKbUhzYWI0YWNYUjVzWk9E?= =?utf-8?B?ZFVTUWdLMU5hME0rcWF2ZmRic2ZHWGMvOG1TRlVObzNMWEQyeUtFVm56aGcx?= =?utf-8?B?SWRXQmdIK2YrVXNaSjk2UFNOb3NDeHF0c2dCVGZLZ1pLK2xVRTREZUNLTVp4?= =?utf-8?B?dE5tMTV5MThRMElIZDZRQTdWZ0ZzRy9LblhOMlp0WExCVmF2NVJmMnhMWUc0?= =?utf-8?B?dVNxSVVFV0hQZWZHbmNxVGhjSjN0TVdOT3pvRkp0NmdiL0YwQlRhZXdYZVJx?= =?utf-8?Q?3af4cl68FiZSr1pn+T8cjtX2h?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: c70df307-b5c6-41b9-d5a7-08dbd500e60b X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3176.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2023 02:20:04.0572 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5yI3kZuPmS3zmg2FUgAjDXMViX1DZdB91vhBOEVFdqpbqMorLUYel1bTPJzKH453ka5b1f43guxXe8hf/eXcPw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5351 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231024_192016_550441_DBD4C488 X-CRM114-Status: GOOD ( 45.78 ) 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 CkJhcnJ5IFNvbmcgPDIxY25iYW9AZ21haWwuY29tPiB3cml0ZXM6Cgo+IE9uIFdlZCwgT2N0IDI1 LCAyMDIzIGF0IDk6MTjigK9BTSBBbGlzdGFpciBQb3BwbGUgPGFwb3BwbGVAbnZpZGlhLmNvbT4g d3JvdGU6Cj4+Cj4+Cj4+IEJhcnJ5IFNvbmcgPDIxY25iYW9AZ21haWwuY29tPiB3cml0ZXM6Cj4+ Cj4+ID4gT24gV2VkLCBPY3QgMjUsIDIwMjMgYXQgNzoxNuKAr0FNIEJhcnJ5IFNvbmcgPDIxY25i YW9AZ21haWwuY29tPiB3cm90ZToKPj4gPj4KPj4gPj4gT24gVHVlLCBPY3QgMjQsIDIwMjMgYXQg ODo1N+KAr1BNIEJhb2xpbiBXYW5nCj4+ID4+IDxiYW9saW4ud2FuZ0BsaW51eC5hbGliYWJhLmNv bT4gd3JvdGU6CgpbLi4uXQoKPj4gPj4gKEEpLiBDb25zdGFudCBmbHVzaCBjb3N0IHZzLiAoQiku IHZlcnkgdmVyeSBvY2Nhc2lvbmFsIHJlY2xhaW1lZCBob3QKPj4gPj4gcGFnZSwgIEIgbWlnaHQK Pj4gPj4gYmUgYSBjb3JyZWN0IGNob2ljZS4KPj4gPgo+PiA+IFBsdXMsIEkgZG91YnQgQiBpcyBy ZWFsbHkgZ29pbmcgdG8gaGFwcGVuLiBhcyBhZnRlciBhIHBhZ2UgaXMgcHJvbW90ZWQgdG8KPj4g PiB0aGUgaGVhZCBvZiBscnUgbGlzdCBvciBuZXcgZ2VuZXJhdGlvbiwgaXQgbmVlZHMgYSBsb25n IHRpbWUgdG8gc2xpZGUgYmFjawo+PiA+IHRvIHRoZSBpbmFjdGl2ZSBsaXN0IHRhaWwgb3IgdG8g dGhlIGNhbmRpZGF0ZSBnZW5lcmF0aW9uIG9mIG1nbHJ1LiB0aGUgdGltZQo+PiA+IHNob3VsZCBo YXZlIGJlZW4gbGFyZ2UgZW5vdWdoIGZvciB0bGIgdG8gYmUgZmx1c2hlZC4gSWYgdGhlIHBhZ2Ug aXMgcmVhbGx5Cj4+ID4gaG90LCB0aGUgaGFyZHdhcmUgd2lsbCBnZXQgc2Vjb25kLCB0aGlyZCwg Zm91cnRoIGV0YyBvcHBvcnR1bml0eSB0byBzZXQgYW4KPj4gPiBhY2Nlc3MgZmxhZyBpbiB0aGUg bG9uZyB0aW1lIGluIHdoaWNoIHRoZSBwYWdlIGlzIHJlLW1vdmVkIHRvIHRoZSB0YWlsCj4+ID4g YXMgdGhlIHBhZ2UgY2FuIGJlIGFjY2Vzc2VkIG11bHRpcGxlIHRpbWVzIGlmIGl0IGlzIHJlYWxs eSBob3QuCj4+Cj4+IFRoaXMgbWlnaHQgbm90IGJlIHRydWUgaWYgeW91IGhhdmUgZXh0ZXJuYWwg aGFyZHdhcmUgc2hhcmluZyB0aGUgcGFnZQo+PiB0YWJsZXMgd2l0aCBzb2Z0d2FyZSB0aHJvdWdo IGVpdGhlciBITU0gb3IgaGFyZHdhcmUgc3VwcG9ydGVkIEFUUwo+PiB0aG91Z2guCj4+Cj4+IElu IHRob3NlIGNhc2VzIEkgdGhpbmsgaXQncyBtdWNoIG1vcmUgbGlrZWx5IGhhcmR3YXJlIGNhbiBz dGlsbCBiZQo+PiBhY2Nlc3NpbmcgdGhlIHBhZ2UgZXZlbiBhZnRlciBhIGNvbnRleHQgc3dpdGNo IG9uIHRoZSBDUFUgc2F5LiBTbyB0aG9zZQo+PiBwYWdlcyB3aWxsIHRlbmQgdG8gZ2V0IHJlY2xh aW1lZCBldmVuIHRob3VnaCBoYXJkd2FyZSBpcyBzdGlsbCBhY3RpdmVseQo+PiB1c2luZyB0aGVt IHdoaWNoIHdvdWxkIGJlIHF1aXRlIGV4cGVuc2l2ZSBhbmQgSSBndWVzcyBjb3VsZCBsZWFkIHRv Cj4+IHRocmFzaGluZyBhcyBlYWNoIHBhZ2UgaXMgcmVjbGFpbWVkIGFuZCB0aGVuIGltbWVkaWF0 ZWx5IGZhdWx0ZWQgYmFjawo+PiBpbi4KPgo+IGkgYW0gbm90IHF1aXRlIHN1cmUgaSBnb3QgeW91 ciBwb2ludC4gaGFzIHRoZSBleHRlcm5hbCBoYXJkd2FyZSBzaGFyaW5nIGNwdSdzCj4gcGFnZXRh YmxlIHRoZSBhYmlsaXR5IHRvIHNldCBhY2Nlc3MgZmxhZyBpbiBwYWdlIHRhYmxlIGVudHJpZXMg YnkKPiBpdHNlbGY/IGlmIHllcywKPiBJIGRvbid0IHNlZSBob3cgb3VyIGFwcHJvYWNoIHdpbGwg aHVydCBhcyBmb2xpb19yZWZlcmVuY2VkIGNhbiBub3RpZnkgdGhlCj4gaGFyZHdhcmUgZHJpdmVy IGFuZCB0aGUgZHJpdmVyIGNhbiBmbHVzaCBpdHMgb3duIHRsYi4gSWYgbm8sIGkgZG9uJ3Qgc2Vl Cj4gZWl0aGVyIGFzIHRoZSBleHRlcm5hbCBoYXJkd2FyZSBjYW4ndCBzZXQgYWNjZXNzIGZsYWdz LCB0aGF0IG1lYW5zIHdlCj4gaGF2ZSBpZ25vcmVkIGl0cyByZWZlcmVuY2UgYW5kIG9ubHkga25v d3MgY3B1J3MgYWNjZXNzIGV2ZW4gaW4gdGhlIGN1cnJlbnQKPiBtYWlubGluZSBjb2RlLiBzbyB3 ZSBhcmUgbm90IGdldHRpbmcgd29yc2UuCj4KPiBzbyB0aGUgZXh0ZXJuYWwgaGFyZHdhcmUgY2Fu IGFsc28gc2VlIGNwdSdzIFRMQj8gb3IgY3B1J3MgdGxiIGZsdXNoIGNhbgo+IGFsc28gYnJvYWRj YXN0IHRvIGV4dGVybmFsIGhhcmR3YXJlLCB0aGVuIGV4dGVybmFsIGhhcmR3YXJlIHNlZXMgdGhl Cj4gY2xlYXJlZCBhY2Nlc3MgZmxhZywgdGh1cywgaXQgY2FuIHNldCBhY2Nlc3MgZmxhZyBpbiBw YWdlIHRhYmxlIHdoZW4gdGhlCj4gaGFyZHdhcmUgYWNjZXNzIGl0PyAgSWYgdGhpcyBpcyB0aGUg Y2FzZSwgSSBmZWVsIHdoYXQgeW91IHNhaWQgaXMgdHJ1ZS4KClBlcmhhcHMgaXQgd291bGQgaGVs cCBpZiBJIGdhdmUgYSBjb25jcmV0ZSBleGFtcGxlLiBUYWtlIGZvciBleGFtcGxlIHRoZQpBUk0g U01NVS4gSXQgaGFzIGl0J3Mgb3duIFRMQi4gSW52YWxpZGF0aW5nIHRoaXMgVExCIGlzIGRvbmUg aW4gb25lIG9mCnR3byB3YXlzIGRlcGVuZGluZyBvbiB0aGUgc3BlY2lmaWMgSFcgaW1wbGVtZW50 YXRpb24uCgpJZiBicm9hZGNhc3QgVExCIG1haW50ZW5hbmNlIChCVE0pIGlzIHN1cHBvcnRlZCBp dCB3aWxsIHNub29wIENQVSBUTEIKaW52YWxpZGF0aW9ucy4gSWYgQlRNIGlzIG5vdCBzdXBwb3J0 ZWQgaXQgcmVsaWVzIG9uIFNXIHRvIGV4cGxpY2l0bHkKZm9yd2FyZCBUTEIgaW52YWxpZGF0aW9u cyB2aWEgTU1VIG5vdGlmaWVycy4KCk5vdyBjb25zaWRlciB0aGUgY2FzZSB3aGVyZSBzb21lIGV4 dGVybmFsIGRldmljZSBpcyBhY2Nlc3NpbmcgbWFwcGluZ3MKdmlhIHRoZSBTTU1VLiBUaGUgYWNj ZXNzIGZsYWcgd2lsbCBiZSBjYWNoZWQgaW4gdGhlIFNNTVUgVExCLiBJZiB3ZQpjbGVhciB0aGUg YWNjZXNzIGZsYWcgd2l0aG91dCBhIFRMQiBpbnZhbGlkYXRlIHRoZSBhY2Nlc3MgZmxhZyBpbiB0 aGUKQ1BVIHBhZ2UgdGFibGUgd2lsbCBub3QgZ2V0IHVwZGF0ZWQgYmVjYXVzZSBpdCdzIGFscmVh ZHkgc2V0IGluIHRoZSBTTU1VClRMQi4KCkFzIGFuIGFzaWRlIGFjY2VzcyBmbGFnIHVwZGF0ZXMg aGFwcGVuIGluIG9uZSBvZiB0d28gd2F5cy4gSWYgdGhlIFNNTVUKSFcgc3VwcG9ydHMgaGFyZHdh cmUgdHJhbnNsYXRpb24gdGFibGUgdXBkYXRlcyAoSFRUVSkgdGhlbiBoYXJkd2FyZSB3aWxsCm1h bmFnZSB1cGRhdGluZyBhY2Nlc3MvZGlydHkgZmxhZ3MgYXMgcmVxdWlyZWQuIElmIHRoaXMgaXMg bm90IHN1cHBvcnRlZAp0aGVuIFNXIGlzIHJlbGllZCBvbiB0byB1cGRhdGUgdGhlc2UgZmxhZ3Mg d2hpY2ggaW4gcHJhY3RpY2UgbWVhbnMKdGFraW5nIGEgbWlub3IgZmF1bHQuIEJ1dCBJIGRvbid0 IHRoaW5rIHRoYXQgaXMgcmVsZXZhbnQgaGVyZSAtIGluCmVpdGhlciBjYXNlIHdpdGhvdXQgYSBU TEIgaW52YWxpZGF0ZSBuZWl0aGVyIG9mIHRob3NlIHRoaW5ncyB3aWxsCmhhcHBlbi4KCkkgc3Vw cG9zZSBkcml2ZXJzIGNvdWxkIGltcGxlbWVudCB0aGUgY2xlYXJfZmx1c2hfeW91bmcoKSBNTVUg bm90aWZpZXIKY2FsbGJhY2sgKG5vbmUgZG8gYXQgdGhlIG1vbWVudCBBRkFJQ1QpIGJ1dCB0aGVu IHdvbid0IHRoYXQganVzdCBsZWFkIHRvCnRoZSBvcHBvc2l0ZSBwcm9ibGVtIC0gdGhhdCBldmVy eSBwYWdlIGV2ZXIgdXNlZCBieSBhbiBleHRlcm5hbCBkZXZpY2UKcmVtYWlucyBhY3RpdmUgYW5k IHVuYXZhaWxhYmxlIGZvciByZWNsYWltIGJlY2F1c2UgdGhlIGFjY2VzcyBmbGFnIG5ldmVyCmdl dHMgY2xlYXJlZD8gSSBzdXBwb3NlIHRoZXkgY291bGQgZG8gdGhlIGZsdXNoIHRoZW4gd2hpY2gg d291bGQgZW5zdXJlCnRoZSBwYWdlIGlzIG1hcmtlZCBpbmFjdGl2ZSBpZiBpdCdzIG5vdCByZWZl cmVuY2VkIGJldHdlZW4gdGhlIHR3bwpmb2xpb19yZWZlcmVuY2VkIGNhbGxzKCkuCgpCdXQgdGhh dCByZXF1aXJlcyBjaGFuZ2VzIHRvIHRob3NlIGRyaXZlcnMuIFNNTVUgZnJvbSBtZW1vcnkgZG9l c24ndApldmVuIHJlZ2lzdGVyIGZvciBub3RpZmllcnMgaWYgQlRNIGlzIHN1cHBvcnRlZC4KCiAt IEFsaXN0YWlyCgo+Pgo+PiBPZiBjb3Vyc2UgVExCIGZsdXNoZXMgYXJlIGVxdWFsbHkgKHBlcmhh cHMgZXZlbiBtb3JlKSBleHBlbnNpdmUgZm9yIHRoaXMKPj4ga2luZCBvZiBleHRlcm5hbCBIVyBz byByZWR1Y2luZyB0aGVtIHdvdWxkIHN0aWxsIGJlIGJlbmVmaWNpYWwuIEkgd29uZGVyCj4+IGlm IHRoZXJlJ3Mgc29tZSB3YXkgdGhleSBjb3VsZCBiZSBkZWZlcnJlZCB1bnRpbCB0aGUgcGFnZSBp cyBtb3ZlZCB0bwo+PiB0aGUgaW5hY3RpdmUgbGlzdCBzYXk/Cj4+Cj4+ID4+Cj4+ID4+ID4gWzFd IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xrbWwvMjAyMjA2MTcwNzA1NTUuMzQ0MzY4LTEtMjFj bmJhb0BnbWFpbC5jb20vCj4+ID4+ID4gU2lnbmVkLW9mZi1ieTogQmFvbGluIFdhbmcgPGJhb2xp bi53YW5nQGxpbnV4LmFsaWJhYmEuY29tPgo+PiA+PiA+IC0tLQo+PiA+PiA+ICBhcmNoL2FybTY0 L2luY2x1ZGUvYXNtL3BndGFibGUuaCB8IDMxICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0KPj4gPj4gPiAgMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9u cygtKQo+PiA+PiA+Cj4+ID4+ID4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20v cGd0YWJsZS5oIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKPj4gPj4gPiBpbmRl eCAwYmQxOGRlOWZkOTcuLjI5NzlkNzk2YmE5ZCAxMDA2NDQKPj4gPj4gPiAtLS0gYS9hcmNoL2Fy bTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaAo+PiA+PiA+ICsrKyBiL2FyY2gvYXJtNjQvaW5jbHVk ZS9hc20vcGd0YWJsZS5oCj4+ID4+ID4gQEAgLTkwNSwyMSArOTA1LDIyIEBAIHN0YXRpYyBpbmxp bmUgaW50IHB0ZXBfdGVzdF9hbmRfY2xlYXJfeW91bmcoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2 bWEsCj4+ID4+ID4gIHN0YXRpYyBpbmxpbmUgaW50IHB0ZXBfY2xlYXJfZmx1c2hfeW91bmcoc3Ry dWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCj4+ID4+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGFkZHJlc3MsIHB0ZV90ICpwdGVwKQo+PiA+ PiA+ICB7Cj4+ID4+ID4gLSAgICAgICBpbnQgeW91bmcgPSBwdGVwX3Rlc3RfYW5kX2NsZWFyX3lv dW5nKHZtYSwgYWRkcmVzcywgcHRlcCk7Cj4+ID4+ID4gLQo+PiA+PiA+IC0gICAgICAgaWYgKHlv dW5nKSB7Cj4+ID4+ID4gLSAgICAgICAgICAgICAgIC8qCj4+ID4+ID4gLSAgICAgICAgICAgICAg ICAqIFdlIGNhbiBlbGlkZSB0aGUgdHJhaWxpbmcgRFNCIGhlcmUgc2luY2UgdGhlIHdvcnN0IHRo YXQgY2FuCj4+ID4+ID4gLSAgICAgICAgICAgICAgICAqIGhhcHBlbiBpcyB0aGF0IGEgQ1BVIGNv bnRpbnVlcyB0byB1c2UgdGhlIHlvdW5nIGVudHJ5IGluIGl0cwo+PiA+PiA+IC0gICAgICAgICAg ICAgICAgKiBUTEIgYW5kIHdlIG1pc3Rha2VubHkgcmVjbGFpbSB0aGUgYXNzb2NpYXRlZCBwYWdl LiBUaGUKPj4gPj4gPiAtICAgICAgICAgICAgICAgICogd2luZG93IGZvciBzdWNoIGFuIGV2ZW50 IGlzIGJvdW5kZWQgYnkgdGhlIG5leHQKPj4gPj4gPiAtICAgICAgICAgICAgICAgICogY29udGV4 dC1zd2l0Y2gsIHdoaWNoIHByb3ZpZGVzIGEgRFNCIHRvIGNvbXBsZXRlIHRoZSBUTEIKPj4gPj4g PiAtICAgICAgICAgICAgICAgICogaW52YWxpZGF0aW9uLgo+PiA+PiA+IC0gICAgICAgICAgICAg ICAgKi8KPj4gPj4gPiAtICAgICAgICAgICAgICAgZmx1c2hfdGxiX3BhZ2Vfbm9zeW5jKHZtYSwg YWRkcmVzcyk7Cj4+ID4+ID4gLSAgICAgICB9Cj4+ID4+ID4gLQo+PiA+PiA+IC0gICAgICAgcmV0 dXJuIHlvdW5nOwo+PiA+PiA+ICsgICAgICAgLyoKPj4gPj4gPiArICAgICAgICAqIFRoaXMgY29t bWVudCBpcyBib3Jyb3dlZCBmcm9tIHg4NiwgYnV0IGFwcGxpZXMgZXF1YWxseSB0byBBUk02NDoK Pj4gPj4gPiArICAgICAgICAqCj4+ID4+ID4gKyAgICAgICAgKiBDbGVhcmluZyB0aGUgYWNjZXNz ZWQgYml0IHdpdGhvdXQgYSBUTEIgZmx1c2ggZG9lc24ndCBjYXVzZQo+PiA+PiA+ICsgICAgICAg ICogZGF0YSBjb3JydXB0aW9uLiBbIEl0IGNvdWxkIGNhdXNlIGluY29ycmVjdCBwYWdlIGFnaW5n IGFuZAo+PiA+PiA+ICsgICAgICAgICogdGhlIChtaXN0YWtlbikgcmVjbGFpbSBvZiBob3QgcGFn ZXMsIGJ1dCB0aGUgY2hhbmNlIG9mIHRoYXQKPj4gPj4gPiArICAgICAgICAqIHNob3VsZCBiZSBy ZWxhdGl2ZWx5IGxvdy4gXQo+PiA+PiA+ICsgICAgICAgICoKPj4gPj4gPiArICAgICAgICAqIFNv IGFzIGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uIGRvbid0IGZsdXNoIHRoZSBUTEIgd2hlbgo+ PiA+PiA+ICsgICAgICAgICogY2xlYXJpbmcgdGhlIGFjY2Vzc2VkIGJpdCwgaXQgd2lsbCBldmVu dHVhbGx5IGJlIGZsdXNoZWQgYnkKPj4gPj4gPiArICAgICAgICAqIGEgY29udGV4dCBzd2l0Y2gg b3IgYSBWTSBvcGVyYXRpb24gYW55d2F5LiBbIEluIHRoZSByYXJlCj4+ID4+ID4gKyAgICAgICAg KiBldmVudCBvZiBpdCBub3QgZ2V0dGluZyBmbHVzaGVkIGZvciBhIGxvbmcgdGltZSB0aGUgZGVs YXkKPj4gPj4gPiArICAgICAgICAqIHNob3VsZG4ndCByZWFsbHkgbWF0dGVyIGJlY2F1c2UgdGhl cmUncyBubyByZWFsIG1lbW9yeQo+PiA+PiA+ICsgICAgICAgICogcHJlc3N1cmUgZm9yIHN3YXBv dXQgdG8gcmVhY3QgdG8uIF0KPj4gPj4gPiArICAgICAgICAqLwo+PiA+PiA+ICsgICAgICAgcmV0 dXJuIHB0ZXBfdGVzdF9hbmRfY2xlYXJfeW91bmcodm1hLCBhZGRyZXNzLCBwdGVwKTsKPj4gPj4g PiAgfQo+PiA+PiA+Cj4+ID4+ID4gICNpZmRlZiBDT05GSUdfVFJBTlNQQVJFTlRfSFVHRVBBR0UK Pj4gPj4gPiAtLQo+PiA+PiA+IDIuMzkuMwo+PiA+PiA+Cj4+ID4+Cj4+ID4+IFRoYW5rcwo+PiA+ PiBCYXJyeQo+Pgo+IFRoYW5rcwo+IEJhcnJ5CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=