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 00351C07545 for ; Wed, 25 Oct 2023 03:22:24 +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=OVW23gZyfD12oD1q9ue/4pnz6ZJeeYVfM7oBIynl6Lo=; b=1CY7kr/EPMUbyT t9bbpZ4j3l1x6oikgFgMOO4QDgotW1NcTsH0ECS1xWmVvEjXJZ3weVzMtJxoenx1mwbT5DGwxu9XP UGnHjxvqbb6/tBQo4NLtP2TAnnUn9jOOtNaJwXy/+/YwDgnLuvtSCCZQkSEuWunbn+Rg9pkZZ1hA3 IU0yqyl666/OFPkLdQxAiu4HkaSN6T8q24BbTMAZdQEf4pxmHEbK1dXk0oemR67Q2Byquu1xMIG+j syC7kdL4ATR1xYVag+SF45s1ul8C1x/RfhwGn8ke+RzYv8gwU9tsAzMAnc0Pq1Uu6fGeHRdBa9rqn /E+/Bwqfr9xfQcta6MIA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qvUT4-00BFyN-0s; Wed, 25 Oct 2023 03:22:02 +0000 Received: from mail-bn8nam11on20601.outbound.protection.outlook.com ([2a01:111:f400:7eae::601] helo=NAM11-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qvUSz-00BFwX-18 for linux-arm-kernel@lists.infradead.org; Wed, 25 Oct 2023 03:22:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ar0MzkiCS22dbmtgxu0Avsv/cTSCCVZbjfQFqsJX15HMwjeCqrLqrJhGum7wZTivbhM08A7tInUH1QmNPjUr+sH/R4xVfzNoUTMKpFooq95Kd4LmmQEb86rz8D36qYkWH+PVv4izzRhWhLFN89ZNGFC+KNCEcSyLPg+PVyZ0AjpMD4k/B/8A1EZfL0ymdE0M6N13nU31fG+ASZL0i0rmFS3sx+7K3PwbmmxuSlVtNDcIo5ac3u58z5iUlPiILoKJTeHcjuzWcAFq0+XvvDailw8TiEtGCKDTk7rdRtnJKk4X+U5xGqAkseQLIWh3dHmpcrASlCTgEyjk2750FjRtbw== 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=YF3gw9W1FPoX+74v0AGt7yBEPQmP+38OItIO18CU7rU=; b=LxoeJAPmaNdWvQPfWasr6GnlO5CCvd8xeWj4GqXm3W02kHUlAhY7qsnhzrKa9tvFfvVoA8r4Y6kJGhtIqyZx9dRz3r5FwAkyOzEydIV4qGTF+bpa3hvnC0697Q6v0xPXYPiPWVO6IBywVCqh6a5mo2o1xc0ZulnXWk0X9T2k2Ts6Yl0Z86USOAUM7hb6xjn0f6j3aCCu3QcRN9KyxjuZmADqXJrK6eBHgs7c9hH/ztUBTKJf1bU4DRrEzh9AX9WvdUgjJ/3gpBxa03+zSZDGbYhUlT7DAQbh/5aX8W0WZ0vs6xdvz4FHXxgHNC8+Pphx6d18mJVdJ41uWW36XyXBTQ== 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=YF3gw9W1FPoX+74v0AGt7yBEPQmP+38OItIO18CU7rU=; b=EOzWorcHv5rfZsG50tp8sH5S4iqD1St4JpQym8kblQzBZMfr6137GENxn2N95QuyYrnw10FFylJVG6pFz05EQL7K9kk6mOY8ShnZxfTy99aFzj70HwMq9NYjDC0smZW5qdI8G04d9CXvppgK10rA+TsaiYuvbUTvCqcIZOMhUFwFSfd2/J9Upowf2t2DttphBO49buQd9PwccpbFXW/vW5YH1a6SRO0QIExtRpJHNNWRUKVYUVEqM1As5Crx2SYwcK03hKRNTJsj1ZssPG6RYknncHj6tza5bbEiplCbAYFBkGgIx4chDQijkCFHs1CGOtUuLErojBCDaymKNtjinQ== 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 CH0PR12MB8531.namprd12.prod.outlook.com (2603:10b6:610:181::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.29; Wed, 25 Oct 2023 03:21:49 +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 03:21:48 +0000 References: <87y1frqz2u.fsf@nvdebian.thelocal> <87ttqfqw8f.fsf@nvdebian.thelocal> User-agent: mu4e 1.8.13; emacs 28.2 From: Alistair Popple To: Baolin Wang Cc: Barry Song <21cnbao@gmail.com>, 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 14:09:36 +1100 In-reply-to: Message-ID: <87bkcn1j5k.fsf@nvdebian.thelocal> X-ClientProxiedBy: SYBPR01CA0012.ausprd01.prod.outlook.com (2603:10c6:10::24) To BYAPR12MB3176.namprd12.prod.outlook.com (2603:10b6:a03:134::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR12MB3176:EE_|CH0PR12MB8531:EE_ X-MS-Office365-Filtering-Correlation-Id: 926ed73a-4c77-4896-4dc8-08dbd5098626 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Py9WFq0wH983DKPbEe5YB69q+1b37RyE+HvsuIZFUDZ8Z8ScIh4a1klECN3IfmWGuD6gk/I9wazEnhdXRMcHUjnEUfn3GH/LZddht/RcXMtMDbJcm8D3g/qScHhqk/19JqAaOMHsPUXa3ZsXJaAxJsPcbIPqsihvruceZDUJAvVxrj8RDuGQrUe+GB2m4qj9XFoB3uaq8qwxEpPew9gFzmoPdAb4kSW8c12+WNe0mNTCnlH9ntXN56AczlGVMIpuiGQOI9BsaaGYHRfxeL7YS7B0LWqkgCfs9TyZ1MCKx8Mrnp+QGv6ALvlpfblS5nwpJAW1Ei1zuX5gGijRU5x0bm3MyApUH6W1HT3/j32+9GoSfQ4JX6eNCJqqUPyKlZ4pPlCwBQlHcM6xYxQzFQbeCM2vebSy3hvCgkbGMGEzFELF4oyAN7UV/piFYZxQGsPm50a6wS4fWvLdqKRfd305o6zCAF7Hn+RsU2z6fs77FSgJMec0m4n7wUidGGJ4L5JqwECPOrHUtZcOOhvanZKdHR5XHiQv89lLx/49h1baPBqsGph4uE333xCC7d5Cf5WXNgEMHa1Tk50bW5wVTE+QL7gxji8YOs4/Cz0zlmKT8RQ= 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)(376002)(346002)(39860400002)(366004)(396003)(136003)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(7416002)(83380400001)(66899024)(8936002)(53546011)(2906002)(38100700002)(4326008)(26005)(8676002)(86362001)(9686003)(6512007)(6506007)(6916009)(316002)(478600001)(966005)(6666004)(5660300002)(6486002)(66476007)(66556008)(41300700001)(66946007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?L3RJaDJoYnVjc21ZYTVNS0VERkpZeThza0IraVR6Y09idndMVzFqdnRXNFZF?= =?utf-8?B?dzF5dFlzeng1a1R4ZGR5Vy9vSGNNdnNnTnRza25xVjNkTVpBSTBXSzE2Mm5W?= =?utf-8?B?akI5M2RHTmFEOUE0OFI0T29va1Y5WTkrZkpkS0tkMGxCSERvUjVvL2VGSDd1?= =?utf-8?B?RFRJcU5XWXI3VTN6RmhJdng0Mjh2enlsSWk2U3FGUzlubmtvS3pPekoyeWtM?= =?utf-8?B?T1dGL3U0SE9xN2RiOE5sS2htNDh3Z0hqajhRVXJFMDRLV05rSjNucnR1UFUv?= =?utf-8?B?QTdGd3JCK0pBZEZXcHJqckF5R3g5bzV5UXo5cUhsVUNnTldhbTlDK1NGa1dl?= =?utf-8?B?VmxXdlVqWUdRajBDS1pnL2hEdFYwK3JEOFlHd1hkd3lLc1RYa3RPRmhMRnZx?= =?utf-8?B?OGpBaFI1TkhQNU5xejhrSjdPUkNmOUFuMFQzZmtheHkzTzlxaEwzaU1XejNk?= =?utf-8?B?djAwUzkwQjRqOFlQUzRoRFRjK3h5YUpNRGx4bXcydzFCRzZZSHZHYlNsVnAy?= =?utf-8?B?ZUxUbWVKVjY4Vm1VSW4vMjNBVW1uR1J1S1hhcGVrOGhkTGRkeTRwZ2pENkRE?= =?utf-8?B?MEphQ3dzektCVXptQ0p5TnZ2STRZWTA2cVhYbGhLcHdFOVVGOHZpcThqdFNs?= =?utf-8?B?Q2lwZnRBODBRZlRwbWkwYWpleFBkZmhIZXljMUZUOWtEMkFPemhMMTFMaW1I?= =?utf-8?B?Rm1nbUVjdE9wWkpYMHdXZUxBZUxiNVQxbVU2azQxcXpLSTlWbkdTQjZ1SmZC?= =?utf-8?B?bUFVN2JiRUFOSXhRaHk0dFcydVdGcjJOajNzcVJkLzVZaXF2dlZ0OHVHUS9L?= =?utf-8?B?d2ZKVW1ENHhGQkZ2MWRjQjJKSlFJbGJqUjZvRjJiNHZvNjdxOEpld2d3T1h6?= =?utf-8?B?S05SdTJDOEhsM2RQUTJmb1NOU0E0WVJPRFI2djgyWXB6S1llNVZoRm5OcDN2?= =?utf-8?B?UDQvdGJqKzNxOUw4SUNFbmdnc2NHZS8rc1I1TC96TTdZZjRXc3d2S2phdjQy?= =?utf-8?B?ZmZOVmZsSVgzUFV5Q01adFRRZHRRNTh1cTY0VUY1NFc4T3BqZlFmZ20yVVpm?= =?utf-8?B?Z3NHbVVGZjJidUw2WXN2OEM0eWU0U3NGelJEaXIrWHo2dTk5WDhWSGxYVUJG?= =?utf-8?B?SkhxZi82QXRzSUl0OGZRb1J6bjg5dmh2QmdOd1RDTGx0MkFHUnJGWHI0b3dS?= =?utf-8?B?bFpSazRKZlN2cDN6UEZZS1ZaSTd3UmNFTSs3VEJ0YVZRYkRDWS9CSzJvOE1B?= =?utf-8?B?cmxCdWhpNFV0dGxuME1NTjN6ZExoQzl4ZlAvWDNnY1ZXczJYSVlJcWZnUDFr?= =?utf-8?B?bytzeXhLZ1pQOGpNTE4zV1JiSXdWcU5PWEduK3FyalZlVjB3MDdBN2pwbjZj?= =?utf-8?B?cUlIbi9UOGtMcnlPaGYrS3hvdFJhd3krekdXV0szZHVjSFRORThRZTNsKzZx?= =?utf-8?B?TWlPT0NDMU03RzJwcmZVOG9pdHZ2SGF4cXJCSEVyRmI1Y0Fwd3lHOUFXZGsv?= =?utf-8?B?TVpIYkZxUEZ1OXFtWm5CR3VXMXVzRjZrUTcrQkQyNG1tRk9RdzJycjVkb0V5?= =?utf-8?B?MC9HVXJtZXIyUDR0Q2d1b043ZUdVTTUySFFRZ0xaQnQvODh4cWREd2Q0YVRr?= =?utf-8?B?T3lMVVlQdzl3OVBvdHpjdjY0RG42MlJFQ2FETkN6cGNGUVk5TWhmK2k1cU5s?= =?utf-8?B?SWpFZDg4ZFdabUhaL1RKWXZ4dlJOYjhMYTV6ZHU5QVpVNTNSVEhVVEtMaEQ0?= =?utf-8?B?MlMxazhVbGVQYmhYdFpUYzFVclVPemU4K1RTY041VC9venVWQnpVSUg3UXBl?= =?utf-8?B?L1I2S3J4TEVKRjVFSmhLc2N6dkQ2N0hVMmMwN2o2NnVLMnZLNzhEYzJtNkhT?= =?utf-8?B?c3pFVjN1WWJPMlZ0NHV0SUVoRVhycGQvV3RVS1FJSXo5akgyN0lCWU51NGlI?= =?utf-8?B?WUNJaTNpSS9aZjlQTGxzZ1dpSFpQaXY0dUhGTlNaMnE5UnRINit6bGZKZUwz?= =?utf-8?B?bWRoQzk3dDI3N1lRYnBLVUtGQ25pQXk3MjBadWpqMG92S0RoZ0x1KzA0aHZo?= =?utf-8?B?YnNTVjNpSWlDMFBXK1pldHlRNG1zeC9NeW9BNFY3WnpPcVloVHkwUTRsNDhI?= =?utf-8?Q?ddbmGdpxSO6eLcfahQfrpAvY8?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 926ed73a-4c77-4896-4dc8-08dbd5098626 X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3176.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2023 03:21:48.6567 (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: qo5TcgVpY8XsUj8MR70gl35X7O/vGwo08xiFvigymitrVnM6Lftmz5fQSWcTbIygz4CpqopByNNNM9fbklGB5w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8531 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231024_202157_518594_D91B8795 X-CRM114-Status: GOOD ( 38.90 ) 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 CkJhb2xpbiBXYW5nIDxiYW9saW4ud2FuZ0BsaW51eC5hbGliYWJhLmNvbT4gd3JpdGVzOgoKPiBP biAxMC8yNS8yMDIzIDk6NTggQU0sIEFsaXN0YWlyIFBvcHBsZSB3cm90ZToKPj4gQmFycnkgU29u ZyA8MjFjbmJhb0BnbWFpbC5jb20+IHdyaXRlczoKPj4gCj4+PiBPbiBXZWQsIE9jdCAyNSwgMjAy MyBhdCA5OjE44oCvQU0gQWxpc3RhaXIgUG9wcGxlIDxhcG9wcGxlQG52aWRpYS5jb20+IHdyb3Rl Ogo+Pj4+Cj4+Pj4KPj4+PiBCYXJyeSBTb25nIDwyMWNuYmFvQGdtYWlsLmNvbT4gd3JpdGVzOgo+ Pj4+Cj4+Pj4+IE9uIFdlZCwgT2N0IDI1LCAyMDIzIGF0IDc6MTbigK9BTSBCYXJyeSBTb25nIDwy MWNuYmFvQGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4+Pgo+Pj4+Pj4gT24gVHVlLCBPY3QgMjQsIDIw MjMgYXQgODo1N+KAr1BNIEJhb2xpbiBXYW5nCj4+Pj4+PiA8YmFvbGluLndhbmdAbGludXguYWxp YmFiYS5jb20+IHdyb3RlOgo+PiBbLi4uXQo+PiAKPj4+Pj4+IChBKS4gQ29uc3RhbnQgZmx1c2gg Y29zdCB2cy4gKEIpLiB2ZXJ5IHZlcnkgb2NjYXNpb25hbCByZWNsYWltZWQgaG90Cj4+Pj4+PiBw YWdlLCAgQiBtaWdodAo+Pj4+Pj4gYmUgYSBjb3JyZWN0IGNob2ljZS4KPj4+Pj4KPj4+Pj4gUGx1 cywgSSBkb3VidCBCIGlzIHJlYWxseSBnb2luZyB0byBoYXBwZW4uIGFzIGFmdGVyIGEgcGFnZSBp cyBwcm9tb3RlZCB0bwo+Pj4+PiB0aGUgaGVhZCBvZiBscnUgbGlzdCBvciBuZXcgZ2VuZXJhdGlv biwgaXQgbmVlZHMgYSBsb25nIHRpbWUgdG8gc2xpZGUgYmFjawo+Pj4+PiB0byB0aGUgaW5hY3Rp dmUgbGlzdCB0YWlsIG9yIHRvIHRoZSBjYW5kaWRhdGUgZ2VuZXJhdGlvbiBvZiBtZ2xydS4gdGhl IHRpbWUKPj4+Pj4gc2hvdWxkIGhhdmUgYmVlbiBsYXJnZSBlbm91Z2ggZm9yIHRsYiB0byBiZSBm bHVzaGVkLiBJZiB0aGUgcGFnZSBpcyByZWFsbHkKPj4+Pj4gaG90LCB0aGUgaGFyZHdhcmUgd2ls bCBnZXQgc2Vjb25kLCB0aGlyZCwgZm91cnRoIGV0YyBvcHBvcnR1bml0eSB0byBzZXQgYW4KPj4+ Pj4gYWNjZXNzIGZsYWcgaW4gdGhlIGxvbmcgdGltZSBpbiB3aGljaCB0aGUgcGFnZSBpcyByZS1t b3ZlZCB0byB0aGUgdGFpbAo+Pj4+PiBhcyB0aGUgcGFnZSBjYW4gYmUgYWNjZXNzZWQgbXVsdGlw bGUgdGltZXMgaWYgaXQgaXMgcmVhbGx5IGhvdC4KPj4+Pgo+Pj4+IFRoaXMgbWlnaHQgbm90IGJl IHRydWUgaWYgeW91IGhhdmUgZXh0ZXJuYWwgaGFyZHdhcmUgc2hhcmluZyB0aGUgcGFnZQo+Pj4+ IHRhYmxlcyB3aXRoIHNvZnR3YXJlIHRocm91Z2ggZWl0aGVyIEhNTSBvciBoYXJkd2FyZSBzdXBw b3J0ZWQgQVRTCj4+Pj4gdGhvdWdoLgo+Pj4+Cj4+Pj4gSW4gdGhvc2UgY2FzZXMgSSB0aGluayBp dCdzIG11Y2ggbW9yZSBsaWtlbHkgaGFyZHdhcmUgY2FuIHN0aWxsIGJlCj4+Pj4gYWNjZXNzaW5n IHRoZSBwYWdlIGV2ZW4gYWZ0ZXIgYSBjb250ZXh0IHN3aXRjaCBvbiB0aGUgQ1BVIHNheS4gU28g dGhvc2UKPj4+PiBwYWdlcyB3aWxsIHRlbmQgdG8gZ2V0IHJlY2xhaW1lZCBldmVuIHRob3VnaCBo YXJkd2FyZSBpcyBzdGlsbCBhY3RpdmVseQo+Pj4+IHVzaW5nIHRoZW0gd2hpY2ggd291bGQgYmUg cXVpdGUgZXhwZW5zaXZlIGFuZCBJIGd1ZXNzIGNvdWxkIGxlYWQgdG8KPj4+PiB0aHJhc2hpbmcg YXMgZWFjaCBwYWdlIGlzIHJlY2xhaW1lZCBhbmQgdGhlbiBpbW1lZGlhdGVseSBmYXVsdGVkIGJh Y2sKPj4+PiBpbi4KPgo+IFRoYXQncyBwb3NzaWJsZSwgYnV0IHRoZSBjaGFuY2Ugc2hvdWxkIGJl IHJlbGF0aXZlbHkgbG93LiBBdCBsZWFzdCBvbgo+IHg4NiwgSSBoYXZlIG5vdCBoZWFyZCBvZiB0 aGlzIGlzc3VlLgoKUGVyc29uYWxseSBJJ3ZlIG5ldmVyIHNlZW4gYW55IHg4NiBzeXN0ZW0gdGhh dCBzaGFyZXMgcGFnZSB0YWJsZXMgd2l0aApleHRlcm5hbCBkZXZpY2VzLCBvdGhlciB0aGFuIHdp dGggSE1NLiBNb3JlIG9uIHRoYXQgYmVsb3cuCgo+Pj4gaSBhbSBub3QgcXVpdGUgc3VyZSBpIGdv dCB5b3VyIHBvaW50LiBoYXMgdGhlIGV4dGVybmFsIGhhcmR3YXJlIHNoYXJpbmcgY3B1J3MKPj4+ IHBhZ2V0YWJsZSB0aGUgYWJpbGl0eSB0byBzZXQgYWNjZXNzIGZsYWcgaW4gcGFnZSB0YWJsZSBl bnRyaWVzIGJ5Cj4+PiBpdHNlbGY/IGlmIHllcywKPj4+IEkgZG9uJ3Qgc2VlIGhvdyBvdXIgYXBw cm9hY2ggd2lsbCBodXJ0IGFzIGZvbGlvX3JlZmVyZW5jZWQgY2FuIG5vdGlmeSB0aGUKPj4+IGhh cmR3YXJlIGRyaXZlciBhbmQgdGhlIGRyaXZlciBjYW4gZmx1c2ggaXRzIG93biB0bGIuIElmIG5v LCBpIGRvbid0IHNlZQo+Pj4gZWl0aGVyIGFzIHRoZSBleHRlcm5hbCBoYXJkd2FyZSBjYW4ndCBz ZXQgYWNjZXNzIGZsYWdzLCB0aGF0IG1lYW5zIHdlCj4+PiBoYXZlIGlnbm9yZWQgaXRzIHJlZmVy ZW5jZSBhbmQgb25seSBrbm93cyBjcHUncyBhY2Nlc3MgZXZlbiBpbiB0aGUgY3VycmVudAo+Pj4g bWFpbmxpbmUgY29kZS4gc28gd2UgYXJlIG5vdCBnZXR0aW5nIHdvcnNlLgo+Pj4KPj4+IHNvIHRo ZSBleHRlcm5hbCBoYXJkd2FyZSBjYW4gYWxzbyBzZWUgY3B1J3MgVExCPyBvciBjcHUncyB0bGIg Zmx1c2ggY2FuCj4+PiBhbHNvIGJyb2FkY2FzdCB0byBleHRlcm5hbCBoYXJkd2FyZSwgdGhlbiBl eHRlcm5hbCBoYXJkd2FyZSBzZWVzIHRoZQo+Pj4gY2xlYXJlZCBhY2Nlc3MgZmxhZywgdGh1cywg aXQgY2FuIHNldCBhY2Nlc3MgZmxhZyBpbiBwYWdlIHRhYmxlIHdoZW4gdGhlCj4+PiBoYXJkd2Fy ZSBhY2Nlc3MgaXQ/ICBJZiB0aGlzIGlzIHRoZSBjYXNlLCBJIGZlZWwgd2hhdCB5b3Ugc2FpZCBp cyB0cnVlLgo+PiBQZXJoYXBzIGl0IHdvdWxkIGhlbHAgaWYgSSBnYXZlIGEgY29uY3JldGUgZXhh bXBsZS4gVGFrZSBmb3IgZXhhbXBsZQo+PiB0aGUKPj4gQVJNIFNNTVUuIEl0IGhhcyBpdCdzIG93 biBUTEIuIEludmFsaWRhdGluZyB0aGlzIFRMQiBpcyBkb25lIGluIG9uZSBvZgo+PiB0d28gd2F5 cyBkZXBlbmRpbmcgb24gdGhlIHNwZWNpZmljIEhXIGltcGxlbWVudGF0aW9uLgo+PiBJZiBicm9h ZGNhc3QgVExCIG1haW50ZW5hbmNlIChCVE0pIGlzIHN1cHBvcnRlZCBpdCB3aWxsIHNub29wIENQ VQo+PiBUTEIKPj4gaW52YWxpZGF0aW9ucy4gSWYgQlRNIGlzIG5vdCBzdXBwb3J0ZWQgaXQgcmVs aWVzIG9uIFNXIHRvIGV4cGxpY2l0bHkKPj4gZm9yd2FyZCBUTEIgaW52YWxpZGF0aW9ucyB2aWEg TU1VIG5vdGlmaWVycy4KPgo+IE9uIG91ciBBUk02NCBoYXJkd2FyZSwgd2UgcmVseSBvbiBCVE0g dG8gbWFpbnRhaW4gVExCIGNvaGVyZW5jeS4KCkx1Y2t5IHlvdSA6LSkKCkFSTTY0IFNNTVUgYXJj aGl0ZWN0dXJlIHNwZWNpZmljYXRpb24gc3VwcG9ydHMgdGhlIHBvc3NpYmlsdHkgb2YgYm90aCwK YXMgZG9lcyB0aGUgZHJpdmVyLiBOb3QgdGhhdCBJIHRoaW5rIHdoZXRoZXIgb3Igbm90IEJUTSBp cyBzdXBwb3J0ZWQgaGFzCm11Y2ggcmVsZXZhbmNlIHRvIHRoaXMgaXNzdWUuCgo+PiBOb3cgY29u c2lkZXIgdGhlIGNhc2Ugd2hlcmUgc29tZSBleHRlcm5hbCBkZXZpY2UgaXMgYWNjZXNzaW5nIG1h cHBpbmdzCj4+IHZpYSB0aGUgU01NVS4gVGhlIGFjY2VzcyBmbGFnIHdpbGwgYmUgY2FjaGVkIGlu IHRoZSBTTU1VIFRMQi4gSWYgd2UKPj4gY2xlYXIgdGhlIGFjY2VzcyBmbGFnIHdpdGhvdXQgYSBU TEIgaW52YWxpZGF0ZSB0aGUgYWNjZXNzIGZsYWcgaW4gdGhlCj4+IENQVSBwYWdlIHRhYmxlIHdp bGwgbm90IGdldCB1cGRhdGVkIGJlY2F1c2UgaXQncyBhbHJlYWR5IHNldCBpbiB0aGUgU01NVQo+ PiBUTEIuCj4+IEFzIGFuIGFzaWRlIGFjY2VzcyBmbGFnIHVwZGF0ZXMgaGFwcGVuIGluIG9uZSBv ZiB0d28gd2F5cy4gSWYgdGhlCj4+IFNNTVUKPj4gSFcgc3VwcG9ydHMgaGFyZHdhcmUgdHJhbnNs YXRpb24gdGFibGUgdXBkYXRlcyAoSFRUVSkgdGhlbiBoYXJkd2FyZSB3aWxsCj4+IG1hbmFnZSB1 cGRhdGluZyBhY2Nlc3MvZGlydHkgZmxhZ3MgYXMgcmVxdWlyZWQuIElmIHRoaXMgaXMgbm90IHN1 cHBvcnRlZAo+PiB0aGVuIFNXIGlzIHJlbGllZCBvbiB0byB1cGRhdGUgdGhlc2UgZmxhZ3Mgd2hp Y2ggaW4gcHJhY3RpY2UgbWVhbnMKPj4gdGFraW5nIGEgbWlub3IgZmF1bHQuIEJ1dCBJIGRvbid0 IHRoaW5rIHRoYXQgaXMgcmVsZXZhbnQgaGVyZSAtIGluCj4+IGVpdGhlciBjYXNlIHdpdGhvdXQg YSBUTEIgaW52YWxpZGF0ZSBuZWl0aGVyIG9mIHRob3NlIHRoaW5ncyB3aWxsCj4+IGhhcHBlbi4K Pj4gSSBzdXBwb3NlIGRyaXZlcnMgY291bGQgaW1wbGVtZW50IHRoZSBjbGVhcl9mbHVzaF95b3Vu ZygpIE1NVQo+PiBub3RpZmllcgo+PiBjYWxsYmFjayAobm9uZSBkbyBhdCB0aGUgbW9tZW50IEFG QUlDVCkgYnV0IHRoZW4gd29uJ3QgdGhhdCBqdXN0IGxlYWQgdG8KPj4gdGhlIG9wcG9zaXRlIHBy b2JsZW0gLSB0aGF0IGV2ZXJ5IHBhZ2UgZXZlciB1c2VkIGJ5IGFuIGV4dGVybmFsIGRldmljZQo+ PiByZW1haW5zIGFjdGl2ZSBhbmQgdW5hdmFpbGFibGUgZm9yIHJlY2xhaW0gYmVjYXVzZSB0aGUg YWNjZXNzIGZsYWcgbmV2ZXIKPj4gZ2V0cyBjbGVhcmVkPyBJIHN1cHBvc2UgdGhleSBjb3VsZCBk byB0aGUgZmx1c2ggdGhlbiB3aGljaCB3b3VsZCBlbnN1cmUKPgo+IFllcywgSSB0aGluayBzbyB0 b28uIFRoZSByZWFzb24gdGhlcmUgaXMgY3VycmVudGx5IG5vIHByb2JsZW0sIHBlcmhhcHMKPiBJ IHRoaW5rLCB0aGVyZSBhcmUgbm8gYWN0dWFsIHVzZSBjYXNlcyBhdCB0aGUgbW9tZW50PyBBdCBs ZWFzdCBvbiBvdXIKPiBBbGliYWJhJ3MgZmxlZXQsIFNNTVUgYW5kIE1NVSBkbyBub3Qgc2hhcmUg cGFnZSB0YWJsZXMgbm93LgoKV2UgaGF2ZSBzeXN0ZW1zIHRoYXQgZG8uIEFsc28gSE1NICh1c2Vk IGJ5IE5vdXZlYXUgYW5kIEFNRCBhbW9uZyBvdGhlcnMpCmlzIGEgU1cgaW1wbGVtZW50YXRpb24g b2YgcGFnZSB0YWJsZSBzaGFyaW5nIGFuZCB3b3VsZCBzdWZmZXIgc2ltaWxhcgppc3N1ZXMuIFRo YXQgc2FpZCBpZiB0aGUgZmx1c2ggaXMgYWxyZWFkeSBiZWluZyBza2lwcGVkIG9uIHg4NiB0aGVu IGl0J3MKYWxyZWFkeSBhbiBpc3N1ZSBmb3IgSE1NLiBITU0gYmFzZWQgZHJpdmVycyBjYW4gYXQg bGVhc3QgZGVhbCB3aXRoIHRoaXMKYnkgaW1wbGVtZW50aW5nIHRoZSBjbGVhcl9mbHVzaF95b3Vu ZygpIG5vdGlmaWVyIHRob3VnaC4gVGhlIHNhbWUKZG9lc24ndCBhcHBseSB0byBlZy4gdGhlIFNN TVUgZHJpdmVyLgoKPj4gdGhlIHBhZ2UgaXMgbWFya2VkIGluYWN0aXZlIGlmIGl0J3Mgbm90IHJl ZmVyZW5jZWQgYmV0d2VlbiB0aGUgdHdvCj4+IGZvbGlvX3JlZmVyZW5jZWQgY2FsbHMoKS4KPj4g QnV0IHRoYXQgcmVxdWlyZXMgY2hhbmdlcyB0byB0aG9zZSBkcml2ZXJzLiBTTU1VIGZyb20gbWVt b3J5IGRvZXNuJ3QKPj4gZXZlbiByZWdpc3RlciBmb3Igbm90aWZpZXJzIGlmIEJUTSBpcyBzdXBw b3J0ZWQuCj4+ICAgLSBBbGlzdGFpcgo+PiAKPj4+Pgo+Pj4+IE9mIGNvdXJzZSBUTEIgZmx1c2hl cyBhcmUgZXF1YWxseSAocGVyaGFwcyBldmVuIG1vcmUpIGV4cGVuc2l2ZSBmb3IgdGhpcwo+Pj4+ IGtpbmQgb2YgZXh0ZXJuYWwgSFcgc28gcmVkdWNpbmcgdGhlbSB3b3VsZCBzdGlsbCBiZSBiZW5l ZmljaWFsLiBJIHdvbmRlcgo+Pj4+IGlmIHRoZXJlJ3Mgc29tZSB3YXkgdGhleSBjb3VsZCBiZSBk ZWZlcnJlZCB1bnRpbCB0aGUgcGFnZSBpcyBtb3ZlZCB0bwo+Pj4+IHRoZSBpbmFjdGl2ZSBsaXN0 IHNheT8KPj4+Pgo+Pj4+Pj4KPj4+Pj4+PiBbMV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGtt bC8yMDIyMDYxNzA3MDU1NS4zNDQzNjgtMS0yMWNuYmFvQGdtYWlsLmNvbS8KPj4+Pj4+PiBTaWdu ZWQtb2ZmLWJ5OiBCYW9saW4gV2FuZyA8YmFvbGluLndhbmdAbGludXguYWxpYmFiYS5jb20+Cj4+ Pj4+Pj4gLS0tCj4+Pj4+Pj4gICBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaCB8IDMx ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KPj4+Pj4+PiAgIDEgZmlsZSBjaGFuZ2Vk LCAxNiBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKPj4+Pj4+Pgo+Pj4+Pj4+IGRpZmYg LS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gvYXJtNjQvaW5j bHVkZS9hc20vcGd0YWJsZS5oCj4+Pj4+Pj4gaW5kZXggMGJkMThkZTlmZDk3Li4yOTc5ZDc5NmJh OWQgMTAwNjQ0Cj4+Pj4+Pj4gLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgK Pj4+Pj4+PiArKysgYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaAo+Pj4+Pj4+IEBA IC05MDUsMjEgKzkwNSwyMiBAQCBzdGF0aWMgaW5saW5lIGludCBwdGVwX3Rlc3RfYW5kX2NsZWFy X3lvdW5nKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAo+Pj4+Pj4+ICAgc3RhdGljIGlubGlu ZSBpbnQgcHRlcF9jbGVhcl9mbHVzaF95b3VuZyhzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwK Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l ZCBsb25nIGFkZHJlc3MsIHB0ZV90ICpwdGVwKQo+Pj4+Pj4+ICAgewo+Pj4+Pj4+IC0gICAgICAg aW50IHlvdW5nID0gcHRlcF90ZXN0X2FuZF9jbGVhcl95b3VuZyh2bWEsIGFkZHJlc3MsIHB0ZXAp Owo+Pj4+Pj4+IC0KPj4+Pj4+PiAtICAgICAgIGlmICh5b3VuZykgewo+Pj4+Pj4+IC0gICAgICAg ICAgICAgICAvKgo+Pj4+Pj4+IC0gICAgICAgICAgICAgICAgKiBXZSBjYW4gZWxpZGUgdGhlIHRy YWlsaW5nIERTQiBoZXJlIHNpbmNlIHRoZSB3b3JzdCB0aGF0IGNhbgo+Pj4+Pj4+IC0gICAgICAg ICAgICAgICAgKiBoYXBwZW4gaXMgdGhhdCBhIENQVSBjb250aW51ZXMgdG8gdXNlIHRoZSB5b3Vu ZyBlbnRyeSBpbiBpdHMKPj4+Pj4+PiAtICAgICAgICAgICAgICAgICogVExCIGFuZCB3ZSBtaXN0 YWtlbmx5IHJlY2xhaW0gdGhlIGFzc29jaWF0ZWQgcGFnZS4gVGhlCj4+Pj4+Pj4gLSAgICAgICAg ICAgICAgICAqIHdpbmRvdyBmb3Igc3VjaCBhbiBldmVudCBpcyBib3VuZGVkIGJ5IHRoZSBuZXh0 Cj4+Pj4+Pj4gLSAgICAgICAgICAgICAgICAqIGNvbnRleHQtc3dpdGNoLCB3aGljaCBwcm92aWRl cyBhIERTQiB0byBjb21wbGV0ZSB0aGUgVExCCj4+Pj4+Pj4gLSAgICAgICAgICAgICAgICAqIGlu dmFsaWRhdGlvbi4KPj4+Pj4+PiAtICAgICAgICAgICAgICAgICovCj4+Pj4+Pj4gLSAgICAgICAg ICAgICAgIGZsdXNoX3RsYl9wYWdlX25vc3luYyh2bWEsIGFkZHJlc3MpOwo+Pj4+Pj4+IC0gICAg ICAgfQo+Pj4+Pj4+IC0KPj4+Pj4+PiAtICAgICAgIHJldHVybiB5b3VuZzsKPj4+Pj4+PiArICAg ICAgIC8qCj4+Pj4+Pj4gKyAgICAgICAgKiBUaGlzIGNvbW1lbnQgaXMgYm9ycm93ZWQgZnJvbSB4 ODYsIGJ1dCBhcHBsaWVzIGVxdWFsbHkgdG8gQVJNNjQ6Cj4+Pj4+Pj4gKyAgICAgICAgKgo+Pj4+ Pj4+ICsgICAgICAgICogQ2xlYXJpbmcgdGhlIGFjY2Vzc2VkIGJpdCB3aXRob3V0IGEgVExCIGZs dXNoIGRvZXNuJ3QgY2F1c2UKPj4+Pj4+PiArICAgICAgICAqIGRhdGEgY29ycnVwdGlvbi4gWyBJ dCBjb3VsZCBjYXVzZSBpbmNvcnJlY3QgcGFnZSBhZ2luZyBhbmQKPj4+Pj4+PiArICAgICAgICAq IHRoZSAobWlzdGFrZW4pIHJlY2xhaW0gb2YgaG90IHBhZ2VzLCBidXQgdGhlIGNoYW5jZSBvZiB0 aGF0Cj4+Pj4+Pj4gKyAgICAgICAgKiBzaG91bGQgYmUgcmVsYXRpdmVseSBsb3cuIF0KPj4+Pj4+ PiArICAgICAgICAqCj4+Pj4+Pj4gKyAgICAgICAgKiBTbyBhcyBhIHBlcmZvcm1hbmNlIG9wdGlt aXphdGlvbiBkb24ndCBmbHVzaCB0aGUgVExCIHdoZW4KPj4+Pj4+PiArICAgICAgICAqIGNsZWFy aW5nIHRoZSBhY2Nlc3NlZCBiaXQsIGl0IHdpbGwgZXZlbnR1YWxseSBiZSBmbHVzaGVkIGJ5Cj4+ Pj4+Pj4gKyAgICAgICAgKiBhIGNvbnRleHQgc3dpdGNoIG9yIGEgVk0gb3BlcmF0aW9uIGFueXdh eS4gWyBJbiB0aGUgcmFyZQo+Pj4+Pj4+ICsgICAgICAgICogZXZlbnQgb2YgaXQgbm90IGdldHRp bmcgZmx1c2hlZCBmb3IgYSBsb25nIHRpbWUgdGhlIGRlbGF5Cj4+Pj4+Pj4gKyAgICAgICAgKiBz aG91bGRuJ3QgcmVhbGx5IG1hdHRlciBiZWNhdXNlIHRoZXJlJ3Mgbm8gcmVhbCBtZW1vcnkKPj4+ Pj4+PiArICAgICAgICAqIHByZXNzdXJlIGZvciBzd2Fwb3V0IHRvIHJlYWN0IHRvLiBdCj4+Pj4+ Pj4gKyAgICAgICAgKi8KPj4+Pj4+PiArICAgICAgIHJldHVybiBwdGVwX3Rlc3RfYW5kX2NsZWFy X3lvdW5nKHZtYSwgYWRkcmVzcywgcHRlcCk7Cj4+Pj4+Pj4gICB9Cj4+Pj4+Pj4KPj4+Pj4+PiAg ICNpZmRlZiBDT05GSUdfVFJBTlNQQVJFTlRfSFVHRVBBR0UKPj4+Pj4+PiAtLQo+Pj4+Pj4+IDIu MzkuMwo+Pj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4gVGhhbmtzCj4+Pj4+PiBCYXJyeQo+Pj4+Cj4+PiBU aGFua3MKPj4+IEJhcnJ5CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtYXJtLWtlcm5lbAo=