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 5A202C07545 for ; Wed, 25 Oct 2023 01:19:20 +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=M0G8mp4FrkS6sR4VMGmtW9apK3BpkXnkodGl51MZ8LY=; b=wx3vMBaOdX8M+n Fbgms9/Tp8gjInRpz5rG+SHyAboigo7wsb1uwhMpZDoyRhJFrkFY8KrJ+euSwmO0YS+9Ppn720my6 uB/F//vzlQs66apvz11aemx1zonObZVY3rsUAvnqfY5HiHIn6woy3guTgZDILCwSPN340k9ffCZ3p snVPlq5jYU21C+htQIAGGeXUxLQ8RXMsjXgHGdjV8VDR6Vo1x2di1CSR6Pc1J1pUz4az+Q638eWKy 3VXPwUOL7EPJTERtoEPq/6EgL9a2sMHJgVMOJ5PW+Z4wvZN6YtqI91ydhcS0UmwjpnGPNo5FF0K9n xkMoLNBLzM2L3Hhn/7BQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qvSXq-00B7r1-1i; Wed, 25 Oct 2023 01:18:50 +0000 Received: from mail-dm6nam12on20606.outbound.protection.outlook.com ([2a01:111:f400:fe59::606] helo=NAM12-DM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qvSXk-00B7pq-0I for linux-arm-kernel@lists.infradead.org; Wed, 25 Oct 2023 01:18:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BLREZYnBHTFhhueSLTdWrAbx41ns5ZjTpd81U6uY70jqjoGnAll3HlL25p9o+736LMKg/y4cY8nPC+sADtY/q/lGh78V6pSJOLwkoVMRalneTDLTIqYza4qfVKpJAYYJ8koDwnz/nlkqsqtCVFfu4GVVeDdnnu8F4z2RR4d9rC4EMdKksgbuqAcDKcnJ7fjzoGsjEi2FXA1SDmM2pe9hwzXh00G0mcjycVfAqIT+w9XsqP0mJxL0/tKColOMXpelKtNqCDBQtFo483CNU3GNWnPisszdQitKCm9gMsDM8knR2+Ht1HzClXjgVii7JjQ29xwBaj3NRPXmFh5y0WFYxw== 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=Krhv20skpHqThINaoi4QYu2+0eUGBalHOz7QmJJSVmc=; b=IYvg4eZA7p3o8OGgWZK36Fxhoz+O6Z4ozptWeHMdGxa7x20Q1oxwYDTGpJLsTrKivC8fCtJbsBdls00oBkqQS7hZE1FRM/ct840YtTFUsBx/37aBaFCg5slZqh9M9gNYWPVN2vaw5TIJm7QMpIZ90brHEfnqOg6J/gmToBmTStkVc3uGA5m/hLUZG1ZGbusBgsknt6W/DN3FXHZh/pUi1McBLG+z8FJe6lOugJfxeDJuHV0dtAO1YbksbwGBwE1BVJ9zyMzBVdMPYSRLB3oEIxLHlc6Vj9ONfMcgEWaB1t2gk1EduYhCFtA9TMfTXqbDBqdGyMSGObpp6Tb0sLOzZw== 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=Krhv20skpHqThINaoi4QYu2+0eUGBalHOz7QmJJSVmc=; b=UzvbxWLTBphNUCCSE9a0ZUyCGIuc0/beqiOEJzrGR4MsAimT4X/rNzXSJCkQSZrGkTDTvMHh0cN3VZFBu79SHLFLqKl3sdmLPF9yyksCUIM38zXpE+1Ln/21VsWYGdrbuIuexibVW7nQC9v7dDGsrYC4FM/7MmQh+tcdWiBJxzEuH0LANon1sDoC3Un/tP78z0qSfUPIvihvPaPlowrMhsd0wsUFj+kP6ESzuhv0KIJkL10QSKykiqMtAWDT94KZxNQgAQhUT8jkQ8+nDbcGgRoiVWOUqUtW6H/DhnKxj/MXDCeoYo8QqAFEE9Mb+MFiHO/CAP5suicNl3lfr0raVw== 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 PH7PR12MB5783.namprd12.prod.outlook.com (2603:10b6:510:1d2::9) 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 01:18:37 +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 01:18:37 +0000 References: 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:07:05 +1100 In-reply-to: Message-ID: <87y1frqz2u.fsf@nvdebian.thelocal> X-ClientProxiedBy: SY5P300CA0014.AUSP300.PROD.OUTLOOK.COM (2603:10c6:10:1fb::19) To BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR12MB3176:EE_|PH7PR12MB5783:EE_ X-MS-Office365-Filtering-Correlation-Id: 3a4085dc-0da8-417a-ba4b-08dbd4f8508e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +URlexvnDZ+WUNzeA8t4oSh0zDfghlZfmbvZcQHyg3IQ5oC9lcji2bBAtp95dbensye7OJ2iwupoXAODy45jogyiajcWGahFORKx2k/LLL1vlSKM2EBPPvmNrq5//+nVoA1X04CazO3lWuieZIoKKO6qBM6VRlsYA8Fdllg7qSe9HqHYcEtlAjA8chKjeLfxiJDbhLCZwqBLfR3HUFU9z7g1AURAbKzqB+Ecgsf5D+YSB9s6aM2oYyopRreGx/IWiLRl1yGYzdo4T7EF39XzjIm+MS38wmiEmJrt7oykruIeCuh7TmPX9rS9b/P60VaNLkLhdD59oFHiHkbXoghSvrOzZoGTR4U2s0nNbzYXuy4+zTjIuD2seQ4IlnjFacBuY4JztMW65AO+tHoN22ivWPg5P58gZiLgIO2c/X18xFbmmkdIv6x+DPmjPpVPyBVbzWfkc8qJHrTDj2RNnQ+225SObBrrcGxxij/3oXBqOX4JMrkb3Z5ljnjeaUNR1F7iB88mfPmaviBFwGJEx+CRl7WB6Rpgvzn7MhA3LpyXLyOPrJKZH/AJcAXW1lAbGNvMsIsp8SxMybLxHKMIkqMUnBO3QGvtvwoWUbWXQOCeN0c= 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)(366004)(346002)(396003)(136003)(376002)(39860400002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(41300700001)(2906002)(38100700002)(66476007)(6916009)(66946007)(66556008)(478600001)(6506007)(6486002)(966005)(53546011)(6666004)(6512007)(9686003)(83380400001)(5660300002)(86362001)(4326008)(8676002)(7416002)(316002)(8936002)(26005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z051V2gvaW9WVGNJVmRwWEthNUdKaWxESmxyeVB5eVpQN2tJU2tERWlkSjho?= =?utf-8?B?RXJWUXZWa1IrN0pYVUR1WUtBdEN4WkxabHhEVmVlUE1CYnZKOGhDNE14QnFH?= =?utf-8?B?RXp2RDBROU9uNTVLSzFteVNCSnliK3hQRHhYbzNUV25xVXFLUzdkNGppSjMv?= =?utf-8?B?SkdzRW1reXVYdTAzTlU0WjVXWnh5T3J2N2Y0UUViU0FkNWw4WjBzRnBCZmVC?= =?utf-8?B?UC9pczN3a1RLd29jL3VReFI1NWVuRTV4bXdFQnJOeTBJbEpheFZGK1FJTFk2?= =?utf-8?B?TDVrQWpuUVdKSlo2dGVkSUpiOExBeVAzTTZHYzU2UHhLZnVHRzMrdUxWcmUy?= =?utf-8?B?QzgzM2NBakRWWTg3WE1VbTgzWE55V2YzUWxyc2dVTFlxMFdXdGNDV2ZSZmhS?= =?utf-8?B?TjIzd21lSU0yKzhqUnZsRXROK243b3UzQnhFcE9lVU5UUXoyWk52ZHIyTFRn?= =?utf-8?B?cWRvaGNPVTFTZTdsV0dORFM2TnZhcEk2UEFvNlUvc2xDL1d0ZkczOCtIMlpt?= =?utf-8?B?Nnc2ZlpQQS9VZUZjNXlMZjVITzh4VDJ5dklVVVFHclg4RlNCbVh0Z2x6WEZl?= =?utf-8?B?RkNZUHpXQUFtc1lYUW41QloxTEpIUDNodCtMMm9MY2dUOTlMZncyRGtXazUy?= =?utf-8?B?N1VLRyt5UkRSTUdUV2ZGUnpCazZrVFRaSUxXKzFqVWhHd1JmMmFMVlErR2hs?= =?utf-8?B?aTJOVkhVSDlFb3ZOM0lUc2s0MXd5V2RIa0ZNVHlsd0NlWkVLdDZQOTFlNHND?= =?utf-8?B?emdjRFFCVVM4VUhsbWk4Y0k0K2JraXhPQkh4QVViYnJITkVRT0xWUFB4RCtr?= =?utf-8?B?a1VNY2JUS3lGaWJCT0tBazVNR1NZZTBIMFN3QTVjaVF1RDVRS21SZk1vUExx?= =?utf-8?B?WlBlRmxPL0VkR0pDZVIrenhSNGp0bXUyNVhGNzRhM3lLMTRjQlhCWjFpV1VV?= =?utf-8?B?djZBcmZSK05Wa0xycmtqclNNbmhiQ05TQjV0S1lzOHVMRmdxWkl0KzRRZkhM?= =?utf-8?B?RXVNN2hTbXZReE91aG9IU3ArOE1md3I4dHBPaTIvVzdnc2ZiOCtSZHgxMkxL?= =?utf-8?B?SHFZWWI1dlhGMDFCVEVEOXRaR3FYN2xhNkRMeTdqU2VwdjBrODAzL0d6d0lh?= =?utf-8?B?SlNTVjI3TGhYM2xiRmFvVEhJSWdrYUl5bDdiNnMxUHMyZy9Ka2dmLzJSNHZE?= =?utf-8?B?OVVKdTJ5WDI2dEU1cVJXZmEzdWVxT29xTVFPc2p0cEFxdlRBc2szZC96L3h6?= =?utf-8?B?M3dMNDY5NEo0VUhXR2gzYlRPMXpCWGNrQzM3TXFCOWF5a3gweDJWY0UzWmVJ?= =?utf-8?B?bmxENG5RWGtzTFg1TndjSzh5bXZGVmFyWlBNTnpDM3VuMzNvanVCVHFyWnBq?= =?utf-8?B?a1BLaWZrSTU4eFhDMER5MkJSRGhFWEVrSEd1WGV6TWxsWjBIcjlDQk1qRGhS?= =?utf-8?B?OVpFN1duUzhwNzVOQ0hBMTdaaTVLa3VYM1V1bEVmalhaeVlaK1czZEd4aE0w?= =?utf-8?B?QWtSRW1vY29BS1VoaCtiRFQvREFObGtCVDNGSEQrbW5XQVdjK3hrUnRQamNZ?= =?utf-8?B?ZThtaFgyUkM1T015WVRITXhHelY2ZlNuTlJpblVsUWQrMjNEWnJDWjMzdHJM?= =?utf-8?B?MXpGS0pZaDZVMndzZTVVWC9NU3pyemdkdWxJM3BEVjBiMHJQTTJ0TDZ2TFM1?= =?utf-8?B?N3U3cG1hMVBCL1dGRlplOVFBZ1V3NjIyaWpoVFVBMEhQUGhheldpS2gzaml1?= =?utf-8?B?ZnRDeDRQVVRLNlViVmVOVS83VnhUYzl1MTlnSzVWM0JqUFlWN25GU2o3aWRu?= =?utf-8?B?RTVRaUlRRDRuQW5BRmhQMHFvSEUzL05jd29yblVBUTdpQ3lvMExFLzB0cEhh?= =?utf-8?B?MFY0cld0R09vbng0Qk56bjk0YURNbVJDM3NHdnFiZWZMOWd3MEt3VTkvNm92?= =?utf-8?B?ZDZ2V29vZ0dNQWxOWlE0em9tVmFKZE9qM3p4cm03Mm9kK0tYdVp6by9ST3NP?= =?utf-8?B?MXdyTExQUElGVnA1WnF4b0xxNkt4RnI4UjBaY1ZEQzRNQWlKaDlDdHdiQWVP?= =?utf-8?B?L0tLelFQS1pQUzJVMDJtK1UxT3Z1NG80T2cyeE5hanRDbm9QcUNDOGdQY3Ri?= =?utf-8?Q?Dgh2+4hrJKRIyfA5Extj2TeLV?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3a4085dc-0da8-417a-ba4b-08dbd4f8508e X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3176.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2023 01:18:37.3181 (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: 7jk9isVUU6+O0BGXNv1D1jO07i4MCKTSlDwjAgzOLeWTuepN5piS9uDi/jtv+hkTpNHXvM5y9Wro7AWI2erHoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5783 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231024_181844_358469_D2A743A4 X-CRM114-Status: GOOD ( 46.04 ) 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 LCAyMDIzIGF0IDc6MTbigK9BTSBCYXJyeSBTb25nIDwyMWNuYmFvQGdtYWlsLmNvbT4gd3JvdGU6 Cj4+Cj4+IE9uIFR1ZSwgT2N0IDI0LCAyMDIzIGF0IDg6NTfigK9QTSBCYW9saW4gV2FuZwo+PiA8 YmFvbGluLndhbmdAbGludXguYWxpYmFiYS5jb20+IHdyb3RlOgo+PiA+Cj4+ID4gTm93IHB0ZXBf Y2xlYXJfZmx1c2hfeW91bmcoKSBpcyBvbmx5IGNhbGxlZCBieSBmb2xpb19yZWZlcmVuY2VkKCkg dG8KPj4gPiBjaGVjayBpZiB0aGUgZm9saW8gd2FzIHJlZmVyZW5jZWQsIGFuZCBub3cgaXQgd2ls bCBjYWxsIGEgdGxiIGZsdXNoIG9uCj4+ID4gQVJNNjQgYXJjaGl0ZWN0dXJlLiBIb3dldmVyIHRo ZSB0bGIgZmx1c2ggY2FuIGJlIGV4cGVuc2l2ZSBvbiBBUk02NAo+PiA+IHNlcnZlcnMsIGVzcGVj aWFsbHkgZm9yIHRoZSBzeXN0ZW1zIHdpdGggYSBsYXJnZSBDUFUgbnVtYmVycy4KPj4gPgo+PiA+ IFNpbWlsYXIgdG8gdGhlIHg4NiBhcmNoaXRlY3R1cmUsIGJlbG93IGNvbW1lbnRzIGFsc28gYXBw bHkgZXF1YWxseSB0bwo+PiA+IEFSTTY0IGFyY2hpdGVjdHVyZS4gU28gd2UgY2FuIGRyb3AgdGhl IHRsYiBmbHVzaCBvcGVyYXRpb24gaW4KPj4gPiBwdGVwX2NsZWFyX2ZsdXNoX3lvdW5nKCkgb24g QVJNNjQgYXJjaGl0ZWN0dXJlIHRvIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlLgo+PiA+ICIKPj4g PiAvKiBDbGVhcmluZyB0aGUgYWNjZXNzZWQgYml0IHdpdGhvdXQgYSBUTEIgZmx1c2gKPj4gPiAg KiBkb2Vzbid0IGNhdXNlIGRhdGEgY29ycnVwdGlvbi4gWyBJdCBjb3VsZCBjYXVzZSBpbmNvcnJl Y3QKPj4gPiAgKiBwYWdlIGFnaW5nIGFuZCB0aGUgKG1pc3Rha2VuKSByZWNsYWltIG9mIGhvdCBw YWdlcywgYnV0IHRoZQo+PiA+ICAqIGNoYW5jZSBvZiB0aGF0IHNob3VsZCBiZSByZWxhdGl2ZWx5 IGxvdy4gXQo+PiA+ICAqCj4+ID4gICogU28gYXMgYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24g ZG9uJ3QgZmx1c2ggdGhlIFRMQiB3aGVuCj4+ID4gICogY2xlYXJpbmcgdGhlIGFjY2Vzc2VkIGJp dCwgaXQgd2lsbCBldmVudHVhbGx5IGJlIGZsdXNoZWQgYnkKPj4gPiAgKiBhIGNvbnRleHQgc3dp dGNoIG9yIGEgVk0gb3BlcmF0aW9uIGFueXdheS4gWyBJbiB0aGUgcmFyZQo+PiA+ICAqIGV2ZW50 IG9mIGl0IG5vdCBnZXR0aW5nIGZsdXNoZWQgZm9yIGEgbG9uZyB0aW1lIHRoZSBkZWxheQo+PiA+ ICAqIHNob3VsZG4ndCByZWFsbHkgbWF0dGVyIGJlY2F1c2UgdGhlcmUncyBubyByZWFsIG1lbW9y eQo+PiA+ICAqIHByZXNzdXJlIGZvciBzd2Fwb3V0IHRvIHJlYWN0IHRvLiBdCj4+ID4gICovCj4+ ID4gIgo+PiA+IFJ1bm5pbmcgdGhlIHRocHNjYWxlIHRvIHNob3cgc29tZSBvYnZpb3VzIGltcHJv dmVtZW50cyBmb3IgY29tcGFjdGlvbgo+PiA+IGxhdGVuY3kgd2l0aCB0aGlzIHBhdGNoOgo+PiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSAgICAgICAgICAgICAgICAgICBwYXRj aGVkCj4+ID4gQW1lYW4gICAgIGZhdWx0LWJvdGgtMSAgICAgIDEwOTMuMTkgKCAgIDAuMDAlKSAg ICAgMTA4NC41NyAqICAgMC43OSUqCj4+ID4gQW1lYW4gICAgIGZhdWx0LWJvdGgtMyAgICAgIDI1 NjYuMjIgKCAgIDAuMDAlKSAgICAgMjIyOC40NSAqICAxMy4xNiUqCj4+ID4gQW1lYW4gICAgIGZh dWx0LWJvdGgtNSAgICAgIDM1OTEuMjIgKCAgIDAuMDAlKSAgICAgMzE0Ni43MyAqICAxMi4zOCUq Cj4+ID4gQW1lYW4gICAgIGZhdWx0LWJvdGgtNyAgICAgIDQxNTcuMjYgKCAgIDAuMDAlKSAgICAg NDExMy42NyAqICAgMS4wNSUqCj4+ID4gQW1lYW4gICAgIGZhdWx0LWJvdGgtMTIgICAgIDYxODQu NzkgKCAgIDAuMDAlKSAgICAgNTIxOC43MCAqICAxNS42MiUqCj4+ID4gQW1lYW4gICAgIGZhdWx0 LWJvdGgtMTggICAgIDkxMDMuNzAgKCAgIDAuMDAlKSAgICAgNzczOS43MSAqICAxNC45OCUqCj4+ ID4gQW1lYW4gICAgIGZhdWx0LWJvdGgtMjQgICAgMTIzNDEuNzMgKCAgIDAuMDAlKSAgICAxMDY4 NC4yMyAqICAxMy40MyUqCj4+ID4gQW1lYW4gICAgIGZhdWx0LWJvdGgtMzAgICAgMTU1MTkuMDAg KCAgIDAuMDAlKSAgICAxMzY5NS4xNCAqICAxMS43NSUqCj4+ID4gQW1lYW4gICAgIGZhdWx0LWJv dGgtMzIgICAgMTYxODkuMTUgKCAgIDAuMDAlKSAgICAxNDM2NS43MyAqICAxMS4yNiUqCj4+ID4g ICAgICAgICAgICAgICAgICAgICAgICBiYXNlICAgICAgIHBhdGNoZWQKPj4gPiBEdXJhdGlvbiBV c2VyICAgICAgICAgMTY3Ljc4ICAgICAgMTYxLjAzCj4+ID4gRHVyYXRpb24gU3lzdGVtICAgICAg MTgzNi42NiAgICAgMTY3My4wMQo+PiA+IER1cmF0aW9uIEVsYXBzZWQgICAgIDIwNzQuNTggICAg IDIwNTkuNzUKPj4gPgo+PiA+IEJhcnJ5IFNvbmcgc3VibWl0dGVkIGEgc2ltaWxhciBwYXRjaCBb MV0gYmVmb3JlLCB0aGF0IHJlcGxhY2VzIHRoZQo+PiA+IHB0ZXBfY2xlYXJfZmx1c2hfeW91bmdf bm90aWZ5KCkgd2l0aCBwdGVwX2NsZWFyX3lvdW5nX25vdGlmeSgpIGluCj4+ID4gZm9saW9fcmVm ZXJlbmNlZF9vbmUoKS4gSG93ZXZlciwgSSdtIG5vdCBzdXJlIGlmIHJlbW92aW5nIHRoZSB0bGIg Zmx1c2gKPj4gPiBvcGVyYXRpb24gaXMgYXBwbGljYWJsZSB0byBldmVyeSBhcmNoaXRlY3R1cmUg aW4ga2VybmVsLCBzbyBkcm9wcGluZwo+PiA+IHRoZSB0bGIgZmx1c2ggZm9yIEFSTTY0IHNlZW1z IGEgc2Vuc2libGUgY2hhbmdlLgo+PiA+Cj4+ID4gTm90ZTogSSBhbSBva2F5IGZvciBib3RoIGFw cHJvYWNoLCBpZiBzb21lb25lIGNhbiBoZWxwIHRvIGVuc3VyZSB0aGF0Cj4+ID4gYWxsIGFyY2hp dGVjdHVyZXMgZG8gbm90IG5lZWQgdGhlIHRsYiBmbHVzaCB3aGVuIGNsZWFyaW5nIHRoZSBhY2Nl c3NlZAo+PiA+IGJpdCwgdGhlbiBJIGFsc28gdGhpbmsgQmFycnkncyBwYXRjaCBpcyBiZXR0ZXIg KGhvcGUgQmFycnkgY2FuIHJlc2VuZAo+PiA+IGhpcyBwYXRjaCkuCj4+ID4KPj4KPj4gVGhhbmtz IQo+Pgo+PiBwdGVwX2NsZWFyX2ZsdXNoX3lvdW5nKCkgd2l0aCAiZmx1c2giIGluIGl0cyBuYW1l IGNsZWFybHkgc2F5cyBpdCBuZWVkcyBhCj4+IGZsdXNoLiBidXQgaXQgaGFwcGVucyBpbiBhcm02 NCwgYWxsIG90aGVyIGNvZGUgd2hpY2ggbmVlZHMgYSBmbHVzaCBoYXMKPj4gY2FsbGVkIG90aGVy IHZhcmlhbnRzLCBmb3IgZXhhbXBsZSBfX2ZsdXNoX3RsYl9wYWdlX25vc3luYygpOgo+Pgo+PiBz dGF0aWMgaW5saW5lIHZvaWQgYXJjaF90bGJiYXRjaF9hZGRfcGVuZGluZyhzdHJ1Y3QKPj4gYXJj aF90bGJmbHVzaF91bm1hcF9iYXRjaCAqYmF0Y2gsCj4+ICBzdHJ1Y3QgbW1fc3RydWN0ICptbSwg dW5zaWduZWQgbG9uZyB1YWRkcikKPj4gewo+PiAgX19mbHVzaF90bGJfcGFnZV9ub3N5bmMobW0s IHVhZGRyKTsKPj4gfQo+Pgo+PiBzbyBpdCBzZWVtcyBmb2xpb19yZWZlcmVuY2VkIGlzIHRoZSBv bmx5IGxlZnQgdXNlciBvZiB0aGlzCj4+IHB0ZXBfY2xlYXJfZmx1c2hfeW91bmcoKS4KPj4gVGhl IGZhY3QgbWFrZXMgQmFvbGluJ3MgcGF0Y2ggbG9vayBzYWZlIG5vdy4KPj4KPj4gYnV0IHRoaXMg ZnVuY3Rpb24gc3RpbGwgaGFzICJmbHVzaCIgaW4gaXRzIG5hbWUsIHNvIG9uZSBkYXksIG9uZSBw ZXJzb24gbWlnaHQKPj4gY2FsbCBpdCB3aXRoIHRoZSB1bmRlcnN0YW5kaW5nIHRoYXQgaXQgd2ls bCBmbHVzaCB0bGIgYnV0IGFjdHVhbGx5IGl0Cj4+IHdvbid0LiBUaGlzIGlzCj4+IGJhZCBzbWVs bCBpbiBjb2RlLgo+Pgo+PiBJIGd1ZXNzIG9uZSBzaWRlIGVmZmVjdCBvZiBub3QgZmx1c2hpbmcg dGxiIHdoaWxlIGNsZWFyaW5nIHRoZSBhY2Nlc3MKPj4gZmxhZyBpcyB0aGF0Cj4+IGhhcmR3YXJl IHdvbid0IHNlZSB0aGlzIGNsZWFyZWQgZmxhZyBpbiB0aGUgdGxiLCBzbyBpdCBtaWdodCBub3Qg c2V0IHRoaXMgYml0IGluCj4+IG1lbW9yeSBldmVuIHRob3VnaCB0aGUgYml0IGhhcyBiZWVuIGNs ZWFyZWQgYmVmb3JlIGluIG1lbW9yeShidXQgbm90IGluIHRsYikKPj4gd2hpbGUgdGhlIHBhZ2Ug aXMgYWNjZXNzZWQgKmFnYWluKi4KPj4KPj4gbmV4dCB0aW1lLCBzb21lb25lIHJlYWRzIHRoZSBh Y2Nlc3MgZmxhZyBpbiBtZW1vcnkgYWdhaW4gYnkgZm9saW9fcmVmZXJlbmNlZCwKPj4gaGUvc2hl IHdpbGwgc2VlIHRoZSBwYWdlIGlzIGNvbGQgYXMgaGFyZHdhcmUgaGFzIGxvc3QgYSBjaGFuY2Ug dG8gc2V0Cj4+IHRoZSBiaXQgYWdhaW4KPj4gc2luY2UgaXQgZmluZHMgdGxiIGFscmVhZHkgaGFz IGEgdHJ1ZSBhY2Nlc3MgZmxhZy4KPj4KPj4gQnV0IGFueXdheSwgdGxiIGlzIHNvIHNtYWxsLCBp dCB3aWxsIGJlIGZsdXNoZWQgYnkgY29udGV4dCBzd2l0Y2ggYW5kCj4+IG90aGVyIHJ1bm5pbmcK Pj4gY29kZSBzb29uLiBzbyBpdCBzZWVtcyB3ZSBkb24ndCBhY3R1YWxseSByZXF1aXJlIHRoZSBh Y2Nlc3MgZmxhZyBiZWluZyBpbnN0YW50bHkKPj4gdXBkYXRlZC4gdGhlIHRpbWUgZ2FwLCBpbiB3 aGljaCBhY2Nlc3MgZmxhZyBtaWdodCBsb3NlIHRoZSBuZXcgc2V0IGJ5IGhhcmR3YXJlLAo+PiBz ZWVtcyB0byBiZSB0b28gc2hvcnQgdG8gcmVhbGx5IGFmZmVjdCB0aGUgYWNjdXJhY3kgb2YgcGFn ZSByZWNsYW1hdGlvbi4gYnV0IGl0cwo+PiBjb3N0IGlzIGxhcmdlLgo+Pgo+PiAoQSkuIENvbnN0 YW50IGZsdXNoIGNvc3QgdnMuIChCKS4gdmVyeSB2ZXJ5IG9jY2FzaW9uYWwgcmVjbGFpbWVkIGhv dAo+PiBwYWdlLCAgQiBtaWdodAo+PiBiZSBhIGNvcnJlY3QgY2hvaWNlLgo+Cj4gUGx1cywgSSBk b3VidCBCIGlzIHJlYWxseSBnb2luZyB0byBoYXBwZW4uIGFzIGFmdGVyIGEgcGFnZSBpcyBwcm9t b3RlZCB0bwo+IHRoZSBoZWFkIG9mIGxydSBsaXN0IG9yIG5ldyBnZW5lcmF0aW9uLCBpdCBuZWVk cyBhIGxvbmcgdGltZSB0byBzbGlkZSBiYWNrCj4gdG8gdGhlIGluYWN0aXZlIGxpc3QgdGFpbCBv ciB0byB0aGUgY2FuZGlkYXRlIGdlbmVyYXRpb24gb2YgbWdscnUuIHRoZSB0aW1lCj4gc2hvdWxk IGhhdmUgYmVlbiBsYXJnZSBlbm91Z2ggZm9yIHRsYiB0byBiZSBmbHVzaGVkLiBJZiB0aGUgcGFn ZSBpcyByZWFsbHkKPiBob3QsIHRoZSBoYXJkd2FyZSB3aWxsIGdldCBzZWNvbmQsIHRoaXJkLCBm b3VydGggZXRjIG9wcG9ydHVuaXR5IHRvIHNldCBhbgo+IGFjY2VzcyBmbGFnIGluIHRoZSBsb25n IHRpbWUgaW4gd2hpY2ggdGhlIHBhZ2UgaXMgcmUtbW92ZWQgdG8gdGhlIHRhaWwKPiBhcyB0aGUg cGFnZSBjYW4gYmUgYWNjZXNzZWQgbXVsdGlwbGUgdGltZXMgaWYgaXQgaXMgcmVhbGx5IGhvdC4K ClRoaXMgbWlnaHQgbm90IGJlIHRydWUgaWYgeW91IGhhdmUgZXh0ZXJuYWwgaGFyZHdhcmUgc2hh cmluZyB0aGUgcGFnZQp0YWJsZXMgd2l0aCBzb2Z0d2FyZSB0aHJvdWdoIGVpdGhlciBITU0gb3Ig aGFyZHdhcmUgc3VwcG9ydGVkIEFUUwp0aG91Z2guCgpJbiB0aG9zZSBjYXNlcyBJIHRoaW5rIGl0 J3MgbXVjaCBtb3JlIGxpa2VseSBoYXJkd2FyZSBjYW4gc3RpbGwgYmUKYWNjZXNzaW5nIHRoZSBw YWdlIGV2ZW4gYWZ0ZXIgYSBjb250ZXh0IHN3aXRjaCBvbiB0aGUgQ1BVIHNheS4gU28gdGhvc2UK cGFnZXMgd2lsbCB0ZW5kIHRvIGdldCByZWNsYWltZWQgZXZlbiB0aG91Z2ggaGFyZHdhcmUgaXMg c3RpbGwgYWN0aXZlbHkKdXNpbmcgdGhlbSB3aGljaCB3b3VsZCBiZSBxdWl0ZSBleHBlbnNpdmUg YW5kIEkgZ3Vlc3MgY291bGQgbGVhZCB0bwp0aHJhc2hpbmcgYXMgZWFjaCBwYWdlIGlzIHJlY2xh aW1lZCBhbmQgdGhlbiBpbW1lZGlhdGVseSBmYXVsdGVkIGJhY2sKaW4uCgpPZiBjb3Vyc2UgVExC IGZsdXNoZXMgYXJlIGVxdWFsbHkgKHBlcmhhcHMgZXZlbiBtb3JlKSBleHBlbnNpdmUgZm9yIHRo aXMKa2luZCBvZiBleHRlcm5hbCBIVyBzbyByZWR1Y2luZyB0aGVtIHdvdWxkIHN0aWxsIGJlIGJl bmVmaWNpYWwuIEkgd29uZGVyCmlmIHRoZXJlJ3Mgc29tZSB3YXkgdGhleSBjb3VsZCBiZSBkZWZl cnJlZCB1bnRpbCB0aGUgcGFnZSBpcyBtb3ZlZCB0bwp0aGUgaW5hY3RpdmUgbGlzdCBzYXk/Cgo+ Pgo+PiA+IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIwMjIwNjE3MDcwNTU1LjM0 NDM2OC0xLTIxY25iYW9AZ21haWwuY29tLwo+PiA+IFNpZ25lZC1vZmYtYnk6IEJhb2xpbiBXYW5n IDxiYW9saW4ud2FuZ0BsaW51eC5hbGliYWJhLmNvbT4KPj4gPiAtLS0KPj4gPiAgYXJjaC9hcm02 NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggfCAzMSArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tCj4+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMo LSkKPj4gPgo+PiA+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUu aCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vcGd0YWJsZS5oCj4+ID4gaW5kZXggMGJkMThkZTlm ZDk3Li4yOTc5ZDc5NmJhOWQgMTAwNjQ0Cj4+ID4gLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2Fz bS9wZ3RhYmxlLmgKPj4gPiArKysgYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaAo+ PiA+IEBAIC05MDUsMjEgKzkwNSwyMiBAQCBzdGF0aWMgaW5saW5lIGludCBwdGVwX3Rlc3RfYW5k X2NsZWFyX3lvdW5nKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAo+PiA+ICBzdGF0aWMgaW5s aW5lIGludCBwdGVwX2NsZWFyX2ZsdXNoX3lvdW5nKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1h LAo+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg bG9uZyBhZGRyZXNzLCBwdGVfdCAqcHRlcCkKPj4gPiAgewo+PiA+IC0gICAgICAgaW50IHlvdW5n ID0gcHRlcF90ZXN0X2FuZF9jbGVhcl95b3VuZyh2bWEsIGFkZHJlc3MsIHB0ZXApOwo+PiA+IC0K Pj4gPiAtICAgICAgIGlmICh5b3VuZykgewo+PiA+IC0gICAgICAgICAgICAgICAvKgo+PiA+IC0g ICAgICAgICAgICAgICAgKiBXZSBjYW4gZWxpZGUgdGhlIHRyYWlsaW5nIERTQiBoZXJlIHNpbmNl IHRoZSB3b3JzdCB0aGF0IGNhbgo+PiA+IC0gICAgICAgICAgICAgICAgKiBoYXBwZW4gaXMgdGhh dCBhIENQVSBjb250aW51ZXMgdG8gdXNlIHRoZSB5b3VuZyBlbnRyeSBpbiBpdHMKPj4gPiAtICAg ICAgICAgICAgICAgICogVExCIGFuZCB3ZSBtaXN0YWtlbmx5IHJlY2xhaW0gdGhlIGFzc29jaWF0 ZWQgcGFnZS4gVGhlCj4+ID4gLSAgICAgICAgICAgICAgICAqIHdpbmRvdyBmb3Igc3VjaCBhbiBl dmVudCBpcyBib3VuZGVkIGJ5IHRoZSBuZXh0Cj4+ID4gLSAgICAgICAgICAgICAgICAqIGNvbnRl eHQtc3dpdGNoLCB3aGljaCBwcm92aWRlcyBhIERTQiB0byBjb21wbGV0ZSB0aGUgVExCCj4+ID4g LSAgICAgICAgICAgICAgICAqIGludmFsaWRhdGlvbi4KPj4gPiAtICAgICAgICAgICAgICAgICov Cj4+ID4gLSAgICAgICAgICAgICAgIGZsdXNoX3RsYl9wYWdlX25vc3luYyh2bWEsIGFkZHJlc3Mp Owo+PiA+IC0gICAgICAgfQo+PiA+IC0KPj4gPiAtICAgICAgIHJldHVybiB5b3VuZzsKPj4gPiAr ICAgICAgIC8qCj4+ID4gKyAgICAgICAgKiBUaGlzIGNvbW1lbnQgaXMgYm9ycm93ZWQgZnJvbSB4 ODYsIGJ1dCBhcHBsaWVzIGVxdWFsbHkgdG8gQVJNNjQ6Cj4+ID4gKyAgICAgICAgKgo+PiA+ICsg ICAgICAgICogQ2xlYXJpbmcgdGhlIGFjY2Vzc2VkIGJpdCB3aXRob3V0IGEgVExCIGZsdXNoIGRv ZXNuJ3QgY2F1c2UKPj4gPiArICAgICAgICAqIGRhdGEgY29ycnVwdGlvbi4gWyBJdCBjb3VsZCBj YXVzZSBpbmNvcnJlY3QgcGFnZSBhZ2luZyBhbmQKPj4gPiArICAgICAgICAqIHRoZSAobWlzdGFr ZW4pIHJlY2xhaW0gb2YgaG90IHBhZ2VzLCBidXQgdGhlIGNoYW5jZSBvZiB0aGF0Cj4+ID4gKyAg ICAgICAgKiBzaG91bGQgYmUgcmVsYXRpdmVseSBsb3cuIF0KPj4gPiArICAgICAgICAqCj4+ID4g KyAgICAgICAgKiBTbyBhcyBhIHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbiBkb24ndCBmbHVzaCB0 aGUgVExCIHdoZW4KPj4gPiArICAgICAgICAqIGNsZWFyaW5nIHRoZSBhY2Nlc3NlZCBiaXQsIGl0 IHdpbGwgZXZlbnR1YWxseSBiZSBmbHVzaGVkIGJ5Cj4+ID4gKyAgICAgICAgKiBhIGNvbnRleHQg c3dpdGNoIG9yIGEgVk0gb3BlcmF0aW9uIGFueXdheS4gWyBJbiB0aGUgcmFyZQo+PiA+ICsgICAg ICAgICogZXZlbnQgb2YgaXQgbm90IGdldHRpbmcgZmx1c2hlZCBmb3IgYSBsb25nIHRpbWUgdGhl IGRlbGF5Cj4+ID4gKyAgICAgICAgKiBzaG91bGRuJ3QgcmVhbGx5IG1hdHRlciBiZWNhdXNlIHRo ZXJlJ3Mgbm8gcmVhbCBtZW1vcnkKPj4gPiArICAgICAgICAqIHByZXNzdXJlIGZvciBzd2Fwb3V0 IHRvIHJlYWN0IHRvLiBdCj4+ID4gKyAgICAgICAgKi8KPj4gPiArICAgICAgIHJldHVybiBwdGVw X3Rlc3RfYW5kX2NsZWFyX3lvdW5nKHZtYSwgYWRkcmVzcywgcHRlcCk7Cj4+ID4gIH0KPj4gPgo+ PiA+ICAjaWZkZWYgQ09ORklHX1RSQU5TUEFSRU5UX0hVR0VQQUdFCj4+ID4gLS0KPj4gPiAyLjM5 LjMKPj4gPgo+Pgo+PiBUaGFua3MKPj4gQmFycnkKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==