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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id ABF68C433FE for ; Tue, 3 May 2022 18:14:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241153AbiECSRl (ORCPT ); Tue, 3 May 2022 14:17:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37380 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241121AbiECSRi (ORCPT ); Tue, 3 May 2022 14:17:38 -0400 Received: from na01-obe.outbound.protection.outlook.com (mail-cusazon11020022.outbound.protection.outlook.com [52.101.61.22]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 970063E5FB; Tue, 3 May 2022 11:14:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=he4GrjUJs+pbbWOQAVUF9nF+ZBMO4NsBCGINPa3zG0Bz1QzGye7Hk6i58aQzP3Blsk4b3K481euJuFtVdA2Zl8Y9mhnDmx4UXp3nDA+I9uaN0WjUXEvwqxyunj30uyFdLPvsh9QNCwG5izqZo+EK0KzoTtamKSkqRqHzvoVQurdi/xURo6vL0AtXF6EhXCNcLLW4aPu7HrQvw+xU2zbD/dD/frLKp7O3y+bzOKLeBqXNtsEsnaWHIUMmyPLivm3BGEnNiyZpnm/0uTsvEZ6C6Plz7pX/bbiWmLQuAfY6WUyxI/e9r/KBnxIFktKIoSecveRqgN64wh8mo4s0A8CH4A== 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=uHdWyr/lQ4oMAILHgYnTcyVdhz+H5tpb/ZbxMPdRznY=; b=Z8Q7zSE2FHB3mX9406scaZ7L/J5DU+5rZWfUrzWaCXcLS/K/Bms05PaCHEzN2F0GO7mbO6MP/3efMdcYTEEe6qc6Zsvo2EtFOPVsWEPlAvCGrkAh+cFw5roduWkgm8+olQJb+7ki2gL4oCfx5PGOE4yNt+SwPcn5h9gLzy86+3AHBjA6HCldqjdgt7TTYQ8wvJjH4tT01cap8x/HBDfBqMP1s1hw6+naeoy1L5qe3eXoSLNH9T1uTOMsGhvGrZM99GizzxF42pM4Xn/M5rWCreeHz3I/LVKPYt0pTXJYbtmxmNqft5UKqxvNh52cg/eUbLZXIi8dpy/iPrIu+ZR2bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uHdWyr/lQ4oMAILHgYnTcyVdhz+H5tpb/ZbxMPdRznY=; b=N8b4zUYeoSjVoBnIOHZk9x7r326uVrpKbKzx6XXMOIrzFUAHQx5Vf0lGVGrXZlrXWa6AW+P6rzthVyShps/A6r3TZdabpgEBaTS9lCeVdBHNNE//vXD9jQ0tGm9xQNx3bTBkWGRMD+GYCBn7m/MbMeekivw2v/V0MngTJJcvwwM= Received: from PH0PR21MB3025.namprd21.prod.outlook.com (2603:10b6:510:d2::21) by PH7PR21MB3140.namprd21.prod.outlook.com (2603:10b6:510:1d4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.6; Tue, 3 May 2022 18:13:52 +0000 Received: from PH0PR21MB3025.namprd21.prod.outlook.com ([fe80::dd77:2d4d:329e:87df]) by PH0PR21MB3025.namprd21.prod.outlook.com ([fe80::dd77:2d4d:329e:87df%5]) with mapi id 15.20.5250.006; Tue, 3 May 2022 18:13:52 +0000 From: "Michael Kelley (LINUX)" To: "Guilherme G. Piccoli" , "akpm@linux-foundation.org" , "bhe@redhat.com" , "pmladek@suse.com" , "kexec@lists.infradead.org" CC: "linux-kernel@vger.kernel.org" , "bcm-kernel-feedback-list@broadcom.com" , "linuxppc-dev@lists.ozlabs.org" , "linux-alpha@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-edac@vger.kernel.org" , "linux-hyperv@vger.kernel.org" , "linux-leds@vger.kernel.org" , "linux-mips@vger.kernel.org" , "linux-parisc@vger.kernel.org" , "linux-pm@vger.kernel.org" , "linux-remoteproc@vger.kernel.org" , "linux-s390@vger.kernel.org" , "linux-tegra@vger.kernel.org" , "linux-um@lists.infradead.org" , "linux-xtensa@linux-xtensa.org" , "netdev@vger.kernel.org" , "openipmi-developer@lists.sourceforge.net" , "rcu@vger.kernel.org" , "sparclinux@vger.kernel.org" , "xen-devel@lists.xenproject.org" , "x86@kernel.org" , "kernel-dev@igalia.com" , "kernel@gpiccoli.net" , "halves@canonical.com" , "fabiomirmar@gmail.com" , "alejandro.j.jimenez@oracle.com" , "andriy.shevchenko@linux.intel.com" , "arnd@arndb.de" , "bp@alien8.de" , "corbet@lwn.net" , "d.hatayama@jp.fujitsu.com" , "dave.hansen@linux.intel.com" , "dyoung@redhat.com" , "feng.tang@intel.com" , "gregkh@linuxfoundation.org" , "hidehiro.kawai.ez@hitachi.com" , "jgross@suse.com" , "john.ogness@linutronix.de" , "keescook@chromium.org" , "luto@kernel.org" , "mhiramat@kernel.org" , "mingo@redhat.com" , "paulmck@kernel.org" , "peterz@infradead.org" , "rostedt@goodmis.org" , "senozhatsky@chromium.org" , "stern@rowland.harvard.edu" , "tglx@linutronix.de" , "vgoyal@redhat.com" , vkuznets , "will@kernel.org" , Andrea Parri , Dexuan Cui , Haiyang Zhang , KY Srinivasan , Stephen Hemminger , Tianyu Lan , Wei Liu Subject: RE: [PATCH 16/30] drivers/hv/vmbus, video/hyperv_fb: Untangle and refactor Hyper-V panic notifiers Thread-Topic: [PATCH 16/30] drivers/hv/vmbus, video/hyperv_fb: Untangle and refactor Hyper-V panic notifiers Thread-Index: AQHYWonHTKAKlsJlK0mi6B2rKp5WnK0HF4GAgABmLoCABfgOgA== Date: Tue, 3 May 2022 18:13:52 +0000 Message-ID: References: <20220427224924.592546-1-gpiccoli@igalia.com> <20220427224924.592546-17-gpiccoli@igalia.com> <2787b476-6366-1c83-db80-0393da417497@igalia.com> In-Reply-To: <2787b476-6366-1c83-db80-0393da417497@igalia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=b41f9d07-1c9e-45a3-8ea4-5e837b666291;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-05-03T17:44:15Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 40ac3dec-95e5-41bb-b783-08da2d30adb3 x-ms-traffictypediagnostic: PH7PR21MB3140:EE_ x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FnIu9JpCdSU0bQtZUV5dEj7PTdHFP+LtwhgAsFHYKotKFZawzkNh1lUKYQokTK/oCA2oTWbBewVD72G73c3XzAhVtFhiLcEIRL5qdiF/xtEroSX1oj54Gq2PNnlzvUiCrd5TgrPM8LLQol7Wv8rD+kp4HyGQqXAFjMMN/Q2b4ZnVWNQ00/Vk5ypMiLQC/Ge/LCjSKneNG1xvmc2w9eX5SQ+/NyoLbnPryEqqBn7XuhMGDPslUzBOCcBN9YzUH68DS3hVF/Y5YhZtptZAZl2fTODZaJ2OwlykQp2I7Y6oG604LaPSsD0WPRmfpuaxoaOJIBdg0z+sdf+ubxmrC2Lr6MC6CrHAYG2L9kYqxZ4TqUtfoYZe7iudHWuxS69IuDr6iBZqdpgoDeHt3w3VzP9WxgI8jPwJCQwQv1mBZQJmhCbOFyKbCW388TQmxGJBM+r/qP9RJnhIgeQ5lWNdHZQKBsJxXz9+WhNGVkCgDdXgrY8MH9TQ2Sf3xIRTrK1LLXk+zeEbeaxHdfl56bAKPB5NuJiRqc1btjZYZQk16htM9PY07KltFPdC2rrMXk7odT8u+eVy+MBlh+KWuBEiY95z+g0uDfcC050kDJa8XsOULxaq6Wf52amSPQlpcL9dg6HDsB0YS1ka7dqVfJuoxshV5S/Ebu1mJvmoKPDJAT4s5+acqoljARobFpoBsZLvfqrvHnUWSvRY+07fOtsxPKpPoCJ8/mvijdRVVId+MDSBmoOuSdmutfrJNctuNoWS/Afw x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR21MB3025.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(451199009)(7366002)(10290500003)(5660300002)(508600001)(52536014)(7416002)(8936002)(9686003)(26005)(122000001)(71200400001)(7406005)(38070700005)(38100700002)(66556008)(86362001)(53546011)(76116006)(7696005)(110136005)(8676002)(66446008)(66476007)(64756008)(4326008)(6506007)(54906003)(66946007)(82950400001)(82960400001)(2906002)(186003)(55016003)(316002)(83380400001)(8990500004)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NDhJRGpJaGwrNTR3ZDdabHBaaGZVMTUvb1hqVWwrclBlK0wrMzIzQmRXWlVN?= =?utf-8?B?RFB5cC91SGNPZ09CQ1RhWDZEbDBnZHI5d29CRFFlb2ZRdzYyZ3ViV2VmWVZS?= =?utf-8?B?L1NqZ3hyM3BTTW9YT2pQZFBtUVN1SmFERjM4Sk5qT2RlbkVQWU55bGJLZ3FE?= =?utf-8?B?TmJyZmV4VHJ3MjQvV212REJjTDJlMHZabGZ1RWtUUHpnUGVOUlNya2lNZHpR?= =?utf-8?B?V3lzZm1nb1FDZVR3Z3JmUVZPTEVEYkZCSUVjUVhpbU1QRkpwWEVOK2NzRU8v?= =?utf-8?B?Y0hSN0toQWFJRFFrVXZJR2tlZUtnd3JmOTVObnJla0NLSVE2Y1haRTlEd3Vw?= =?utf-8?B?eVUveFhjVWMybVE4V2FHZWNDdzY3d3habUZMcndIK21GdHp3Wmw3RWFMTEtu?= =?utf-8?B?NURSWU5UY28xbzdYL1hINmtEdUZGd210MTFSVGVvVWFnMnJwT3YxVDJCa1dK?= =?utf-8?B?cm8ra2ppeHdnalJnRDM5aU8zZFBjMEoyZXhUU3ZTZ05vSFZOT1hHTFFGOXNB?= =?utf-8?B?U1BaVXFxOGRhTWRadnZ4YW5yYWFrZU5oWlJ5N0xvb05ZU0JtSW9ZdE1hVmRy?= =?utf-8?B?RXpGS3h5a2JkYkJEbW0wcVF2eWZtSVpsTVF1MnJ0dUxqTEdFY1htaThXY0g4?= =?utf-8?B?T0QzODZMQVB1ejl4b3ZOWHA4TDErbWxzNFpjOVNqNjUrbGJVVGpieS9SV2pS?= =?utf-8?B?VFZPU1ErQXlFbTZZek45Nk5WZVF5eThLQUk1bmxSMUxyeDgwUjFJMHQwQkc1?= =?utf-8?B?QmdSVjFyQ1p3RzV0SDRCTjhKdzFwdU5Ec0M0SDV4M2JBbHJxRXJhRm1IaW9E?= =?utf-8?B?bHF5WHlCczd3bU9VeXhERGw0L21jalFmOGxBTHhBWEhiT3pIMU5zb0FkZDNi?= =?utf-8?B?QUZGUEFoSjRiNUx4ZUxoekRZeHhwRmd5R3lSOTNJNVhXbzYvaTVCOFU1M0NY?= =?utf-8?B?YUtiWXZuQlJDcnYzWUVDRURpWmYxb0ppaXN6cWU2L1U4YzBFNGdXQ0FJWHNU?= =?utf-8?B?WlBkTjdzSFc4Sk1QSEYwMERjY0xnSGpUVTdhMmJqV3ZQYVYyN1dBT0pzNVVL?= =?utf-8?B?OHQ1QXg5VXJic3p1WHdDc2xKRklMOUk2KzRYTmMvWHBDQ3B6d2hLSVkxRm9M?= =?utf-8?B?aWtCaktiYWx4blJGVjQxV3dJczBSTzQzNVNMYVdWZTJpUG5GVUJWV2RNTHNI?= =?utf-8?B?bk5hRlJNVmZFOENOVk1nOVVDMldvcUlGRzVMR0dCNnBRVDBySVNvWVZrUnFG?= =?utf-8?B?SFMrVVh6SW9VVWZ0N2pUNDFiRStHaVNiVkZJZGJSQ2c5aERqRnBuZDg1T3dy?= =?utf-8?B?dDhKdngyWFZBSGtUS2lacmlPYWJDay9LYkFNc0JZM1JNSmRSQ2hjeGRqa1pj?= =?utf-8?B?eFI5S2s1MkcwOEI4dWFjU1ordnlCM0IrQnhycWJWYVEwVXVLTVIyeGJabGhJ?= =?utf-8?B?N1YvTkhWNVlBUXVyaUF2UkZ0ZnlvdEhxbEJWU3FsMTM1Sjc4QWxQdy8xNVMw?= =?utf-8?B?K05NazBSdkV6VjllUllTdzFUK2k0NExGSlpVbkcyUVBqSjEwS3lpYVBucGd5?= =?utf-8?B?eXZiM3ZaMjM5OTF1S3JNYmY0SXlmQ2RiODNZY1Npd3JXcGxOTW03a1YycFN3?= =?utf-8?B?V3UydCt4NkxEWWhxMFh0YjNLWElJdHRablBrVzdPZDM5azBYQm5RNUxnbHNV?= =?utf-8?B?eVhKdDIxSHl5d01DZEp1emFCK3VOM2VKekF1Y2w3N0gwTHVnZmNXVUtrL2M4?= =?utf-8?B?UXlSc0YybWxncEVJZVNBNXkxWEVhcForc3Y5TGJZUjNsNEwwcWlPaTJjME44?= =?utf-8?B?VjJ1K25uQmZ0RGtMaHIrb0oxQnJ1Sm9vMGdTd1RxVklDcFoveHcybkxlOTJ3?= =?utf-8?B?eXhvWkRySEx5WlBmcG5KdEtBalZrcHNwMXZwbWJnYUpHU1dsT3ltMFgzRVd3?= =?utf-8?B?Nk03eEZHOWRRUkIvYVZXZGJTdXJibnpvcHpuby9ESThJTGNKVTFjYkxQQWlK?= =?utf-8?B?VlBVcVI5VmtYYms2bFF5cFl0WUFoOW9YOFNkZTh1bG5DQlJoWkJNQ0g0VU5B?= =?utf-8?B?M2RHRW1CNEtFRnFaVkhSN2p1UnVFczFpdHRYQ3JadnZoSzJyZFlqKzl2SlJO?= =?utf-8?B?VWpDVGlDSVdmbTJIOWNVa3hMMm9vMHFVOTQvSng0RG9HWEgvdTN0VkdtUFcr?= =?utf-8?B?amE1NWRNWUlMeUJKQk40aU9pUGRrU1E0SmxZTTdRMWh4RUhFOVpkR2hTRXps?= =?utf-8?B?aDRxeUdKbHJTc281c0hObXdkbCt2TFE1aHVES0VBczgwMjE2b0pqYmVOUTNv?= =?utf-8?B?VnVaZlRiTmpjQWVUeE00V0p5cERtUWpuVFU4YVFOd1V3ZHY5SGJqRXNYLzhW?= =?utf-8?Q?teI2zGknLdIGYpMk=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR21MB3025.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40ac3dec-95e5-41bb-b783-08da2d30adb3 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 May 2022 18:13:52.1349 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4ui4kPv1QwwCeWcwraRIbiZaeFVEkUzs/5EQ9xwdazJ0cXTpmhELoQLf2pdHck77pdCw8h9HzCi86jIk8NpF5JK+JkBkOskELkyDCBUt8k0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR21MB3140 Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org RnJvbTogR3VpbGhlcm1lIEcuIFBpY2NvbGkgPGdwaWNjb2xpQGlnYWxpYS5jb20+IFNlbnQ6IEZy aWRheSwgQXByaWwgMjksIDIwMjIgMzozNSBQTQ0KPiANCj4gSGkgTWljaGFlbCwgZmlyc3Qgb2Yg YWxsIHRoYW5rcyBmb3IgdGhlIGdyZWF0IHJldmlldywgbXVjaCBhcHByZWNpYXRlZC4NCj4gU29t ZSBjb21tZW50cyBpbmxpbmUgYmVsb3c6DQo+IA0KPiBPbiAyOS8wNC8yMDIyIDE0OjE2LCBNaWNo YWVsIEtlbGxleSAoTElOVVgpIHdyb3RlOg0KPiA+IFsuLi5dDQo+ID4+IGh5cGVydmlzb3IgSS9P IGNvbXBsZXRpb24pLCBzbyB3ZSBwb3N0cG9uZSB0aGF0IHRvIHJ1biBsYXRlLiBCdXQgbW9yZQ0K PiA+PiByZWxldmFudDogdGhpcyAqc2FtZSogdm1idXMgdW5sb2FkaW5nIGhhcHBlbnMgaW4gdGhl IGNyYXNoX3NodXRkb3duKCkNCj4gPj4gaGFuZGxlciwgc28gaWYga2R1bXAgaXMgc2V0LCB3ZSBj YW4gc2FmZWx5IHNraXAgdGhpcyBwYW5pYyBub3RpZmllciBhbmQNCj4gPj4gZGVmZXIgc3VjaCBj bGVhbi11cCB0byB0aGUga2V4ZWMgY3Jhc2ggaGFuZGxlci4NCj4gPg0KPiA+IFdoaWxlIHRoZSBs YXN0IHNlbnRlbmNlIGlzIHRydWUgZm9yIEh5cGVyLVYgb24geDg2L3g2NCwgaXQncyBub3QgdHJ1 ZSBmb3INCj4gPiBIeXBlci1WIG9uIEFSTTY0LiAgeDg2L3g2NCBoYXMgdGhlICdtYWNoaW5lX29w cycgZGF0YSBzdHJ1Y3R1cmUNCj4gPiB3aXRoIHRoZSBhYmlsaXR5IHRvIHByb3ZpZGUgYSBjdXN0 b20gY3Jhc2hfc2h1dGRvd24oKSBmdW5jdGlvbiwgd2hpY2gNCj4gPiBIeXBlci1WIGRvZXMgaW4g dGhlIGZvcm0gb2YgaHZfbWFjaGluZV9jcmFzaF9zaHV0ZG93bigpLiAgQnV0IEFSTTY0DQo+ID4g aGFzIG5vIG1lY2hhbmlzbSB0byBwcm92aWRlIHN1Y2ggYSBjdXN0b20gZnVuY3Rpb24gdGhhdCB3 aWxsIGV2ZW50dWFsbHkNCj4gPiBkbyB0aGUgbmVlZGVkIHZtYnVzX2luaXRpYXRlX3VubG9hZCgp IGJlZm9yZSBydW5uaW5nIGtkdW1wLg0KPiA+DQo+ID4gSSdtIG5vdCBpbW1lZGlhdGVseSBzdXJl IHdoYXQgdGhlIGJlc3Qgc29sdXRpb24gaXMgZm9yIEFSTTY0LiAgQXQgdGhpcw0KPiA+IHBvaW50 LCBJJ20ganVzdCBwb2ludGluZyBvdXQgdGhlIHByb2JsZW0gYW5kIHdpbGwgdGhpbmsgYWJvdXQg dGhlIHRyYWRlb2Zmcw0KPiA+IGZvciB2YXJpb3VzIHBvc3NpYmxlIHNvbHV0aW9ucy4gIFBsZWFz ZSBkbyB0aGUgc2FtZSB5b3Vyc2VsZi4gOi0pDQo+ID4NCj4gDQo+IE9oLCB5b3UncmUgdG90YWxs eSByaWdodCEgSSBqdXN0IGFzc3VtZWQgQVJNNjQgd291bGQgdGhlIHRoZSBzYW1lLCBteQ0KPiBi YWQuIEp1c3QgdG8gcHJvcG9zZSBzb21lIGFsdGVybmF0aXZlcywgc28geW91L290aGVycyBjYW4g YWxzbyBkaXNjdXNzDQo+IGhlcmUgYW5kIHdlIGNhbiByZWFjaCBhIGNvbnNlbnN1cyBhYm91dCB0 aGUgdHJhZGUtb2ZmczoNCj4gDQo+IChhKSBXZSBjb3VsZCBmb3JnZXQgYWJvdXQgdGhpcyBjaGFu Z2UsIGFuZCBhbHdheXMgZG8gdGhlIGNsZWFuLXVwIGhlcmUsDQo+IG5vdCByZWx5aW5nIGluIG1h Y2hpbmVfY3Jhc2hfc2h1dGRvd24oKS4NCj4gUHJvOiByZWFsbHkgc2ltcGxlLCBiZWhhdmVzIHRo ZSBzYW1lIGFzIGl0IGlzIGRvaW5nIGN1cnJlbnRseS4NCj4gQ29uOiBsZXNzIGVsZWdhbnQvY29u Y2lzZSwgZG9lc24ndCBhbGxvdyBhcm02NCBjdXN0b21pemF0aW9uLg0KPiANCj4gKGIpIEFkZCBh IHdheSB0byBhbGxvdyBBUk02NCBjdXN0b21pemF0aW9uIG9mIHNodXRkb3duIGNyYXNoIGhhbmRs ZXIuDQo+IFBybzogbWF0Y2hlcyB4ODYsIG1vcmUgY3VzdG9taXphYmxlLCBpbXByb3ZlcyBhcm02 NCBhcmNoIGNvZGUuDQo+IENvbjogQSB0YWQgbW9yZSBjb21wbGV4Lg0KPiANCj4gQWxzbywgYSBx dWVzdGlvbiB0aGF0IGNhbWUtdXA6IGlmIEFSTTY0IGhhcyBubyB3YXkgb2YgY2FsbGluZyBzcGVj aWFsDQo+IGNyYXNoIHNodXRkb3duIGhhbmRsZXIsIGhvdyBjYW4geW91IGV4ZWN1dGUgaHZfc3Rp bWVyX2NsZWFudXAoKSBhbmQNCj4gaHZfc3luaWNfZGlzYWJsZV9yZWdzKCkgdGhlcmU/IE9yIGFy ZSB0aGV5IG5vdCByZXF1aXJlZCBpbiBBUk02ND8NCj4gDQoNCk15IHN1Z2dlc3Rpb24gaXMgdG8g ZG8gKGEpIGZvciBub3cuICBJIHN1c3BlY3QgKGIpIGNvdWxkIGJlIGEgbW9yZQ0KZXh0ZW5kZWQg ZGlzY3Vzc2lvbiBhbmQgSSB3b3VsZG4ndCB3YW50IHlvdXIgcGF0Y2ggc2V0IHRvIGdldCBoZWxk DQp1cCBvbiB0aGF0IGRpc2N1c3Npb24uICBJIGRvbid0IGtub3cgd2hhdCB0aGUgc2Vuc2Ugb2Yg dGhlIEFSTTY0DQptYWludGFpbmVycyB3b3VsZCBiZSB0b3dhcmQgKGIpLiAgVGhleSBoYXZlIHRy aWVkIHRvIGF2b2lkIHBpY2tpbmcNCnVwIGNvZGUgd2FydHMgbGlrZSBoYXZlIGFjY3VtdWxhdGVk IG9uIHRoZSB4ODYveDY0IHNpZGUgb3ZlciB0aGUNCnllYXJzLCBhbmQgSSBhZ3JlZSB3aXRoIHRo YXQgZWZmb3J0LiAgQnV0IGFzIG1vcmUgYW5kIHZhcmllZA0KaHlwZXJ2aXNvcnMgYmVjb21lIGF2 YWlsYWJsZSBmb3IgQVJNNjQsIGl0IHNlZW1zIGxpa2UgYSBmcmFtZXdvcmsNCmZvciBzdXBwb3J0 aW5nIGEgY3VzdG9tIHNodXRkb3duIGhhbmRsZXIgbWF5IGJlY29tZSBuZWNlc3NhcnkuDQpCdXQg dGhhdCBjb3VsZCB0YWtlIGEgbGl0dGxlIHRpbWUuDQoNCllvdSBhcmUgcmlnaHQgYWJvdXQgaHZf c3RpbWVyX2NsZWFudXAoKSBhbmQgaHZfc3luaWNfZGlzYWJsZV9yZWdzKCkuDQpXZSBhcmUgbm90 IHJ1bm5pbmcgdGhlc2Ugd2hlbiBhIHBhbmljIG9jY3VycyBvbiBBUk02NCwgYW5kIHdlDQpzaG91 bGQgYmUsIHRob3VnaCB0aGUgcmlzayBpcyBzbWFsbC4gICBXZSB3aWxsIHB1cnN1ZSAoYikgYW5k IGFkZA0KdGhlc2UgYWRkaXRpb25hbCBjbGVhbnVwcyBhcyBwYXJ0IG9mIHRoYXQuICBCdXQgYWdh aW4sIEkgd291bGQgc3VnZ2VzdA0KZG9pbmcgKGEpIGZvciBub3csIGFuZCB3ZSB3aWxsIHN3aXRj aCBiYWNrIHRvIHlvdXIgc29sdXRpb24gb25jZQ0KKGIpIGlzIGluIHBsYWNlLg0KDQo+IA0KPiA+ Pg0KPiA+PiAoYykgVGhlcmUgaXMgYWxzbyBhIEh5cGVyLVYgZnJhbWVidWZmZXIgcGFuaWMgbm90 aWZpZXIsIHdoaWNoIHJlbGllcyBpbg0KPiA+PiBkb2luZyBhIHZtYnVzIG9wZXJhdGlvbiB0aGF0 IGRlbWFuZHMgYSB2YWxpZCBjb25uZWN0aW9uLiBTbywgd2UgbXVzdA0KPiA+PiBvcmRlciB0aGlz IG5vdGlmaWVyIHdpdGggdGhlIHBhbmljIG5vdGlmaWVyIGZyb20gdm1idXNfZHJ2LmMsIGluIG9y ZGVyIHRvDQo+ID4+IGd1YXJhbnRlZSB0aGF0IHRoZSBmcmFtZWJ1ZmZlciBjb2RlIGV4ZWN1dGVz IGJlZm9yZSB0aGUgdm1idXMgY29ubmVjdGlvbg0KPiA+PiBpcyB1bmxvYWRlZC4NCj4gPg0KPiA+ IFBhdGNoIDIxIG9mIHRoaXMgc2V0IHB1dHMgdGhlIEh5cGVyLVYgRkIgcGFuaWMgbm90aWZpZXIg b24gdGhlIHByZV9yZWJvb3QNCj4gPiBub3RpZmllciBsaXN0LCB3aGljaCBtZWFucyBpdCB3b24n dCBleGVjdXRlIGJlZm9yZSB0aGUgVk1idXMgY29ubmVjdGlvbg0KPiA+IHVubG9hZCBpbiB0aGUg Y2FzZSBvZiBrZHVtcC4gICBUaGlzIG5vdGlmaWVyIGlzIG1ha2luZyBzdXJlIHRoYXQgSHlwZXIt Vg0KPiA+IGlzIG5vdGlmaWVkIGFib3V0IHRoZSBsYXN0IHVwZGF0ZXMgbWFkZSB0byB0aGUgZnJh bWUgYnVmZmVyIGJlZm9yZSB0aGUNCj4gPiBwYW5pYywgc28gbWF5YmUgaXQgbmVlZHMgdG8gYmUg cHV0IG9uIHRoZSBoeXBlcnZpc29yIG5vdGlmaWVyIGxpc3QuICBJdA0KPiA+IHNlbmRzIGEgbWVz c2FnZSB0byBIeXBlci1WIG92ZXIgaXRzIGV4aXN0aW5nIFZNYnVzIGNoYW5uZWwsIGJ1dCBpdA0K PiA+IGRvZXMgbm90IHdhaXQgZm9yIGEgcmVwbHkuICBJdCBkb2VzLCBob3dldmVyLCBvYnRhaW4g YSBzcGluIGxvY2sgb24gdGhlDQo+ID4gcmluZyBidWZmZXIgdXNlZCB0byBjb21tdW5pY2F0ZSB3 aXRoIEh5cGVyLVYuICAgVW5sZXNzIHNvbWVvbmUgaGFzDQo+ID4gYSBiZXR0ZXIgc3VnZ2VzdGlv biwgSSdtIGluY2xpbmVkIHRvIHRha2UgdGhlIHJpc2sgb2YgYmxvY2tpbmcgb24gdGhhdA0KPiA+ IHNwaW4gbG9jay4NCj4gDQo+IFRoZSBsb2dpYyBiZWhpbmQgdGhhdCB3YXM6IHdoZW4ga2R1bXAg aXMgc2V0LCB3ZSdkIHNraXAgdGhlIHZtYnVzDQo+IGRpc2Nvbm5lY3Qgb24gbm90aWZpZXJzLCBk ZWZlcnJpbmcgdGhhdCB0byBjcmFzaF9zaHV0ZG93bigpLCBsb2dpYyB0aGlzDQo+IG9uZSByZWZ1 dGVkIGluIHRoZSBhYm92ZSBkaXNjdXNzaW9uIG9uIEFSTTY0IChvbmUgbW9yZSBQcm8gYXJndW1l bnQgdG8NCj4gdGhlIGlkZWEgb2YgcmVmYWN0b3JpbmcgYWFyY2g2NCBjb2RlIHRvIGFsbG93IGEg Y3VzdG9tIGNyYXNoIHNodXRkb3duDQo+IGhhbmRsZXIgaGVoKS4gQnV0IHlvdSdyZSByaWdodCwg Zm9yIHRoZSBkZWZhdWx0IGxldmVsIDIsIHdlIHNraXAgdGhlDQo+IHByZV9yZWJvb3Qgbm90aWZp ZXJzIG9uIGtkdW1wLCBlZmZlY3RpdmVseSBza2lwcGluZyB0aGlzIG5vdGlmaWVyLg0KPiANCj4g U29tZSBpZGVhcyBvZiB3aGF0IHdlIGNhbiBkbyBoZXJlOg0KPiANCj4gSSkgd2UgY291bGQgY2hh bmdlIHRoZSBmcmFtZWJ1ZmZlciBub3RpZmllciB0byByZWx5IG9uIHRyeWxvY2tzLCBpbnN0ZWFk DQo+IG9mIHJpc2tpbmcgYSBsb2NrdXAgc2NlbmFyaW8sIGFuZCB3aXRoIHRoYXQsIHdlIGNhbiBl eGVjdXRlIGl0IGJlZm9yZQ0KPiB0aGUgdm1idXMgZGlzY29ubmVjdCBpbiB0aGUgaHlwZXJ2aXNv ciBsaXN0Ow0KDQpJIHRoaW5rIHdlIGhhdmUgdG8gZG8gdGhpcyBhcHByb2FjaCBmb3Igbm93Lg0K DQo+IA0KPiBJSSkgd2UgaWdub3JlIHRoZSBoeXBlcnZpc29yIG5vdGlmaWVyIGluIGNhc2Ugb2Yg a2R1bXAgX2J5IGRlZmF1bHRfLCBhbmQNCj4gaWYgdGhlIHVzZXJzIGRvbid0IHdhbnQgdGhhdCwg dGhleSBjYW4gYWx3YXlzIHNldCB0aGUgcGFuaWMgbm90aWZpZXINCj4gbGV2ZWwgdG8gNCBhbmQg cnVuIGFsbCBub3RpZmllcnMgcHJpb3IgdG8ga2R1bXA7IHdvdWxkIHRoYXQgYmUgdGVycmlibGUN Cj4geW91IHRoaW5rPyBLZHVtcCB1c2VycyBtaWdodCBkb24ndCBjYXJlIGFib3V0IHRoZSBmcmFt ZWJ1ZmZlci4uLg0KPiANCj4gSUlJKSB3ZSBnbyB3aXRoIGFwcHJvYWNoIChiKSBhYm92ZSBhbmQg cmVmYWN0b3IgYXJtNjQgY29kZSB0byBhbGxvdyB0aGUNCj4gY3VzdG9tIGNyYXNoIGhhbmRsZXIg b24ga2R1bXAgdGltZSwgdGhlbiBbd2l0aCBwb2ludCAoSSkgYWJvdmVdIHRoZQ0KPiBsb2dpYyBw cm9wb3NlZCBpbiB0aGlzIHNlcmllcyBpcyBzdGlsbCB2YWxpZCAtIHNlZW1zIG1vcmUgYW5kIG1v cmUgdGhlDQo+IG1vc3QgY29ycmVjdC9jb21wbGV0ZSBzb2x1dGlvbi4NCg0KQnV0IGV2ZW4gd2hl bi9pZiB3ZSBnZXQgYXBwcm9hY2ggKGIpIGltcGxlbWVudGVkLCBoYXZpbmcgdGhlDQpmcmFtZWJ1 ZmZlciBub3RpZmllciBvbiB0aGUgcHJlX3JlYm9vdCBsaXN0IGlzIHN0aWxsIHRvbyBsYXRlIHdp dGggdGhlDQpkZWZhdWx0IG9mIHBhbmljX25vdGlmaWVyX2xldmVsID0gMi4gIFRoZSBrZHVtcCBw YXRoIHdpbGwgcmVzZXQgdGhlDQpWTWJ1cyBjb25uZWN0aW9uIGFuZCB0aGVuIHRoZSBmcmFtZWJ1 ZmZlciBub3RpZmllciB3b24ndCB3b3JrLg0KDQo+IA0KPiBJbiBhbnkgY2FzZSwgSSBndWVzcyB3 ZSBzaG91bGQgYXZvaWQgd29ya2Fyb3VuZHMgaWYgcG9zc2libGUgYW5kIGRvIHRoZQ0KPiB0aGlu Z3MgdGhlIGJlc3Qgd2F5IHdlIGNhbiwgdG8gZW5jb21wYXNzIGFsbCAob3IgYWxtb3N0IGFsbCkg dGhlDQo+IHBvc3NpYmxlIHNjZW5hcmlvcyBhbmQgZG9uJ3QgZm9yY2UgdGhpbmdzIG9uIHVzZXJz IChsaWtlIGVuZm9yY2luZyBwYW5pYw0KPiBub3RpZmllciBsZXZlbCA0IGZvciBIeXBlci1WIG9y IHNvbWV0aGluZyBsaWtlIHRoaXMuLi4pDQo+IA0KPiBNb3JlIGZlZWRiYWNrIGZyb20geW91IC8g SHlwZXItViBmb2xrcyBpcyBwcmV0dHkgd2VsY29tZSBhYm91dCB0aGlzLg0KPiANCj4gDQo+ID4N Cj4gPj4gWy4uLl0NCj4gPiBUaGUgIkZpeGVzOiIgdGFncyBpbXBseSB0aGF0IHRoZXNlIGNoYW5n ZXMgc2hvdWxkIGJlIGJhY2twb3J0ZWQgdG8gb2xkZXINCj4gPiBsb25ndGVybSBrZXJuZWwgdmVy c2lvbnMsIHdoaWNoIEkgZG9uJ3QgdGhpbmsgaXMgdGhlIGNhc2UuICBUaGVyZSBpcyBhDQo+ID4g ZGVwZW5kZW5jeSBvbiBQYXRjaCAxNCBvZiB5b3VyIHNlcmllcyB3aGVyZSBQQU5JQ19OT1RJRklF UiBpcw0KPiA+IGludHJvZHVjZWQuDQo+ID4NCj4gDQo+IE9oLCB0aGlzIHdhcyBtb3JlIHJlbGF0 ZWQgd2l0aCBhcmNoZW9sb2d5IG9mIHRoZSBrZXJuZWwuIFdoZW4gSSdtDQo+IGludmVzdGlnYXRp bmcgc3R1ZmYsIEkgcmVhbGx5IHdhbnQgdG8gdW5kZXJzdGFuZCB3aHkgY29kZSB3YXMgYWRkZWQg YW5kDQo+IHRoYXQgdXN1YWxseSByZXF1aXJlIHNvbWUgdGltZSBnaXQgYmxhbWluZyBzdHVmZiwg c28gaGF2aW5nIHRoYXQgcHJvbnRvDQo+IGluIHRoZSBjb21taXQgbWVzc2FnZSBpcyBhIGJvbnVz Lg0KPiANCj4gQnV0IG9mIGNvdXJzZSB3ZSBkb24ndCBuZWVkIHRvIHVzZSB0aGUgRml4ZXMgdGFn IGZvciB0aGF0LCBlYXN5IHRvIG9ubHkNCj4gbWVudGlvbiBpdCBpbiB0aGUgdGV4dC4gQSBzZWNv bmRhcnkgYmVuZWZpdCBieSB1c2luZyB0aGlzIHRhZyBpcyB0bw0KPiBpbmRpY2F0ZSB0aGlzIGlz IGEgX3JlYWwgZml4XyB0byBzb21lIGNvZGUsIGFuZCBub3QgYW4gaW1wcm92ZW1lbnQsIGJ1dA0K PiBhcyB5b3Ugc2F5LCBJIGFncmVlIHdlIHNob3VsZG4ndCBiYWNrcG9ydCBpdCB0byBwcmV2aW91 cyByZWxlYXNlcyBoYXZpbmcNCj4gb3Igbm90IHRoZSBGaXhlcyB0YWcgKEFGQUlLIGl0J3Mgbm90 IG1hbmRhdG9yeSB0byBiYWNrcG9ydCBzdHVmZiB3aXRoDQo+IEZpeGVzIHRhZykuDQo+IA0KPiAN Cj4gPj4gWy4uLl0NCj4gPj4gKyAqIGludHJpbmNhdGVkIGlzIHRoZSByZWxhdGlvbiBvZiB0aGlz IG5vdGlmaWVyIHdpdGggSHlwZXItViBmcmFtZWJ1ZmZlcg0KPiA+DQo+ID4gcy9pbnRyaW5jYXRl ZC9pbnRyaWNhdGUvDQo+IA0KPiBUaGFua3MsIGZpeGVkIGluIFYyIQ0KPiANCj4gDQo+ID4NCj4g Pj4gWy4uLl0NCj4gPj4gK3N0YXRpYyBpbnQgaHZfcGFuaWNfdm1idXNfdW5sb2FkKHN0cnVjdCBu b3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgdmFsLA0KPiA+PiAgCQkJICAgICAgdm9p ZCAqYXJncykNCj4gPj4gK3sNCj4gPj4gKwlpZiAoIWtleGVjX2NyYXNoX2xvYWRlZCgpKQ0KPiA+ DQo+ID4gSSdtIG5vdCBjbGVhciBvbiB0aGUgcHVycG9zZSBvZiB0aGlzIGNvbmRpdGlvbi4gIEkg dGhpbmsgaXQgbWVhbnMNCj4gPiB3ZSB3aWxsIHNraXAgdGhlIHZtYnVzX2luaXRpYXRlX3VubG9h ZCgpIGlmIGEgcGFuaWMgb2NjdXJzIGluIHRoZQ0KPiA+IGtkdW1wIGtlcm5lbC4gIElzIHRoZXJl IGEgcmVhc29uIGEgcGFuaWMgaW4gdGhlIGtkdW1wIGtlcm5lbA0KPiA+IHNob3VsZCBiZSB0cmVh dGVkIGRpZmZlcmVudGx5PyAgT3IgYW0gSSBtaXN1bmRlcnN0YW5kaW5nPw0KPiANCj4gVGhpcyBp cyByZWFsbHkgcmVsYXRlZCB3aXRoIHRoZSBwb2ludCBkaXNjdXNzZWQgaW4gdGhlIHRvcCBvZiB0 aGlzDQo+IHJlc3BvbnNlIC0gSSBhc3N1bWVkIGJvdGggQVJNNjQveDg2XzY0IHdvdWxkIGJlaGF2 ZSB0aGUgc2FtZSBhbmQNCj4gZGlzY29ubmVjdCB0aGUgdm1idXMgdGhyb3VnaCB0aGUgY3VzdG9t IGNyYXNoIGhhbmRsZXIgd2hlbiBrZHVtcCBpcyBzZXQsDQo+IHNvIHdvcnRoIHNraXBwaW5nIGl0 IGhlcmUgaW4gdGhlIG5vdGlmaWVyLiBCdXQgdGhhdCdzIG5vdCB0cnVlIGZvciBBUk02NA0KPiBh cyB5b3UgcG9pbnRlZCwgc28gdGhpcyBndWFyZCBhZ2FpbnN0IGtleGVjIGlzIHJlYWxseSBwYXJ0 IG9mIHRoZQ0KPiBkZWNpc2lvbi9kaXNjdXNzaW9uIG9uIHdoYXQgdG8gZG8gd2l0aCBBUk02NCBo ZWgNCg0KQnV0IG5vdGUgdGhhdCB2bWJ1c19pbml0aWF0ZV91bmxvYWQoKSBhbHJlYWR5IGhhcyBh IGd1YXJkIGJ1aWx0LWluLg0KSWYgdGhlIGludGVudCBvZiB0aGlzIHRlc3QgaXMganVzdCBhcyBh IGd1YXJkIGFnYWluc3QgcnVubmluZyB0d2ljZSwNCnRoZW4gaXQgaXNuJ3QgbmVlZGVkLg0KDQo+ IA0KPiBDaGVlcnMhDQo= 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 lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (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 57B32C433EF for ; Tue, 3 May 2022 22:21:28 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4KtDvV6F64z3cJc for ; Wed, 4 May 2022 08:21:26 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=microsoft.com header.i=@microsoft.com header.a=rsa-sha256 header.s=selector2 header.b=N8b4zUYe; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=microsoft.com (client-ip=2a01:111:f403:c111::; helo=na01-obe.outbound.protection.outlook.com; envelope-from=mikelley@microsoft.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=microsoft.com header.i=@microsoft.com header.a=rsa-sha256 header.s=selector2 header.b=N8b4zUYe; dkim-atps=neutral Received: from na01-obe.outbound.protection.outlook.com (mail-cusazlp170100000.outbound.protection.outlook.com [IPv6:2a01:111:f403:c111::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4Kt7QR0MpGz3bcQ for ; Wed, 4 May 2022 04:14:21 +1000 (AEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=he4GrjUJs+pbbWOQAVUF9nF+ZBMO4NsBCGINPa3zG0Bz1QzGye7Hk6i58aQzP3Blsk4b3K481euJuFtVdA2Zl8Y9mhnDmx4UXp3nDA+I9uaN0WjUXEvwqxyunj30uyFdLPvsh9QNCwG5izqZo+EK0KzoTtamKSkqRqHzvoVQurdi/xURo6vL0AtXF6EhXCNcLLW4aPu7HrQvw+xU2zbD/dD/frLKp7O3y+bzOKLeBqXNtsEsnaWHIUMmyPLivm3BGEnNiyZpnm/0uTsvEZ6C6Plz7pX/bbiWmLQuAfY6WUyxI/e9r/KBnxIFktKIoSecveRqgN64wh8mo4s0A8CH4A== 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=uHdWyr/lQ4oMAILHgYnTcyVdhz+H5tpb/ZbxMPdRznY=; b=Z8Q7zSE2FHB3mX9406scaZ7L/J5DU+5rZWfUrzWaCXcLS/K/Bms05PaCHEzN2F0GO7mbO6MP/3efMdcYTEEe6qc6Zsvo2EtFOPVsWEPlAvCGrkAh+cFw5roduWkgm8+olQJb+7ki2gL4oCfx5PGOE4yNt+SwPcn5h9gLzy86+3AHBjA6HCldqjdgt7TTYQ8wvJjH4tT01cap8x/HBDfBqMP1s1hw6+naeoy1L5qe3eXoSLNH9T1uTOMsGhvGrZM99GizzxF42pM4Xn/M5rWCreeHz3I/LVKPYt0pTXJYbtmxmNqft5UKqxvNh52cg/eUbLZXIi8dpy/iPrIu+ZR2bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uHdWyr/lQ4oMAILHgYnTcyVdhz+H5tpb/ZbxMPdRznY=; b=N8b4zUYeoSjVoBnIOHZk9x7r326uVrpKbKzx6XXMOIrzFUAHQx5Vf0lGVGrXZlrXWa6AW+P6rzthVyShps/A6r3TZdabpgEBaTS9lCeVdBHNNE//vXD9jQ0tGm9xQNx3bTBkWGRMD+GYCBn7m/MbMeekivw2v/V0MngTJJcvwwM= Received: from PH0PR21MB3025.namprd21.prod.outlook.com (2603:10b6:510:d2::21) by PH7PR21MB3140.namprd21.prod.outlook.com (2603:10b6:510:1d4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.6; Tue, 3 May 2022 18:13:52 +0000 Received: from PH0PR21MB3025.namprd21.prod.outlook.com ([fe80::dd77:2d4d:329e:87df]) by PH0PR21MB3025.namprd21.prod.outlook.com ([fe80::dd77:2d4d:329e:87df%5]) with mapi id 15.20.5250.006; Tue, 3 May 2022 18:13:52 +0000 From: "Michael Kelley (LINUX)" To: "Guilherme G. Piccoli" , "akpm@linux-foundation.org" , "bhe@redhat.com" , "pmladek@suse.com" , "kexec@lists.infradead.org" Subject: RE: [PATCH 16/30] drivers/hv/vmbus, video/hyperv_fb: Untangle and refactor Hyper-V panic notifiers Thread-Topic: [PATCH 16/30] drivers/hv/vmbus, video/hyperv_fb: Untangle and refactor Hyper-V panic notifiers Thread-Index: AQHYWonHTKAKlsJlK0mi6B2rKp5WnK0HF4GAgABmLoCABfgOgA== Date: Tue, 3 May 2022 18:13:52 +0000 Message-ID: References: <20220427224924.592546-1-gpiccoli@igalia.com> <20220427224924.592546-17-gpiccoli@igalia.com> <2787b476-6366-1c83-db80-0393da417497@igalia.com> In-Reply-To: <2787b476-6366-1c83-db80-0393da417497@igalia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=b41f9d07-1c9e-45a3-8ea4-5e837b666291; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-05-03T17:44:15Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 40ac3dec-95e5-41bb-b783-08da2d30adb3 x-ms-traffictypediagnostic: PH7PR21MB3140:EE_ x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FnIu9JpCdSU0bQtZUV5dEj7PTdHFP+LtwhgAsFHYKotKFZawzkNh1lUKYQokTK/oCA2oTWbBewVD72G73c3XzAhVtFhiLcEIRL5qdiF/xtEroSX1oj54Gq2PNnlzvUiCrd5TgrPM8LLQol7Wv8rD+kp4HyGQqXAFjMMN/Q2b4ZnVWNQ00/Vk5ypMiLQC/Ge/LCjSKneNG1xvmc2w9eX5SQ+/NyoLbnPryEqqBn7XuhMGDPslUzBOCcBN9YzUH68DS3hVF/Y5YhZtptZAZl2fTODZaJ2OwlykQp2I7Y6oG604LaPSsD0WPRmfpuaxoaOJIBdg0z+sdf+ubxmrC2Lr6MC6CrHAYG2L9kYqxZ4TqUtfoYZe7iudHWuxS69IuDr6iBZqdpgoDeHt3w3VzP9WxgI8jPwJCQwQv1mBZQJmhCbOFyKbCW388TQmxGJBM+r/qP9RJnhIgeQ5lWNdHZQKBsJxXz9+WhNGVkCgDdXgrY8MH9TQ2Sf3xIRTrK1LLXk+zeEbeaxHdfl56bAKPB5NuJiRqc1btjZYZQk16htM9PY07KltFPdC2rrMXk7odT8u+eVy+MBlh+KWuBEiY95z+g0uDfcC050kDJa8XsOULxaq6Wf52amSPQlpcL9dg6HDsB0YS1ka7dqVfJuoxshV5S/Ebu1mJvmoKPDJAT4s5+acqoljARobFpoBsZLvfqrvHnUWSvRY+07fOtsxPKpPoCJ8/mvijdRVVId+MDSBmoOuSdmutfrJNctuNoWS/Afw x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR21MB3025.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(451199009)(7366002)(10290500003)(5660300002)(508600001)(52536014)(7416002)(8936002)(9686003)(26005)(122000001)(71200400001)(7406005)(38070700005)(38100700002)(66556008)(86362001)(53546011)(76116006)(7696005)(110136005)(8676002)(66446008)(66476007)(64756008)(4326008)(6506007)(54906003)(66946007)(82950400001)(82960400001)(2906002)(186003)(55016003)(316002)(83380400001)(8990500004)(33656002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NDhJRGpJaGwrNTR3ZDdabHBaaGZVMTUvb1hqVWwrclBlK0wrMzIzQmRXWlVN?= =?utf-8?B?RFB5cC91SGNPZ09CQ1RhWDZEbDBnZHI5d29CRFFlb2ZRdzYyZ3ViV2VmWVZS?= =?utf-8?B?L1NqZ3hyM3BTTW9YT2pQZFBtUVN1SmFERjM4Sk5qT2RlbkVQWU55bGJLZ3FE?= =?utf-8?B?TmJyZmV4VHJ3MjQvV212REJjTDJlMHZabGZ1RWtUUHpnUGVOUlNya2lNZHpR?= =?utf-8?B?V3lzZm1nb1FDZVR3Z3JmUVZPTEVEYkZCSUVjUVhpbU1QRkpwWEVOK2NzRU8v?= =?utf-8?B?Y0hSN0toQWFJRFFrVXZJR2tlZUtnd3JmOTVObnJla0NLSVE2Y1haRTlEd3Vw?= =?utf-8?B?eVUveFhjVWMybVE4V2FHZWNDdzY3d3habUZMcndIK21GdHp3Wmw3RWFMTEtu?= =?utf-8?B?NURSWU5UY28xbzdYL1hINmtEdUZGd210MTFSVGVvVWFnMnJwT3YxVDJCa1dK?= =?utf-8?B?cm8ra2ppeHdnalJnRDM5aU8zZFBjMEoyZXhUU3ZTZ05vSFZOT1hHTFFGOXNB?= =?utf-8?B?U1BaVXFxOGRhTWRadnZ4YW5yYWFrZU5oWlJ5N0xvb05ZU0JtSW9ZdE1hVmRy?= =?utf-8?B?RXpGS3h5a2JkYkJEbW0wcVF2eWZtSVpsTVF1MnJ0dUxqTEdFY1htaThXY0g4?= =?utf-8?B?T0QzODZMQVB1ejl4b3ZOWHA4TDErbWxzNFpjOVNqNjUrbGJVVGpieS9SV2pS?= =?utf-8?B?VFZPU1ErQXlFbTZZek45Nk5WZVF5eThLQUk1bmxSMUxyeDgwUjFJMHQwQkc1?= =?utf-8?B?QmdSVjFyQ1p3RzV0SDRCTjhKdzFwdU5Ec0M0SDV4M2JBbHJxRXJhRm1IaW9E?= =?utf-8?B?bHF5WHlCczd3bU9VeXhERGw0L21jalFmOGxBTHhBWEhiT3pIMU5zb0FkZDNi?= =?utf-8?B?QUZGUEFoSjRiNUx4ZUxoekRZeHhwRmd5R3lSOTNJNVhXbzYvaTVCOFU1M0NY?= =?utf-8?B?YUtiWXZuQlJDcnYzWUVDRURpWmYxb0ppaXN6cWU2L1U4YzBFNGdXQ0FJWHNU?= =?utf-8?B?WlBkTjdzSFc4Sk1QSEYwMERjY0xnSGpUVTdhMmJqV3ZQYVYyN1dBT0pzNVVL?= =?utf-8?B?OHQ1QXg5VXJic3p1WHdDc2xKRklMOUk2KzRYTmMvWHBDQ3B6d2hLSVkxRm9M?= =?utf-8?B?aWtCaktiYWx4blJGVjQxV3dJczBSTzQzNVNMYVdWZTJpUG5GVUJWV2RNTHNI?= =?utf-8?B?bk5hRlJNVmZFOENOVk1nOVVDMldvcUlGRzVMR0dCNnBRVDBySVNvWVZrUnFG?= =?utf-8?B?SFMrVVh6SW9VVWZ0N2pUNDFiRStHaVNiVkZJZGJSQ2c5aERqRnBuZDg1T3dy?= =?utf-8?B?dDhKdngyWFZBSGtUS2lacmlPYWJDay9LYkFNc0JZM1JNSmRSQ2hjeGRqa1pj?= =?utf-8?B?eFI5S2s1MkcwOEI4dWFjU1ordnlCM0IrQnhycWJWYVEwVXVLTVIyeGJabGhJ?= =?utf-8?B?N1YvTkhWNVlBUXVyaUF2UkZ0ZnlvdEhxbEJWU3FsMTM1Sjc4QWxQdy8xNVMw?= =?utf-8?B?K05NazBSdkV6VjllUllTdzFUK2k0NExGSlpVbkcyUVBqSjEwS3lpYVBucGd5?= =?utf-8?B?eXZiM3ZaMjM5OTF1S3JNYmY0SXlmQ2RiODNZY1Npd3JXcGxOTW03a1YycFN3?= =?utf-8?B?V3UydCt4NkxEWWhxMFh0YjNLWElJdHRablBrVzdPZDM5azBYQm5RNUxnbHNV?= =?utf-8?B?eVhKdDIxSHl5d01DZEp1emFCK3VOM2VKekF1Y2w3N0gwTHVnZmNXVUtrL2M4?= =?utf-8?B?UXlSc0YybWxncEVJZVNBNXkxWEVhcForc3Y5TGJZUjNsNEwwcWlPaTJjME44?= =?utf-8?B?VjJ1K25uQmZ0RGtMaHIrb0oxQnJ1Sm9vMGdTd1RxVklDcFoveHcybkxlOTJ3?= =?utf-8?B?eXhvWkRySEx5WlBmcG5KdEtBalZrcHNwMXZwbWJnYUpHU1dsT3ltMFgzRVd3?= =?utf-8?B?Nk03eEZHOWRRUkIvYVZXZGJTdXJibnpvcHpuby9ESThJTGNKVTFjYkxQQWlK?= =?utf-8?B?VlBVcVI5VmtYYms2bFF5cFl0WUFoOW9YOFNkZTh1bG5DQlJoWkJNQ0g0VU5B?= =?utf-8?B?M2RHRW1CNEtFRnFaVkhSN2p1UnVFczFpdHRYQ3JadnZoSzJyZFlqKzl2SlJO?= =?utf-8?B?VWpDVGlDSVdmbTJIOWNVa3hMMm9vMHFVOTQvSng0RG9HWEgvdTN0VkdtUFcr?= =?utf-8?B?amE1NWRNWUlMeUJKQk40aU9pUGRrU1E0SmxZTTdRMWh4RUhFOVpkR2hTRXps?= =?utf-8?B?aDRxeUdKbHJTc281c0hObXdkbCt2TFE1aHVES0VBczgwMjE2b0pqYmVOUTNv?= =?utf-8?B?VnVaZlRiTmpjQWVUeE00V0p5cERtUWpuVFU4YVFOd1V3ZHY5SGJqRXNYLzhW?= =?utf-8?Q?teI2zGknLdIGYpMk=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR21MB3025.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40ac3dec-95e5-41bb-b783-08da2d30adb3 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 May 2022 18:13:52.1349 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4ui4kPv1QwwCeWcwraRIbiZaeFVEkUzs/5EQ9xwdazJ0cXTpmhELoQLf2pdHck77pdCw8h9HzCi86jIk8NpF5JK+JkBkOskELkyDCBUt8k0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR21MB3140 X-Mailman-Approved-At: Wed, 04 May 2022 08:18:47 +1000 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "linux-hyperv@vger.kernel.org" , "halves@canonical.com" , "gregkh@linuxfoundation.org" , "peterz@infradead.org" , "alejandro.j.jimenez@oracle.com" , "linux-remoteproc@vger.kernel.org" , "feng.tang@intel.com" , "linux-mips@vger.kernel.org" , "hidehiro.kawai.ez@hitachi.com" , "sparclinux@vger.kernel.org" , KY Srinivasan , "will@kernel.org" , "tglx@linutronix.de" , "linux-leds@vger.kernel.org" , "linux-s390@vger.kernel.org" , Wei Liu , Stephen Hemminger , "john.ogness@linutronix.de" , "corbet@lwn.net" , "paulmck@kernel.org" , "fabiomirmar@gmail.com" , "x86@kernel.org" , Dexuan Cui , "mingo@redhat.com" , "bcm-kernel-feedback-list@broadcom.com" , "xen-devel@lists.xenproject.org" , "dyoung@redhat.com" , "vgoyal@redhat.com" , Andrea Parri , "linux-xtensa@linux-xtensa.org" , "dave.hansen@linux.intel.com" , Tianyu Lan , "keescook@chromium.org" , "arnd@arndb.de" , "linux-pm@vger.kernel.org" , Haiyang Zhang , "linux-um@lists.infradead.org" , "rostedt@goodmis.org" , "rcu@vger.kernel.org" , "bp@alien8.de" , "luto@kernel.org" , "linux-tegra@vger.kernel.org" , "openipmi-developer@lists.sourceforge.net" , "andriy.shevchenko@linux.intel.com" , "linux-arm-kernel@lists.infradead.org" , "linux-edac@vger.kernel.org" , "jgross@suse.com" , "linux-parisc@vger.kernel.org" , "netdev@vger.kernel.org" , "kernel@gpiccoli.net" , "linux-kernel@vger.kernel.org" , "stern@rowland.harvard.edu" , "senozhatsky@chromium.org" , "d.hatayama@jp.fujitsu.com" , "mhiramat@kernel.org" , "kernel-dev@igalia.com" , "linux-alpha@vger.kernel.org" , vkuznets , "linuxppc-dev@lists.ozlabs.org" Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" RnJvbTogR3VpbGhlcm1lIEcuIFBpY2NvbGkgPGdwaWNjb2xpQGlnYWxpYS5jb20+IFNlbnQ6IEZy aWRheSwgQXByaWwgMjksIDIwMjIgMzozNSBQTQ0KPiANCj4gSGkgTWljaGFlbCwgZmlyc3Qgb2Yg YWxsIHRoYW5rcyBmb3IgdGhlIGdyZWF0IHJldmlldywgbXVjaCBhcHByZWNpYXRlZC4NCj4gU29t ZSBjb21tZW50cyBpbmxpbmUgYmVsb3c6DQo+IA0KPiBPbiAyOS8wNC8yMDIyIDE0OjE2LCBNaWNo YWVsIEtlbGxleSAoTElOVVgpIHdyb3RlOg0KPiA+IFsuLi5dDQo+ID4+IGh5cGVydmlzb3IgSS9P IGNvbXBsZXRpb24pLCBzbyB3ZSBwb3N0cG9uZSB0aGF0IHRvIHJ1biBsYXRlLiBCdXQgbW9yZQ0K PiA+PiByZWxldmFudDogdGhpcyAqc2FtZSogdm1idXMgdW5sb2FkaW5nIGhhcHBlbnMgaW4gdGhl IGNyYXNoX3NodXRkb3duKCkNCj4gPj4gaGFuZGxlciwgc28gaWYga2R1bXAgaXMgc2V0LCB3ZSBj YW4gc2FmZWx5IHNraXAgdGhpcyBwYW5pYyBub3RpZmllciBhbmQNCj4gPj4gZGVmZXIgc3VjaCBj bGVhbi11cCB0byB0aGUga2V4ZWMgY3Jhc2ggaGFuZGxlci4NCj4gPg0KPiA+IFdoaWxlIHRoZSBs YXN0IHNlbnRlbmNlIGlzIHRydWUgZm9yIEh5cGVyLVYgb24geDg2L3g2NCwgaXQncyBub3QgdHJ1 ZSBmb3INCj4gPiBIeXBlci1WIG9uIEFSTTY0LiAgeDg2L3g2NCBoYXMgdGhlICdtYWNoaW5lX29w cycgZGF0YSBzdHJ1Y3R1cmUNCj4gPiB3aXRoIHRoZSBhYmlsaXR5IHRvIHByb3ZpZGUgYSBjdXN0 b20gY3Jhc2hfc2h1dGRvd24oKSBmdW5jdGlvbiwgd2hpY2gNCj4gPiBIeXBlci1WIGRvZXMgaW4g dGhlIGZvcm0gb2YgaHZfbWFjaGluZV9jcmFzaF9zaHV0ZG93bigpLiAgQnV0IEFSTTY0DQo+ID4g aGFzIG5vIG1lY2hhbmlzbSB0byBwcm92aWRlIHN1Y2ggYSBjdXN0b20gZnVuY3Rpb24gdGhhdCB3 aWxsIGV2ZW50dWFsbHkNCj4gPiBkbyB0aGUgbmVlZGVkIHZtYnVzX2luaXRpYXRlX3VubG9hZCgp IGJlZm9yZSBydW5uaW5nIGtkdW1wLg0KPiA+DQo+ID4gSSdtIG5vdCBpbW1lZGlhdGVseSBzdXJl IHdoYXQgdGhlIGJlc3Qgc29sdXRpb24gaXMgZm9yIEFSTTY0LiAgQXQgdGhpcw0KPiA+IHBvaW50 LCBJJ20ganVzdCBwb2ludGluZyBvdXQgdGhlIHByb2JsZW0gYW5kIHdpbGwgdGhpbmsgYWJvdXQg dGhlIHRyYWRlb2Zmcw0KPiA+IGZvciB2YXJpb3VzIHBvc3NpYmxlIHNvbHV0aW9ucy4gIFBsZWFz ZSBkbyB0aGUgc2FtZSB5b3Vyc2VsZi4gOi0pDQo+ID4NCj4gDQo+IE9oLCB5b3UncmUgdG90YWxs eSByaWdodCEgSSBqdXN0IGFzc3VtZWQgQVJNNjQgd291bGQgdGhlIHRoZSBzYW1lLCBteQ0KPiBi YWQuIEp1c3QgdG8gcHJvcG9zZSBzb21lIGFsdGVybmF0aXZlcywgc28geW91L290aGVycyBjYW4g YWxzbyBkaXNjdXNzDQo+IGhlcmUgYW5kIHdlIGNhbiByZWFjaCBhIGNvbnNlbnN1cyBhYm91dCB0 aGUgdHJhZGUtb2ZmczoNCj4gDQo+IChhKSBXZSBjb3VsZCBmb3JnZXQgYWJvdXQgdGhpcyBjaGFu Z2UsIGFuZCBhbHdheXMgZG8gdGhlIGNsZWFuLXVwIGhlcmUsDQo+IG5vdCByZWx5aW5nIGluIG1h Y2hpbmVfY3Jhc2hfc2h1dGRvd24oKS4NCj4gUHJvOiByZWFsbHkgc2ltcGxlLCBiZWhhdmVzIHRo ZSBzYW1lIGFzIGl0IGlzIGRvaW5nIGN1cnJlbnRseS4NCj4gQ29uOiBsZXNzIGVsZWdhbnQvY29u Y2lzZSwgZG9lc24ndCBhbGxvdyBhcm02NCBjdXN0b21pemF0aW9uLg0KPiANCj4gKGIpIEFkZCBh IHdheSB0byBhbGxvdyBBUk02NCBjdXN0b21pemF0aW9uIG9mIHNodXRkb3duIGNyYXNoIGhhbmRs ZXIuDQo+IFBybzogbWF0Y2hlcyB4ODYsIG1vcmUgY3VzdG9taXphYmxlLCBpbXByb3ZlcyBhcm02 NCBhcmNoIGNvZGUuDQo+IENvbjogQSB0YWQgbW9yZSBjb21wbGV4Lg0KPiANCj4gQWxzbywgYSBx dWVzdGlvbiB0aGF0IGNhbWUtdXA6IGlmIEFSTTY0IGhhcyBubyB3YXkgb2YgY2FsbGluZyBzcGVj aWFsDQo+IGNyYXNoIHNodXRkb3duIGhhbmRsZXIsIGhvdyBjYW4geW91IGV4ZWN1dGUgaHZfc3Rp bWVyX2NsZWFudXAoKSBhbmQNCj4gaHZfc3luaWNfZGlzYWJsZV9yZWdzKCkgdGhlcmU/IE9yIGFy ZSB0aGV5IG5vdCByZXF1aXJlZCBpbiBBUk02ND8NCj4gDQoNCk15IHN1Z2dlc3Rpb24gaXMgdG8g ZG8gKGEpIGZvciBub3cuICBJIHN1c3BlY3QgKGIpIGNvdWxkIGJlIGEgbW9yZQ0KZXh0ZW5kZWQg ZGlzY3Vzc2lvbiBhbmQgSSB3b3VsZG4ndCB3YW50IHlvdXIgcGF0Y2ggc2V0IHRvIGdldCBoZWxk DQp1cCBvbiB0aGF0IGRpc2N1c3Npb24uICBJIGRvbid0IGtub3cgd2hhdCB0aGUgc2Vuc2Ugb2Yg dGhlIEFSTTY0DQptYWludGFpbmVycyB3b3VsZCBiZSB0b3dhcmQgKGIpLiAgVGhleSBoYXZlIHRy aWVkIHRvIGF2b2lkIHBpY2tpbmcNCnVwIGNvZGUgd2FydHMgbGlrZSBoYXZlIGFjY3VtdWxhdGVk IG9uIHRoZSB4ODYveDY0IHNpZGUgb3ZlciB0aGUNCnllYXJzLCBhbmQgSSBhZ3JlZSB3aXRoIHRo YXQgZWZmb3J0LiAgQnV0IGFzIG1vcmUgYW5kIHZhcmllZA0KaHlwZXJ2aXNvcnMgYmVjb21lIGF2 YWlsYWJsZSBmb3IgQVJNNjQsIGl0IHNlZW1zIGxpa2UgYSBmcmFtZXdvcmsNCmZvciBzdXBwb3J0 aW5nIGEgY3VzdG9tIHNodXRkb3duIGhhbmRsZXIgbWF5IGJlY29tZSBuZWNlc3NhcnkuDQpCdXQg dGhhdCBjb3VsZCB0YWtlIGEgbGl0dGxlIHRpbWUuDQoNCllvdSBhcmUgcmlnaHQgYWJvdXQgaHZf c3RpbWVyX2NsZWFudXAoKSBhbmQgaHZfc3luaWNfZGlzYWJsZV9yZWdzKCkuDQpXZSBhcmUgbm90 IHJ1bm5pbmcgdGhlc2Ugd2hlbiBhIHBhbmljIG9jY3VycyBvbiBBUk02NCwgYW5kIHdlDQpzaG91 bGQgYmUsIHRob3VnaCB0aGUgcmlzayBpcyBzbWFsbC4gICBXZSB3aWxsIHB1cnN1ZSAoYikgYW5k IGFkZA0KdGhlc2UgYWRkaXRpb25hbCBjbGVhbnVwcyBhcyBwYXJ0IG9mIHRoYXQuICBCdXQgYWdh aW4sIEkgd291bGQgc3VnZ2VzdA0KZG9pbmcgKGEpIGZvciBub3csIGFuZCB3ZSB3aWxsIHN3aXRj aCBiYWNrIHRvIHlvdXIgc29sdXRpb24gb25jZQ0KKGIpIGlzIGluIHBsYWNlLg0KDQo+IA0KPiA+ Pg0KPiA+PiAoYykgVGhlcmUgaXMgYWxzbyBhIEh5cGVyLVYgZnJhbWVidWZmZXIgcGFuaWMgbm90 aWZpZXIsIHdoaWNoIHJlbGllcyBpbg0KPiA+PiBkb2luZyBhIHZtYnVzIG9wZXJhdGlvbiB0aGF0 IGRlbWFuZHMgYSB2YWxpZCBjb25uZWN0aW9uLiBTbywgd2UgbXVzdA0KPiA+PiBvcmRlciB0aGlz IG5vdGlmaWVyIHdpdGggdGhlIHBhbmljIG5vdGlmaWVyIGZyb20gdm1idXNfZHJ2LmMsIGluIG9y ZGVyIHRvDQo+ID4+IGd1YXJhbnRlZSB0aGF0IHRoZSBmcmFtZWJ1ZmZlciBjb2RlIGV4ZWN1dGVz IGJlZm9yZSB0aGUgdm1idXMgY29ubmVjdGlvbg0KPiA+PiBpcyB1bmxvYWRlZC4NCj4gPg0KPiA+ IFBhdGNoIDIxIG9mIHRoaXMgc2V0IHB1dHMgdGhlIEh5cGVyLVYgRkIgcGFuaWMgbm90aWZpZXIg b24gdGhlIHByZV9yZWJvb3QNCj4gPiBub3RpZmllciBsaXN0LCB3aGljaCBtZWFucyBpdCB3b24n dCBleGVjdXRlIGJlZm9yZSB0aGUgVk1idXMgY29ubmVjdGlvbg0KPiA+IHVubG9hZCBpbiB0aGUg Y2FzZSBvZiBrZHVtcC4gICBUaGlzIG5vdGlmaWVyIGlzIG1ha2luZyBzdXJlIHRoYXQgSHlwZXIt Vg0KPiA+IGlzIG5vdGlmaWVkIGFib3V0IHRoZSBsYXN0IHVwZGF0ZXMgbWFkZSB0byB0aGUgZnJh bWUgYnVmZmVyIGJlZm9yZSB0aGUNCj4gPiBwYW5pYywgc28gbWF5YmUgaXQgbmVlZHMgdG8gYmUg cHV0IG9uIHRoZSBoeXBlcnZpc29yIG5vdGlmaWVyIGxpc3QuICBJdA0KPiA+IHNlbmRzIGEgbWVz c2FnZSB0byBIeXBlci1WIG92ZXIgaXRzIGV4aXN0aW5nIFZNYnVzIGNoYW5uZWwsIGJ1dCBpdA0K PiA+IGRvZXMgbm90IHdhaXQgZm9yIGEgcmVwbHkuICBJdCBkb2VzLCBob3dldmVyLCBvYnRhaW4g YSBzcGluIGxvY2sgb24gdGhlDQo+ID4gcmluZyBidWZmZXIgdXNlZCB0byBjb21tdW5pY2F0ZSB3 aXRoIEh5cGVyLVYuICAgVW5sZXNzIHNvbWVvbmUgaGFzDQo+ID4gYSBiZXR0ZXIgc3VnZ2VzdGlv biwgSSdtIGluY2xpbmVkIHRvIHRha2UgdGhlIHJpc2sgb2YgYmxvY2tpbmcgb24gdGhhdA0KPiA+ IHNwaW4gbG9jay4NCj4gDQo+IFRoZSBsb2dpYyBiZWhpbmQgdGhhdCB3YXM6IHdoZW4ga2R1bXAg aXMgc2V0LCB3ZSdkIHNraXAgdGhlIHZtYnVzDQo+IGRpc2Nvbm5lY3Qgb24gbm90aWZpZXJzLCBk ZWZlcnJpbmcgdGhhdCB0byBjcmFzaF9zaHV0ZG93bigpLCBsb2dpYyB0aGlzDQo+IG9uZSByZWZ1 dGVkIGluIHRoZSBhYm92ZSBkaXNjdXNzaW9uIG9uIEFSTTY0IChvbmUgbW9yZSBQcm8gYXJndW1l bnQgdG8NCj4gdGhlIGlkZWEgb2YgcmVmYWN0b3JpbmcgYWFyY2g2NCBjb2RlIHRvIGFsbG93IGEg Y3VzdG9tIGNyYXNoIHNodXRkb3duDQo+IGhhbmRsZXIgaGVoKS4gQnV0IHlvdSdyZSByaWdodCwg Zm9yIHRoZSBkZWZhdWx0IGxldmVsIDIsIHdlIHNraXAgdGhlDQo+IHByZV9yZWJvb3Qgbm90aWZp ZXJzIG9uIGtkdW1wLCBlZmZlY3RpdmVseSBza2lwcGluZyB0aGlzIG5vdGlmaWVyLg0KPiANCj4g U29tZSBpZGVhcyBvZiB3aGF0IHdlIGNhbiBkbyBoZXJlOg0KPiANCj4gSSkgd2UgY291bGQgY2hh bmdlIHRoZSBmcmFtZWJ1ZmZlciBub3RpZmllciB0byByZWx5IG9uIHRyeWxvY2tzLCBpbnN0ZWFk DQo+IG9mIHJpc2tpbmcgYSBsb2NrdXAgc2NlbmFyaW8sIGFuZCB3aXRoIHRoYXQsIHdlIGNhbiBl eGVjdXRlIGl0IGJlZm9yZQ0KPiB0aGUgdm1idXMgZGlzY29ubmVjdCBpbiB0aGUgaHlwZXJ2aXNv ciBsaXN0Ow0KDQpJIHRoaW5rIHdlIGhhdmUgdG8gZG8gdGhpcyBhcHByb2FjaCBmb3Igbm93Lg0K DQo+IA0KPiBJSSkgd2UgaWdub3JlIHRoZSBoeXBlcnZpc29yIG5vdGlmaWVyIGluIGNhc2Ugb2Yg a2R1bXAgX2J5IGRlZmF1bHRfLCBhbmQNCj4gaWYgdGhlIHVzZXJzIGRvbid0IHdhbnQgdGhhdCwg dGhleSBjYW4gYWx3YXlzIHNldCB0aGUgcGFuaWMgbm90aWZpZXINCj4gbGV2ZWwgdG8gNCBhbmQg cnVuIGFsbCBub3RpZmllcnMgcHJpb3IgdG8ga2R1bXA7IHdvdWxkIHRoYXQgYmUgdGVycmlibGUN Cj4geW91IHRoaW5rPyBLZHVtcCB1c2VycyBtaWdodCBkb24ndCBjYXJlIGFib3V0IHRoZSBmcmFt ZWJ1ZmZlci4uLg0KPiANCj4gSUlJKSB3ZSBnbyB3aXRoIGFwcHJvYWNoIChiKSBhYm92ZSBhbmQg cmVmYWN0b3IgYXJtNjQgY29kZSB0byBhbGxvdyB0aGUNCj4gY3VzdG9tIGNyYXNoIGhhbmRsZXIg b24ga2R1bXAgdGltZSwgdGhlbiBbd2l0aCBwb2ludCAoSSkgYWJvdmVdIHRoZQ0KPiBsb2dpYyBw cm9wb3NlZCBpbiB0aGlzIHNlcmllcyBpcyBzdGlsbCB2YWxpZCAtIHNlZW1zIG1vcmUgYW5kIG1v cmUgdGhlDQo+IG1vc3QgY29ycmVjdC9jb21wbGV0ZSBzb2x1dGlvbi4NCg0KQnV0IGV2ZW4gd2hl bi9pZiB3ZSBnZXQgYXBwcm9hY2ggKGIpIGltcGxlbWVudGVkLCBoYXZpbmcgdGhlDQpmcmFtZWJ1 ZmZlciBub3RpZmllciBvbiB0aGUgcHJlX3JlYm9vdCBsaXN0IGlzIHN0aWxsIHRvbyBsYXRlIHdp dGggdGhlDQpkZWZhdWx0IG9mIHBhbmljX25vdGlmaWVyX2xldmVsID0gMi4gIFRoZSBrZHVtcCBw YXRoIHdpbGwgcmVzZXQgdGhlDQpWTWJ1cyBjb25uZWN0aW9uIGFuZCB0aGVuIHRoZSBmcmFtZWJ1 ZmZlciBub3RpZmllciB3b24ndCB3b3JrLg0KDQo+IA0KPiBJbiBhbnkgY2FzZSwgSSBndWVzcyB3 ZSBzaG91bGQgYXZvaWQgd29ya2Fyb3VuZHMgaWYgcG9zc2libGUgYW5kIGRvIHRoZQ0KPiB0aGlu Z3MgdGhlIGJlc3Qgd2F5IHdlIGNhbiwgdG8gZW5jb21wYXNzIGFsbCAob3IgYWxtb3N0IGFsbCkg dGhlDQo+IHBvc3NpYmxlIHNjZW5hcmlvcyBhbmQgZG9uJ3QgZm9yY2UgdGhpbmdzIG9uIHVzZXJz IChsaWtlIGVuZm9yY2luZyBwYW5pYw0KPiBub3RpZmllciBsZXZlbCA0IGZvciBIeXBlci1WIG9y IHNvbWV0aGluZyBsaWtlIHRoaXMuLi4pDQo+IA0KPiBNb3JlIGZlZWRiYWNrIGZyb20geW91IC8g SHlwZXItViBmb2xrcyBpcyBwcmV0dHkgd2VsY29tZSBhYm91dCB0aGlzLg0KPiANCj4gDQo+ID4N Cj4gPj4gWy4uLl0NCj4gPiBUaGUgIkZpeGVzOiIgdGFncyBpbXBseSB0aGF0IHRoZXNlIGNoYW5n ZXMgc2hvdWxkIGJlIGJhY2twb3J0ZWQgdG8gb2xkZXINCj4gPiBsb25ndGVybSBrZXJuZWwgdmVy c2lvbnMsIHdoaWNoIEkgZG9uJ3QgdGhpbmsgaXMgdGhlIGNhc2UuICBUaGVyZSBpcyBhDQo+ID4g ZGVwZW5kZW5jeSBvbiBQYXRjaCAxNCBvZiB5b3VyIHNlcmllcyB3aGVyZSBQQU5JQ19OT1RJRklF UiBpcw0KPiA+IGludHJvZHVjZWQuDQo+ID4NCj4gDQo+IE9oLCB0aGlzIHdhcyBtb3JlIHJlbGF0 ZWQgd2l0aCBhcmNoZW9sb2d5IG9mIHRoZSBrZXJuZWwuIFdoZW4gSSdtDQo+IGludmVzdGlnYXRp bmcgc3R1ZmYsIEkgcmVhbGx5IHdhbnQgdG8gdW5kZXJzdGFuZCB3aHkgY29kZSB3YXMgYWRkZWQg YW5kDQo+IHRoYXQgdXN1YWxseSByZXF1aXJlIHNvbWUgdGltZSBnaXQgYmxhbWluZyBzdHVmZiwg c28gaGF2aW5nIHRoYXQgcHJvbnRvDQo+IGluIHRoZSBjb21taXQgbWVzc2FnZSBpcyBhIGJvbnVz Lg0KPiANCj4gQnV0IG9mIGNvdXJzZSB3ZSBkb24ndCBuZWVkIHRvIHVzZSB0aGUgRml4ZXMgdGFn IGZvciB0aGF0LCBlYXN5IHRvIG9ubHkNCj4gbWVudGlvbiBpdCBpbiB0aGUgdGV4dC4gQSBzZWNv bmRhcnkgYmVuZWZpdCBieSB1c2luZyB0aGlzIHRhZyBpcyB0bw0KPiBpbmRpY2F0ZSB0aGlzIGlz IGEgX3JlYWwgZml4XyB0byBzb21lIGNvZGUsIGFuZCBub3QgYW4gaW1wcm92ZW1lbnQsIGJ1dA0K PiBhcyB5b3Ugc2F5LCBJIGFncmVlIHdlIHNob3VsZG4ndCBiYWNrcG9ydCBpdCB0byBwcmV2aW91 cyByZWxlYXNlcyBoYXZpbmcNCj4gb3Igbm90IHRoZSBGaXhlcyB0YWcgKEFGQUlLIGl0J3Mgbm90 IG1hbmRhdG9yeSB0byBiYWNrcG9ydCBzdHVmZiB3aXRoDQo+IEZpeGVzIHRhZykuDQo+IA0KPiAN Cj4gPj4gWy4uLl0NCj4gPj4gKyAqIGludHJpbmNhdGVkIGlzIHRoZSByZWxhdGlvbiBvZiB0aGlz IG5vdGlmaWVyIHdpdGggSHlwZXItViBmcmFtZWJ1ZmZlcg0KPiA+DQo+ID4gcy9pbnRyaW5jYXRl ZC9pbnRyaWNhdGUvDQo+IA0KPiBUaGFua3MsIGZpeGVkIGluIFYyIQ0KPiANCj4gDQo+ID4NCj4g Pj4gWy4uLl0NCj4gPj4gK3N0YXRpYyBpbnQgaHZfcGFuaWNfdm1idXNfdW5sb2FkKHN0cnVjdCBu b3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgdmFsLA0KPiA+PiAgCQkJICAgICAgdm9p ZCAqYXJncykNCj4gPj4gK3sNCj4gPj4gKwlpZiAoIWtleGVjX2NyYXNoX2xvYWRlZCgpKQ0KPiA+ DQo+ID4gSSdtIG5vdCBjbGVhciBvbiB0aGUgcHVycG9zZSBvZiB0aGlzIGNvbmRpdGlvbi4gIEkg dGhpbmsgaXQgbWVhbnMNCj4gPiB3ZSB3aWxsIHNraXAgdGhlIHZtYnVzX2luaXRpYXRlX3VubG9h ZCgpIGlmIGEgcGFuaWMgb2NjdXJzIGluIHRoZQ0KPiA+IGtkdW1wIGtlcm5lbC4gIElzIHRoZXJl IGEgcmVhc29uIGEgcGFuaWMgaW4gdGhlIGtkdW1wIGtlcm5lbA0KPiA+IHNob3VsZCBiZSB0cmVh dGVkIGRpZmZlcmVudGx5PyAgT3IgYW0gSSBtaXN1bmRlcnN0YW5kaW5nPw0KPiANCj4gVGhpcyBp cyByZWFsbHkgcmVsYXRlZCB3aXRoIHRoZSBwb2ludCBkaXNjdXNzZWQgaW4gdGhlIHRvcCBvZiB0 aGlzDQo+IHJlc3BvbnNlIC0gSSBhc3N1bWVkIGJvdGggQVJNNjQveDg2XzY0IHdvdWxkIGJlaGF2 ZSB0aGUgc2FtZSBhbmQNCj4gZGlzY29ubmVjdCB0aGUgdm1idXMgdGhyb3VnaCB0aGUgY3VzdG9t IGNyYXNoIGhhbmRsZXIgd2hlbiBrZHVtcCBpcyBzZXQsDQo+IHNvIHdvcnRoIHNraXBwaW5nIGl0 IGhlcmUgaW4gdGhlIG5vdGlmaWVyLiBCdXQgdGhhdCdzIG5vdCB0cnVlIGZvciBBUk02NA0KPiBh cyB5b3UgcG9pbnRlZCwgc28gdGhpcyBndWFyZCBhZ2FpbnN0IGtleGVjIGlzIHJlYWxseSBwYXJ0 IG9mIHRoZQ0KPiBkZWNpc2lvbi9kaXNjdXNzaW9uIG9uIHdoYXQgdG8gZG8gd2l0aCBBUk02NCBo ZWgNCg0KQnV0IG5vdGUgdGhhdCB2bWJ1c19pbml0aWF0ZV91bmxvYWQoKSBhbHJlYWR5IGhhcyBh IGd1YXJkIGJ1aWx0LWluLg0KSWYgdGhlIGludGVudCBvZiB0aGlzIHRlc3QgaXMganVzdCBhcyBh IGd1YXJkIGFnYWluc3QgcnVubmluZyB0d2ljZSwNCnRoZW4gaXQgaXNuJ3QgbmVlZGVkLg0KDQo+ IA0KPiBDaGVlcnMhDQo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Kelley (LINUX) Date: Tue, 3 May 2022 18:13:52 +0000 Subject: [PATCH 16/30] drivers/hv/vmbus, video/hyperv_fb: Untangle and refactor Hyper-V panic notifiers In-Reply-To: <2787b476-6366-1c83-db80-0393da417497@igalia.com> References: <20220427224924.592546-1-gpiccoli@igalia.com> <20220427224924.592546-17-gpiccoli@igalia.com> <2787b476-6366-1c83-db80-0393da417497@igalia.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: kexec@lists.infradead.org From: Guilherme G. Piccoli Sent: Friday, April 29, 2022 3:35 PM > > Hi Michael, first of all thanks for the great review, much appreciated. > Some comments inline below: > > On 29/04/2022 14:16, Michael Kelley (LINUX) wrote: > > [...] > >> hypervisor I/O completion), so we postpone that to run late. But more > >> relevant: this *same* vmbus unloading happens in the crash_shutdown() > >> handler, so if kdump is set, we can safely skip this panic notifier and > >> defer such clean-up to the kexec crash handler. > > > > While the last sentence is true for Hyper-V on x86/x64, it's not true for > > Hyper-V on ARM64. x86/x64 has the 'machine_ops' data structure > > with the ability to provide a custom crash_shutdown() function, which > > Hyper-V does in the form of hv_machine_crash_shutdown(). But ARM64 > > has no mechanism to provide such a custom function that will eventually > > do the needed vmbus_initiate_unload() before running kdump. > > > > I'm not immediately sure what the best solution is for ARM64. At this > > point, I'm just pointing out the problem and will think about the tradeoffs > > for various possible solutions. Please do the same yourself. :-) > > > > Oh, you're totally right! I just assumed ARM64 would the the same, my > bad. Just to propose some alternatives, so you/others can also discuss > here and we can reach a consensus about the trade-offs: > > (a) We could forget about this change, and always do the clean-up here, > not relying in machine_crash_shutdown(). > Pro: really simple, behaves the same as it is doing currently. > Con: less elegant/concise, doesn't allow arm64 customization. > > (b) Add a way to allow ARM64 customization of shutdown crash handler. > Pro: matches x86, more customizable, improves arm64 arch code. > Con: A tad more complex. > > Also, a question that came-up: if ARM64 has no way of calling special > crash shutdown handler, how can you execute hv_stimer_cleanup() and > hv_synic_disable_regs() there? Or are they not required in ARM64? > My suggestion is to do (a) for now. I suspect (b) could be a more extended discussion and I wouldn't want your patch set to get held up on that discussion. I don't know what the sense of the ARM64 maintainers would be toward (b). They have tried to avoid picking up code warts like have accumulated on the x86/x64 side over the years, and I agree with that effort. But as more and varied hypervisors become available for ARM64, it seems like a framework for supporting a custom shutdown handler may become necessary. But that could take a little time. You are right about hv_stimer_cleanup() and hv_synic_disable_regs(). We are not running these when a panic occurs on ARM64, and we should be, though the risk is small. We will pursue (b) and add these additional cleanups as part of that. But again, I would suggest doing (a) for now, and we will switch back to your solution once (b) is in place. > > >> > >> (c) There is also a Hyper-V framebuffer panic notifier, which relies in > >> doing a vmbus operation that demands a valid connection. So, we must > >> order this notifier with the panic notifier from vmbus_drv.c, in order to > >> guarantee that the framebuffer code executes before the vmbus connection > >> is unloaded. > > > > Patch 21 of this set puts the Hyper-V FB panic notifier on the pre_reboot > > notifier list, which means it won't execute before the VMbus connection > > unload in the case of kdump. This notifier is making sure that Hyper-V > > is notified about the last updates made to the frame buffer before the > > panic, so maybe it needs to be put on the hypervisor notifier list. It > > sends a message to Hyper-V over its existing VMbus channel, but it > > does not wait for a reply. It does, however, obtain a spin lock on the > > ring buffer used to communicate with Hyper-V. Unless someone has > > a better suggestion, I'm inclined to take the risk of blocking on that > > spin lock. > > The logic behind that was: when kdump is set, we'd skip the vmbus > disconnect on notifiers, deferring that to crash_shutdown(), logic this > one refuted in the above discussion on ARM64 (one more Pro argument to > the idea of refactoring aarch64 code to allow a custom crash shutdown > handler heh). But you're right, for the default level 2, we skip the > pre_reboot notifiers on kdump, effectively skipping this notifier. > > Some ideas of what we can do here: > > I) we could change the framebuffer notifier to rely on trylocks, instead > of risking a lockup scenario, and with that, we can execute it before > the vmbus disconnect in the hypervisor list; I think we have to do this approach for now. > > II) we ignore the hypervisor notifier in case of kdump _by default_, and > if the users don't want that, they can always set the panic notifier > level to 4 and run all notifiers prior to kdump; would that be terrible > you think? Kdump users might don't care about the framebuffer... > > III) we go with approach (b) above and refactor arm64 code to allow the > custom crash handler on kdump time, then [with point (I) above] the > logic proposed in this series is still valid - seems more and more the > most correct/complete solution. But even when/if we get approach (b) implemented, having the framebuffer notifier on the pre_reboot list is still too late with the default of panic_notifier_level = 2. The kdump path will reset the VMbus connection and then the framebuffer notifier won't work. > > In any case, I guess we should avoid workarounds if possible and do the > things the best way we can, to encompass all (or almost all) the > possible scenarios and don't force things on users (like enforcing panic > notifier level 4 for Hyper-V or something like this...) > > More feedback from you / Hyper-V folks is pretty welcome about this. > > > > > >> [...] > > The "Fixes:" tags imply that these changes should be backported to older > > longterm kernel versions, which I don't think is the case. There is a > > dependency on Patch 14 of your series where PANIC_NOTIFIER is > > introduced. > > > > Oh, this was more related with archeology of the kernel. When I'm > investigating stuff, I really want to understand why code was added and > that usually require some time git blaming stuff, so having that pronto > in the commit message is a bonus. > > But of course we don't need to use the Fixes tag for that, easy to only > mention it in the text. A secondary benefit by using this tag is to > indicate this is a _real fix_ to some code, and not an improvement, but > as you say, I agree we shouldn't backport it to previous releases having > or not the Fixes tag (AFAIK it's not mandatory to backport stuff with > Fixes tag). > > > >> [...] > >> + * intrincated is the relation of this notifier with Hyper-V framebuffer > > > > s/intrincated/intricate/ > > Thanks, fixed in V2! > > > > > >> [...] > >> +static int hv_panic_vmbus_unload(struct notifier_block *nb, unsigned long val, > >> void *args) > >> +{ > >> + if (!kexec_crash_loaded()) > > > > I'm not clear on the purpose of this condition. I think it means > > we will skip the vmbus_initiate_unload() if a panic occurs in the > > kdump kernel. Is there a reason a panic in the kdump kernel > > should be treated differently? Or am I misunderstanding? > > This is really related with the point discussed in the top of this > response - I assumed both ARM64/x86_64 would behave the same and > disconnect the vmbus through the custom crash handler when kdump is set, > so worth skipping it here in the notifier. But that's not true for ARM64 > as you pointed, so this guard against kexec is really part of the > decision/discussion on what to do with ARM64 heh But note that vmbus_initiate_unload() already has a guard built-in. If the intent of this test is just as a guard against running twice, then it isn't needed. > > Cheers! From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael Kelley (LINUX)" Subject: RE: [PATCH 16/30] drivers/hv/vmbus, video/hyperv_fb: Untangle and refactor Hyper-V panic notifiers Date: Tue, 3 May 2022 18:13:52 +0000 Message-ID: References: <20220427224924.592546-1-gpiccoli@igalia.com> <20220427224924.592546-17-gpiccoli@igalia.com> <2787b476-6366-1c83-db80-0393da417497@igalia.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uHdWyr/lQ4oMAILHgYnTcyVdhz+H5tpb/ZbxMPdRznY=; b=N8b4zUYeoSjVoBnIOHZk9x7r326uVrpKbKzx6XXMOIrzFUAHQx5Vf0lGVGrXZlrXWa6AW+P6rzthVyShps/A6r3TZdabpgEBaTS9lCeVdBHNNE//vXD9jQ0tGm9xQNx3bTBkWGRMD+GYCBn7m/MbMeekivw2v/V0MngTJJcvwwM= In-Reply-To: <2787b476-6366-1c83-db80-0393da417497@igalia.com> Content-Language: en-US List-ID: Content-Type: text/plain; charset="us-ascii" To: "Guilherme G. Piccoli" , "akpm@linux-foundation.org" , "bhe@redhat.com" , "pmladek@suse.com" , "kexec@lists.infradead.org" Cc: "linux-kernel@vger.kernel.org" , "bcm-kernel-feedback-list@broadcom.com" , "linuxppc-dev@lists.ozlabs.org" , "linux-alpha@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-edac@vger.kernel.org" , "linux-hyperv@vger.kernel.org" , "linux-leds@vger.kernel.org" , "linux-mips@vger.kernel.org" , "linux-parisc@vger.kernel.org" , "linux-pm@vger.kernel.org" , "linux-remoteproc@vger.kernel.org" , lin RnJvbTogR3VpbGhlcm1lIEcuIFBpY2NvbGkgPGdwaWNjb2xpQGlnYWxpYS5jb20+IFNlbnQ6IEZy aWRheSwgQXByaWwgMjksIDIwMjIgMzozNSBQTQ0KPiANCj4gSGkgTWljaGFlbCwgZmlyc3Qgb2Yg YWxsIHRoYW5rcyBmb3IgdGhlIGdyZWF0IHJldmlldywgbXVjaCBhcHByZWNpYXRlZC4NCj4gU29t ZSBjb21tZW50cyBpbmxpbmUgYmVsb3c6DQo+IA0KPiBPbiAyOS8wNC8yMDIyIDE0OjE2LCBNaWNo YWVsIEtlbGxleSAoTElOVVgpIHdyb3RlOg0KPiA+IFsuLi5dDQo+ID4+IGh5cGVydmlzb3IgSS9P IGNvbXBsZXRpb24pLCBzbyB3ZSBwb3N0cG9uZSB0aGF0IHRvIHJ1biBsYXRlLiBCdXQgbW9yZQ0K PiA+PiByZWxldmFudDogdGhpcyAqc2FtZSogdm1idXMgdW5sb2FkaW5nIGhhcHBlbnMgaW4gdGhl IGNyYXNoX3NodXRkb3duKCkNCj4gPj4gaGFuZGxlciwgc28gaWYga2R1bXAgaXMgc2V0LCB3ZSBj YW4gc2FmZWx5IHNraXAgdGhpcyBwYW5pYyBub3RpZmllciBhbmQNCj4gPj4gZGVmZXIgc3VjaCBj bGVhbi11cCB0byB0aGUga2V4ZWMgY3Jhc2ggaGFuZGxlci4NCj4gPg0KPiA+IFdoaWxlIHRoZSBs YXN0IHNlbnRlbmNlIGlzIHRydWUgZm9yIEh5cGVyLVYgb24geDg2L3g2NCwgaXQncyBub3QgdHJ1 ZSBmb3INCj4gPiBIeXBlci1WIG9uIEFSTTY0LiAgeDg2L3g2NCBoYXMgdGhlICdtYWNoaW5lX29w cycgZGF0YSBzdHJ1Y3R1cmUNCj4gPiB3aXRoIHRoZSBhYmlsaXR5IHRvIHByb3ZpZGUgYSBjdXN0 b20gY3Jhc2hfc2h1dGRvd24oKSBmdW5jdGlvbiwgd2hpY2gNCj4gPiBIeXBlci1WIGRvZXMgaW4g dGhlIGZvcm0gb2YgaHZfbWFjaGluZV9jcmFzaF9zaHV0ZG93bigpLiAgQnV0IEFSTTY0DQo+ID4g aGFzIG5vIG1lY2hhbmlzbSB0byBwcm92aWRlIHN1Y2ggYSBjdXN0b20gZnVuY3Rpb24gdGhhdCB3 aWxsIGV2ZW50dWFsbHkNCj4gPiBkbyB0aGUgbmVlZGVkIHZtYnVzX2luaXRpYXRlX3VubG9hZCgp IGJlZm9yZSBydW5uaW5nIGtkdW1wLg0KPiA+DQo+ID4gSSdtIG5vdCBpbW1lZGlhdGVseSBzdXJl IHdoYXQgdGhlIGJlc3Qgc29sdXRpb24gaXMgZm9yIEFSTTY0LiAgQXQgdGhpcw0KPiA+IHBvaW50 LCBJJ20ganVzdCBwb2ludGluZyBvdXQgdGhlIHByb2JsZW0gYW5kIHdpbGwgdGhpbmsgYWJvdXQg dGhlIHRyYWRlb2Zmcw0KPiA+IGZvciB2YXJpb3VzIHBvc3NpYmxlIHNvbHV0aW9ucy4gIFBsZWFz ZSBkbyB0aGUgc2FtZSB5b3Vyc2VsZi4gOi0pDQo+ID4NCj4gDQo+IE9oLCB5b3UncmUgdG90YWxs eSByaWdodCEgSSBqdXN0IGFzc3VtZWQgQVJNNjQgd291bGQgdGhlIHRoZSBzYW1lLCBteQ0KPiBi YWQuIEp1c3QgdG8gcHJvcG9zZSBzb21lIGFsdGVybmF0aXZlcywgc28geW91L290aGVycyBjYW4g YWxzbyBkaXNjdXNzDQo+IGhlcmUgYW5kIHdlIGNhbiByZWFjaCBhIGNvbnNlbnN1cyBhYm91dCB0 aGUgdHJhZGUtb2ZmczoNCj4gDQo+IChhKSBXZSBjb3VsZCBmb3JnZXQgYWJvdXQgdGhpcyBjaGFu Z2UsIGFuZCBhbHdheXMgZG8gdGhlIGNsZWFuLXVwIGhlcmUsDQo+IG5vdCByZWx5aW5nIGluIG1h Y2hpbmVfY3Jhc2hfc2h1dGRvd24oKS4NCj4gUHJvOiByZWFsbHkgc2ltcGxlLCBiZWhhdmVzIHRo ZSBzYW1lIGFzIGl0IGlzIGRvaW5nIGN1cnJlbnRseS4NCj4gQ29uOiBsZXNzIGVsZWdhbnQvY29u Y2lzZSwgZG9lc24ndCBhbGxvdyBhcm02NCBjdXN0b21pemF0aW9uLg0KPiANCj4gKGIpIEFkZCBh IHdheSB0byBhbGxvdyBBUk02NCBjdXN0b21pemF0aW9uIG9mIHNodXRkb3duIGNyYXNoIGhhbmRs ZXIuDQo+IFBybzogbWF0Y2hlcyB4ODYsIG1vcmUgY3VzdG9taXphYmxlLCBpbXByb3ZlcyBhcm02 NCBhcmNoIGNvZGUuDQo+IENvbjogQSB0YWQgbW9yZSBjb21wbGV4Lg0KPiANCj4gQWxzbywgYSBx dWVzdGlvbiB0aGF0IGNhbWUtdXA6IGlmIEFSTTY0IGhhcyBubyB3YXkgb2YgY2FsbGluZyBzcGVj aWFsDQo+IGNyYXNoIHNodXRkb3duIGhhbmRsZXIsIGhvdyBjYW4geW91IGV4ZWN1dGUgaHZfc3Rp bWVyX2NsZWFudXAoKSBhbmQNCj4gaHZfc3luaWNfZGlzYWJsZV9yZWdzKCkgdGhlcmU/IE9yIGFy ZSB0aGV5IG5vdCByZXF1aXJlZCBpbiBBUk02ND8NCj4gDQoNCk15IHN1Z2dlc3Rpb24gaXMgdG8g ZG8gKGEpIGZvciBub3cuICBJIHN1c3BlY3QgKGIpIGNvdWxkIGJlIGEgbW9yZQ0KZXh0ZW5kZWQg ZGlzY3Vzc2lvbiBhbmQgSSB3b3VsZG4ndCB3YW50IHlvdXIgcGF0Y2ggc2V0IHRvIGdldCBoZWxk DQp1cCBvbiB0aGF0IGRpc2N1c3Npb24uICBJIGRvbid0IGtub3cgd2hhdCB0aGUgc2Vuc2Ugb2Yg dGhlIEFSTTY0DQptYWludGFpbmVycyB3b3VsZCBiZSB0b3dhcmQgKGIpLiAgVGhleSBoYXZlIHRy aWVkIHRvIGF2b2lkIHBpY2tpbmcNCnVwIGNvZGUgd2FydHMgbGlrZSBoYXZlIGFjY3VtdWxhdGVk IG9uIHRoZSB4ODYveDY0IHNpZGUgb3ZlciB0aGUNCnllYXJzLCBhbmQgSSBhZ3JlZSB3aXRoIHRo YXQgZWZmb3J0LiAgQnV0IGFzIG1vcmUgYW5kIHZhcmllZA0KaHlwZXJ2aXNvcnMgYmVjb21lIGF2 YWlsYWJsZSBmb3IgQVJNNjQsIGl0IHNlZW1zIGxpa2UgYSBmcmFtZXdvcmsNCmZvciBzdXBwb3J0 aW5nIGEgY3VzdG9tIHNodXRkb3duIGhhbmRsZXIgbWF5IGJlY29tZSBuZWNlc3NhcnkuDQpCdXQg dGhhdCBjb3VsZCB0YWtlIGEgbGl0dGxlIHRpbWUuDQoNCllvdSBhcmUgcmlnaHQgYWJvdXQgaHZf c3RpbWVyX2NsZWFudXAoKSBhbmQgaHZfc3luaWNfZGlzYWJsZV9yZWdzKCkuDQpXZSBhcmUgbm90 IHJ1bm5pbmcgdGhlc2Ugd2hlbiBhIHBhbmljIG9jY3VycyBvbiBBUk02NCwgYW5kIHdlDQpzaG91 bGQgYmUsIHRob3VnaCB0aGUgcmlzayBpcyBzbWFsbC4gICBXZSB3aWxsIHB1cnN1ZSAoYikgYW5k IGFkZA0KdGhlc2UgYWRkaXRpb25hbCBjbGVhbnVwcyBhcyBwYXJ0IG9mIHRoYXQuICBCdXQgYWdh aW4sIEkgd291bGQgc3VnZ2VzdA0KZG9pbmcgKGEpIGZvciBub3csIGFuZCB3ZSB3aWxsIHN3aXRj aCBiYWNrIHRvIHlvdXIgc29sdXRpb24gb25jZQ0KKGIpIGlzIGluIHBsYWNlLg0KDQo+IA0KPiA+ Pg0KPiA+PiAoYykgVGhlcmUgaXMgYWxzbyBhIEh5cGVyLVYgZnJhbWVidWZmZXIgcGFuaWMgbm90 aWZpZXIsIHdoaWNoIHJlbGllcyBpbg0KPiA+PiBkb2luZyBhIHZtYnVzIG9wZXJhdGlvbiB0aGF0 IGRlbWFuZHMgYSB2YWxpZCBjb25uZWN0aW9uLiBTbywgd2UgbXVzdA0KPiA+PiBvcmRlciB0aGlz IG5vdGlmaWVyIHdpdGggdGhlIHBhbmljIG5vdGlmaWVyIGZyb20gdm1idXNfZHJ2LmMsIGluIG9y ZGVyIHRvDQo+ID4+IGd1YXJhbnRlZSB0aGF0IHRoZSBmcmFtZWJ1ZmZlciBjb2RlIGV4ZWN1dGVz IGJlZm9yZSB0aGUgdm1idXMgY29ubmVjdGlvbg0KPiA+PiBpcyB1bmxvYWRlZC4NCj4gPg0KPiA+ IFBhdGNoIDIxIG9mIHRoaXMgc2V0IHB1dHMgdGhlIEh5cGVyLVYgRkIgcGFuaWMgbm90aWZpZXIg b24gdGhlIHByZV9yZWJvb3QNCj4gPiBub3RpZmllciBsaXN0LCB3aGljaCBtZWFucyBpdCB3b24n dCBleGVjdXRlIGJlZm9yZSB0aGUgVk1idXMgY29ubmVjdGlvbg0KPiA+IHVubG9hZCBpbiB0aGUg Y2FzZSBvZiBrZHVtcC4gICBUaGlzIG5vdGlmaWVyIGlzIG1ha2luZyBzdXJlIHRoYXQgSHlwZXIt Vg0KPiA+IGlzIG5vdGlmaWVkIGFib3V0IHRoZSBsYXN0IHVwZGF0ZXMgbWFkZSB0byB0aGUgZnJh bWUgYnVmZmVyIGJlZm9yZSB0aGUNCj4gPiBwYW5pYywgc28gbWF5YmUgaXQgbmVlZHMgdG8gYmUg cHV0IG9uIHRoZSBoeXBlcnZpc29yIG5vdGlmaWVyIGxpc3QuICBJdA0KPiA+IHNlbmRzIGEgbWVz c2FnZSB0byBIeXBlci1WIG92ZXIgaXRzIGV4aXN0aW5nIFZNYnVzIGNoYW5uZWwsIGJ1dCBpdA0K PiA+IGRvZXMgbm90IHdhaXQgZm9yIGEgcmVwbHkuICBJdCBkb2VzLCBob3dldmVyLCBvYnRhaW4g YSBzcGluIGxvY2sgb24gdGhlDQo+ID4gcmluZyBidWZmZXIgdXNlZCB0byBjb21tdW5pY2F0ZSB3 aXRoIEh5cGVyLVYuICAgVW5sZXNzIHNvbWVvbmUgaGFzDQo+ID4gYSBiZXR0ZXIgc3VnZ2VzdGlv biwgSSdtIGluY2xpbmVkIHRvIHRha2UgdGhlIHJpc2sgb2YgYmxvY2tpbmcgb24gdGhhdA0KPiA+ IHNwaW4gbG9jay4NCj4gDQo+IFRoZSBsb2dpYyBiZWhpbmQgdGhhdCB3YXM6IHdoZW4ga2R1bXAg aXMgc2V0LCB3ZSdkIHNraXAgdGhlIHZtYnVzDQo+IGRpc2Nvbm5lY3Qgb24gbm90aWZpZXJzLCBk ZWZlcnJpbmcgdGhhdCB0byBjcmFzaF9zaHV0ZG93bigpLCBsb2dpYyB0aGlzDQo+IG9uZSByZWZ1 dGVkIGluIHRoZSBhYm92ZSBkaXNjdXNzaW9uIG9uIEFSTTY0IChvbmUgbW9yZSBQcm8gYXJndW1l bnQgdG8NCj4gdGhlIGlkZWEgb2YgcmVmYWN0b3JpbmcgYWFyY2g2NCBjb2RlIHRvIGFsbG93IGEg Y3VzdG9tIGNyYXNoIHNodXRkb3duDQo+IGhhbmRsZXIgaGVoKS4gQnV0IHlvdSdyZSByaWdodCwg Zm9yIHRoZSBkZWZhdWx0IGxldmVsIDIsIHdlIHNraXAgdGhlDQo+IHByZV9yZWJvb3Qgbm90aWZp ZXJzIG9uIGtkdW1wLCBlZmZlY3RpdmVseSBza2lwcGluZyB0aGlzIG5vdGlmaWVyLg0KPiANCj4g U29tZSBpZGVhcyBvZiB3aGF0IHdlIGNhbiBkbyBoZXJlOg0KPiANCj4gSSkgd2UgY291bGQgY2hh bmdlIHRoZSBmcmFtZWJ1ZmZlciBub3RpZmllciB0byByZWx5IG9uIHRyeWxvY2tzLCBpbnN0ZWFk DQo+IG9mIHJpc2tpbmcgYSBsb2NrdXAgc2NlbmFyaW8sIGFuZCB3aXRoIHRoYXQsIHdlIGNhbiBl eGVjdXRlIGl0IGJlZm9yZQ0KPiB0aGUgdm1idXMgZGlzY29ubmVjdCBpbiB0aGUgaHlwZXJ2aXNv ciBsaXN0Ow0KDQpJIHRoaW5rIHdlIGhhdmUgdG8gZG8gdGhpcyBhcHByb2FjaCBmb3Igbm93Lg0K DQo+IA0KPiBJSSkgd2UgaWdub3JlIHRoZSBoeXBlcnZpc29yIG5vdGlmaWVyIGluIGNhc2Ugb2Yg a2R1bXAgX2J5IGRlZmF1bHRfLCBhbmQNCj4gaWYgdGhlIHVzZXJzIGRvbid0IHdhbnQgdGhhdCwg dGhleSBjYW4gYWx3YXlzIHNldCB0aGUgcGFuaWMgbm90aWZpZXINCj4gbGV2ZWwgdG8gNCBhbmQg cnVuIGFsbCBub3RpZmllcnMgcHJpb3IgdG8ga2R1bXA7IHdvdWxkIHRoYXQgYmUgdGVycmlibGUN Cj4geW91IHRoaW5rPyBLZHVtcCB1c2VycyBtaWdodCBkb24ndCBjYXJlIGFib3V0IHRoZSBmcmFt ZWJ1ZmZlci4uLg0KPiANCj4gSUlJKSB3ZSBnbyB3aXRoIGFwcHJvYWNoIChiKSBhYm92ZSBhbmQg cmVmYWN0b3IgYXJtNjQgY29kZSB0byBhbGxvdyB0aGUNCj4gY3VzdG9tIGNyYXNoIGhhbmRsZXIg b24ga2R1bXAgdGltZSwgdGhlbiBbd2l0aCBwb2ludCAoSSkgYWJvdmVdIHRoZQ0KPiBsb2dpYyBw cm9wb3NlZCBpbiB0aGlzIHNlcmllcyBpcyBzdGlsbCB2YWxpZCAtIHNlZW1zIG1vcmUgYW5kIG1v cmUgdGhlDQo+IG1vc3QgY29ycmVjdC9jb21wbGV0ZSBzb2x1dGlvbi4NCg0KQnV0IGV2ZW4gd2hl bi9pZiB3ZSBnZXQgYXBwcm9hY2ggKGIpIGltcGxlbWVudGVkLCBoYXZpbmcgdGhlDQpmcmFtZWJ1 ZmZlciBub3RpZmllciBvbiB0aGUgcHJlX3JlYm9vdCBsaXN0IGlzIHN0aWxsIHRvbyBsYXRlIHdp dGggdGhlDQpkZWZhdWx0IG9mIHBhbmljX25vdGlmaWVyX2xldmVsID0gMi4gIFRoZSBrZHVtcCBw YXRoIHdpbGwgcmVzZXQgdGhlDQpWTWJ1cyBjb25uZWN0aW9uIGFuZCB0aGVuIHRoZSBmcmFtZWJ1 ZmZlciBub3RpZmllciB3b24ndCB3b3JrLg0KDQo+IA0KPiBJbiBhbnkgY2FzZSwgSSBndWVzcyB3 ZSBzaG91bGQgYXZvaWQgd29ya2Fyb3VuZHMgaWYgcG9zc2libGUgYW5kIGRvIHRoZQ0KPiB0aGlu Z3MgdGhlIGJlc3Qgd2F5IHdlIGNhbiwgdG8gZW5jb21wYXNzIGFsbCAob3IgYWxtb3N0IGFsbCkg dGhlDQo+IHBvc3NpYmxlIHNjZW5hcmlvcyBhbmQgZG9uJ3QgZm9yY2UgdGhpbmdzIG9uIHVzZXJz IChsaWtlIGVuZm9yY2luZyBwYW5pYw0KPiBub3RpZmllciBsZXZlbCA0IGZvciBIeXBlci1WIG9y IHNvbWV0aGluZyBsaWtlIHRoaXMuLi4pDQo+IA0KPiBNb3JlIGZlZWRiYWNrIGZyb20geW91IC8g SHlwZXItViBmb2xrcyBpcyBwcmV0dHkgd2VsY29tZSBhYm91dCB0aGlzLg0KPiANCj4gDQo+ID4N Cj4gPj4gWy4uLl0NCj4gPiBUaGUgIkZpeGVzOiIgdGFncyBpbXBseSB0aGF0IHRoZXNlIGNoYW5n ZXMgc2hvdWxkIGJlIGJhY2twb3J0ZWQgdG8gb2xkZXINCj4gPiBsb25ndGVybSBrZXJuZWwgdmVy c2lvbnMsIHdoaWNoIEkgZG9uJ3QgdGhpbmsgaXMgdGhlIGNhc2UuICBUaGVyZSBpcyBhDQo+ID4g ZGVwZW5kZW5jeSBvbiBQYXRjaCAxNCBvZiB5b3VyIHNlcmllcyB3aGVyZSBQQU5JQ19OT1RJRklF UiBpcw0KPiA+IGludHJvZHVjZWQuDQo+ID4NCj4gDQo+IE9oLCB0aGlzIHdhcyBtb3JlIHJlbGF0 ZWQgd2l0aCBhcmNoZW9sb2d5IG9mIHRoZSBrZXJuZWwuIFdoZW4gSSdtDQo+IGludmVzdGlnYXRp bmcgc3R1ZmYsIEkgcmVhbGx5IHdhbnQgdG8gdW5kZXJzdGFuZCB3aHkgY29kZSB3YXMgYWRkZWQg YW5kDQo+IHRoYXQgdXN1YWxseSByZXF1aXJlIHNvbWUgdGltZSBnaXQgYmxhbWluZyBzdHVmZiwg c28gaGF2aW5nIHRoYXQgcHJvbnRvDQo+IGluIHRoZSBjb21taXQgbWVzc2FnZSBpcyBhIGJvbnVz Lg0KPiANCj4gQnV0IG9mIGNvdXJzZSB3ZSBkb24ndCBuZWVkIHRvIHVzZSB0aGUgRml4ZXMgdGFn IGZvciB0aGF0LCBlYXN5IHRvIG9ubHkNCj4gbWVudGlvbiBpdCBpbiB0aGUgdGV4dC4gQSBzZWNv bmRhcnkgYmVuZWZpdCBieSB1c2luZyB0aGlzIHRhZyBpcyB0bw0KPiBpbmRpY2F0ZSB0aGlzIGlz IGEgX3JlYWwgZml4XyB0byBzb21lIGNvZGUsIGFuZCBub3QgYW4gaW1wcm92ZW1lbnQsIGJ1dA0K PiBhcyB5b3Ugc2F5LCBJIGFncmVlIHdlIHNob3VsZG4ndCBiYWNrcG9ydCBpdCB0byBwcmV2aW91 cyByZWxlYXNlcyBoYXZpbmcNCj4gb3Igbm90IHRoZSBGaXhlcyB0YWcgKEFGQUlLIGl0J3Mgbm90 IG1hbmRhdG9yeSB0byBiYWNrcG9ydCBzdHVmZiB3aXRoDQo+IEZpeGVzIHRhZykuDQo+IA0KPiAN Cj4gPj4gWy4uLl0NCj4gPj4gKyAqIGludHJpbmNhdGVkIGlzIHRoZSByZWxhdGlvbiBvZiB0aGlz IG5vdGlmaWVyIHdpdGggSHlwZXItViBmcmFtZWJ1ZmZlcg0KPiA+DQo+ID4gcy9pbnRyaW5jYXRl ZC9pbnRyaWNhdGUvDQo+IA0KPiBUaGFua3MsIGZpeGVkIGluIFYyIQ0KPiANCj4gDQo+ID4NCj4g Pj4gWy4uLl0NCj4gPj4gK3N0YXRpYyBpbnQgaHZfcGFuaWNfdm1idXNfdW5sb2FkKHN0cnVjdCBu b3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgdmFsLA0KPiA+PiAgCQkJICAgICAgdm9p ZCAqYXJncykNCj4gPj4gK3sNCj4gPj4gKwlpZiAoIWtleGVjX2NyYXNoX2xvYWRlZCgpKQ0KPiA+ DQo+ID4gSSdtIG5vdCBjbGVhciBvbiB0aGUgcHVycG9zZSBvZiB0aGlzIGNvbmRpdGlvbi4gIEkg dGhpbmsgaXQgbWVhbnMNCj4gPiB3ZSB3aWxsIHNraXAgdGhlIHZtYnVzX2luaXRpYXRlX3VubG9h ZCgpIGlmIGEgcGFuaWMgb2NjdXJzIGluIHRoZQ0KPiA+IGtkdW1wIGtlcm5lbC4gIElzIHRoZXJl IGEgcmVhc29uIGEgcGFuaWMgaW4gdGhlIGtkdW1wIGtlcm5lbA0KPiA+IHNob3VsZCBiZSB0cmVh dGVkIGRpZmZlcmVudGx5PyAgT3IgYW0gSSBtaXN1bmRlcnN0YW5kaW5nPw0KPiANCj4gVGhpcyBp cyByZWFsbHkgcmVsYXRlZCB3aXRoIHRoZSBwb2ludCBkaXNjdXNzZWQgaW4gdGhlIHRvcCBvZiB0 aGlzDQo+IHJlc3BvbnNlIC0gSSBhc3N1bWVkIGJvdGggQVJNNjQveDg2XzY0IHdvdWxkIGJlaGF2 ZSB0aGUgc2FtZSBhbmQNCj4gZGlzY29ubmVjdCB0aGUgdm1idXMgdGhyb3VnaCB0aGUgY3VzdG9t IGNyYXNoIGhhbmRsZXIgd2hlbiBrZHVtcCBpcyBzZXQsDQo+IHNvIHdvcnRoIHNraXBwaW5nIGl0 IGhlcmUgaW4gdGhlIG5vdGlmaWVyLiBCdXQgdGhhdCdzIG5vdCB0cnVlIGZvciBBUk02NA0KPiBh cyB5b3UgcG9pbnRlZCwgc28gdGhpcyBndWFyZCBhZ2FpbnN0IGtleGVjIGlzIHJlYWxseSBwYXJ0 IG9mIHRoZQ0KPiBkZWNpc2lvbi9kaXNjdXNzaW9uIG9uIHdoYXQgdG8gZG8gd2l0aCBBUk02NCBo ZWgNCg0KQnV0IG5vdGUgdGhhdCB2bWJ1c19pbml0aWF0ZV91bmxvYWQoKSBhbHJlYWR5IGhhcyBh IGd1YXJkIGJ1aWx0LWluLg0KSWYgdGhlIGludGVudCBvZiB0aGlzIHRlc3QgaXMganVzdCBhcyBh IGd1YXJkIGFnYWluc3QgcnVubmluZyB0d2ljZSwNCnRoZW4gaXQgaXNuJ3QgbmVlZGVkLg0KDQo+ IA0KPiBDaGVlcnMhDQo=