From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from aserp2120.oracle.com (aserp2120.oracle.com [141.146.126.78]) by mx.groups.io with SMTP id smtpd.web08.5741.1611297267324675566 for ; Thu, 21 Jan 2021 22:34:27 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=WCO29we5; spf=pass (domain: oracle.com, ip: 141.146.126.78, mailfrom: ankur.a.arora@oracle.com) Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 10M6YQ5u043854; Fri, 22 Jan 2021 06:34:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=subject : to : cc : references : from : message-id : date : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2020-01-29; bh=BMrZRRk+5iOBkijgIyCwBza4FblB7IissEX7JzswBOk=; b=WCO29we53Uu8LAsJBDBfYNBQo4JibXu1kxVEpnqUsdS2u/NyqwoudYXcKsW3uuBzQrCn Ju41H1I1cbaRm+35hYOFVJmEORc3GcUxgctuB9uQJZ2+Y21uiAHsj/V9Ue6mJDuua/4B CeRnwHOG8fuytfjtqpRLSBmrhRK0vrfD83MJLA6Hd2LV6iMNiI57VY2tAzA+426N3NIx gnHTvGtUHtdZJRuEaNGzz/ze3Dr6P7njwWtEbQDVag/ul+FF4NB+ighIaBBTu2gSLi21 pOHd9m+EUa6bQ+YJTcUU7GZ/IocGfJfCAe4eh9nG+YYNuGpD0MBukxeWzOxKG15z3HwB 3A== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by aserp2120.oracle.com with ESMTP id 3668qn2knu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 22 Jan 2021 06:34:26 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 10M6Fnht017946; Fri, 22 Jan 2021 06:32:25 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by userp3030.oracle.com with ESMTP id 3668rgav79-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 22 Jan 2021 06:32:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=go+7wa7vTRxfvjYQtEuHQSUbx6nRR67Ez/WJ6/eoxCU420J0DT8C9mWIHOn/J4a2kGhkx1BX6ayIxJQy5nmSK9fIR3wJtoFrz0CqN0+kjlYiEUe7rzpi4+NsxfA1FyrymTCbEJpeOKxb2vnV54s4b0j5jl/WRYI2/XIrliOCKmQJJ6dUWS1gThhiQE89dbuw9mRUWcpjI/gqzQchU88FT0iHF6LxBZlsrkxvJcgiMp26SDx35i8+hqnfaBc45KSAxDBUkVP3eTaZPYSStQ3Rw8QcmSPo1pdB47QJ3pi2jtB81k7l1ZZLhbZWlV7ixnR8UUhExt0qKkIe+Vk5fkTqlQ== 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-SenderADCheck; bh=BMrZRRk+5iOBkijgIyCwBza4FblB7IissEX7JzswBOk=; b=XIIPuQRui6OOgBeA7LmEiWrvH0u3G4smKx/iFDTjQo9hZijfiNW95ypcNOa1g8ZiwQ3569l0N5pAj/myfi2u+UezA6drjXu5QfZQ3QLpUgMB4gyVxk0E+6RlW6TLE998ZOMJxZlfjyWio5dDkgL6K9NQlb7QGFyRAVCxQ52t8KvFo0n/wYg45nGgeZH35uOw7NFOwfNHs34XqzO7EiHCukI9h2OwV2/M0KpmzE1Ol2b1MSWUbwM0L19AVqhS5y++ZLt0C7UhtmVVn6UVovSGm8GyQiGX6Ds7CYDOoPM4UXNp2vKwH6Q4jffSMT6MjZhV9lGG1vqJ16nuXPXnS/HSzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BMrZRRk+5iOBkijgIyCwBza4FblB7IissEX7JzswBOk=; b=bkAbGI+uU9bMStThgQWV+fnHg6MeHCZGFXqLMVQXe9D+my2yThd8tZMNJUPodu/RQzOyfDxUwY6z8Jjq1s9HO7Z2qJhvKkW9201Zb42r7/c3gfrtWQTD+CW1mWE5yXlGhfpKXY3/4OSvVVMe3CWNkaYVPgiH+YNVgunkiV8hHyk= Received: from CY4PR10MB1718.namprd10.prod.outlook.com (2603:10b6:910:9::17) by CY4PR1001MB2245.namprd10.prod.outlook.com (2603:10b6:910:44::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.14; Fri, 22 Jan 2021 06:32:22 +0000 Received: from CY4PR10MB1718.namprd10.prod.outlook.com ([fe80::39dc:6ba7:9397:cb6]) by CY4PR10MB1718.namprd10.prod.outlook.com ([fe80::39dc:6ba7:9397:cb6%6]) with mapi id 15.20.3763.014; Fri, 22 Jan 2021 06:32:22 +0000 Subject: Re: [edk2-devel] [PATCH v4 0/9] support CPU hot-unplug To: Laszlo Ersek , devel@edk2.groups.io Cc: imammedo@redhat.com, boris.ostrovsky@oracle.com References: <20210118063457.358581-1-ankur.a.arora@oracle.com> <5d932166-9413-d195-230f-8d7c9a70aa2e@oracle.com> <668b5faa-5c8b-97b5-f679-a431768d4f94@redhat.com> <07470a7e-1e9c-e950-ae72-1e5ec45f22c7@oracle.com> From: "Ankur Arora" Message-ID: <286d54a0-b743-c36b-73e9-7792f1109bc4@oracle.com> Date: Thu, 21 Jan 2021 22:32:19 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 In-Reply-To: X-Originating-IP: [148.87.23.9] X-ClientProxiedBy: CO2PR05CA0094.namprd05.prod.outlook.com (2603:10b6:104:1::20) To CY4PR10MB1718.namprd10.prod.outlook.com (2603:10b6:910:9::17) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.0.108] (148.87.23.9) by CO2PR05CA0094.namprd05.prod.outlook.com (2603:10b6:104:1::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.6 via Frontend Transport; Fri, 22 Jan 2021 06:32:21 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ad9a2d6b-e84f-4d54-a5f7-08d8be9f79bf X-MS-TrafficTypeDiagnostic: CY4PR1001MB2245: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vizRfi7T3snqzE5ww5FupG9MLRDzOT7w97u5ZnagCJDXudISEZLEnUwlse8rPAPcOgL0mp5ISRjORqUEF8O5FXofddcGC4WpWGx2uw5m0so1c1eTcAQEYBl66mwqb4TiudzPtSDEyXallkUXuMb99wHOKlL3hd7MaTJ+xKnsk87WOiANWGUx+Svh09Jqv2ieqU+c4P++EVWju0fRy9LOoXUZNLqeucWigTHEF5nI1A6U/RpnZxE/YUalrS9E2/ospg0eZTIWA5oerG9Pbj3NruVCLTUXs7S9Wtkks8Rm/Y3RzH1H9F8xoiv4ghjEcCBwXPBv1Mo5dWqXh76rPiDwAq/FjzPw1cwrvXDfxEgUXaF3gUANrvEkJ3Qjkau9A8hNFmUnVnxWPJ8je2XPFPaIuM4LPtgZegSCj5HJBoloNNju3RUvKLdz9+XCgXXnWtV2YSNFpqotkBOyg2dDeV7Qpr4mJgcHm1sAj+NuOM6dnHomZdpeKL2hXi9tfPacK/o4aRweC2wWtBst6BcQNF7vvrayh9WkW9rSob+5CR5zb6GqVKySnXSuZjUZLuu9S7CuKa61W2bOKUqR8eyORoy+zXyYz03dHnwNGbkp8tVbajnIk6N0+BB2zDm9M7ObU+Sg8m/YVYoip3tMkN/uQvMZc6POC1TIwoolaeRXHwNxf8UJ6TeRVRYNhzxjr7xXZlOa X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR10MB1718.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(366004)(346002)(396003)(39860400002)(376002)(4001150100001)(66946007)(107886003)(2906002)(31686004)(66476007)(66556008)(4326008)(8676002)(6486002)(83380400001)(186003)(26005)(53546011)(36756003)(86362001)(16526019)(31696002)(316002)(508600001)(5660300002)(2616005)(8936002)(956004)(16576012)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?WEF5V0dPbHA0RDljdmV5aWJ1NkQyS0daYi9INUY0UnZEcTVlSHdCQkswTlhp?= =?utf-8?B?RVRWRFZrTU1EMEpNTWVhYXV4OTROSDgyWkN3NVRRb2NpM2JjYTNpcmN4Y1p2?= =?utf-8?B?YzRYZ2x4VUFZVUVQRGplakRnOUUyQVBPTTQ5SUNKbHJCN0hiTVRFb2VPRnJr?= =?utf-8?B?cVJoYlU1N2VmYThDNUJ4RWhmK2dqd29IejZwekxub25VSitoYnpPYlMwSTVL?= =?utf-8?B?Q1V5VmhmTnN5Y2VqSXRkb1o5VG5jOS9IOXVQMTU3bnh5dFZxdGd6SWhlMkpn?= =?utf-8?B?NnBHNVFZbkNIZHZUczVLaENIMHNXOFBNcnhramRuV3BrdW9WSkFlZHpSYU9Q?= =?utf-8?B?alNYU1hxZ00xWVorSzlQaWMyeXE3V2lCUW1US093MzFKNEdPVjFXdlN2ckNv?= =?utf-8?B?YkYrMVYvcjEvcEtOUGxtZWZKekVHcDBNWFpwVFBHL1pHWFJvc2JTOVVtamhs?= =?utf-8?B?RVR4L1o1RGI0WUh6WTE1VzhkTnR5RFVIOU1VdW5JNWJhLys1MzRmUDNKSWRW?= =?utf-8?B?M1pSbHQ0RU1veWEzbG9uR1lTc1VqZ1FmcFMvOGtEYjQ1WkkvdlZaMExnZktG?= =?utf-8?B?NUt4aVZ1ZjZMYVNOc3phRHM5eGozZTVxa0k1bm1tNldEV0IveVRUVkJSaDkx?= =?utf-8?B?Q00vcXBpKzhkUjg0U1V1ZUNyQ0xUWHd6ZlNxZnRneHdsQkNZSkJRWEZrWnlu?= =?utf-8?B?MTl6QU4zN0gzOEIydzcreW9OeHhwbmRqM2hBeXlKaWhBRzZFRVVUeTNZR0JL?= =?utf-8?B?UUNKS3BDTUhueStrUmtVaGxXSTJRbWoxUkdLTFVzK0lidWRrQWZBQllKSkgx?= =?utf-8?B?SFVsRjB1a0NTajFlRlgrNjJLUEVTOTdWM0Z2RGdOd20zbE5tamRHczAvTTdD?= =?utf-8?B?RTk0WkgzQXpyQWRyallRQ3orNlFkVW42eVhlNFdEbGFEY0dnbGRWT2E4RStG?= =?utf-8?B?ZnYzKzZWTXp6dFl0cDkzclFxSDZMcGxjY3Q4R0tqRjBxT1A5dWF5Unh5ZXMv?= =?utf-8?B?ZHhWaFJBY1E4YkNqdW50aGw3RGFEcjdYWlY1MDB2V2p2bzhmVDBKR2ZaV3pl?= =?utf-8?B?TEpYaFRDeU8vT1U0NHpIcVozMGQzQkxvd1QwY0t4K0F5L2JseEJkbWtuRzFt?= =?utf-8?B?N0ZkakVDemdFb0t5WmxTSVkzYW1VNURVNVNlZVozZ1JEdkhqcDA0MWtDam05?= =?utf-8?B?ekJ2OEF2UHdUVnVpWjdZaEYxRjNabHloQmIyMjN0Ty9UZEVjOFZ3U3B1dlRR?= =?utf-8?B?c3h3NUtqYjJCYy96TFR0eFlrNGFpaFJtTlBpZ085Q29obGp0dTczdEV0N1RW?= =?utf-8?B?aGNwOEVQWGU0VWVISjIyK0d5czJxc2luWHlRZnJGcTN3NHVOcExLMHB1aHk0?= =?utf-8?B?U0dhU2FLTG94cGZtZmxFdTNjdHpMOXo4a1FCdWVXS093TmRzWmlMUjMyNmZa?= =?utf-8?Q?uwHnsw2p?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad9a2d6b-e84f-4d54-a5f7-08d8be9f79bf X-MS-Exchange-CrossTenant-AuthSource: CY4PR10MB1718.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2021 06:32:22.7014 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /RF3K2HQ9S5FR7ZOD9kcbeoBDQjsJlr8lvspXR4mEueraUfEGhdnsYIgBTwOO7XpiEHuQwyOJosD3LlnpvFKMeE5bEF1T0GvjygXOoOh2Yw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1001MB2245 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9871 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 mlxlogscore=999 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2101220033 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9871 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 priorityscore=1501 adultscore=0 impostorscore=0 mlxlogscore=999 spamscore=0 suspectscore=0 phishscore=0 clxscore=1015 bulkscore=0 mlxscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2101220034 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit On 2021-01-21 11:51 a.m., Laszlo Ersek wrote: > On 01/21/21 20:11, Ankur Arora wrote: >> On 2021-01-21 4:29 a.m., Laszlo Ersek wrote: > >>> For catching such issues early on, please run "PatchCheck.py" before >>> posting, e.g. as in: >>> >>> $ python3 BaseTools/Scripts/PatchCheck.py master..topic_branch >>> >>> (In the present case, PatchCheck reports lots of "not CRLF" errors.) >>> >> >> PatchCheck.py is great. Thanks. >> >>> >>> An even better idea is to push your topic branch (which you're about to >>> post to the list) to your edk2 fork on github.com, and then submit a >>> pull request against the "tianocore/edk2" project. The pull request will >>> be auto-closed in the end (it will never be merged), but the goal is to >>> trigger a CI run on the patch set, and to give you the error messages if >>> any. PatchCheck runs as a part of CI, too. >>> >>> (github.com PRs are used for actual merging by edk2 maintainers, but for >>> that, they set the "push" label on the subject PRs, and the "push" label >>> is restricted to maintainers.) >>> >>> I apologize about the extra delay. Would you be OK posting v5? >> >> Sure. > > Thanks for your understanding, I'm relieved. > >> Just a side question which I should have asked you earlier: are >> the coding standards listed somewhere? > > Yes, see "C Coding Standards" at > . > > Although... > >> I had looked for answers to similar questions but the "TianoCore C style >> guide" doesn't mention either PatchCheck.py or rules around CRLF. > > ... you may have found exactly that, already. Unfortunately, like all > documentation in the world, this document is somewhat out of date. > > There is also a tool, called ECC, that contains a builtin C language > parser, that enforces various style requirements. It's built into the CI > system and runs on github -- however, we have it disabled for OVMF, in > commit ef3e73c6a0c0 ("OvmfPkg: Disable EccCheck CI until EccCheck issues > are fixed", 2020-12-14). There are two reasons for that: > > - Some stuff that ECC enforces is just overzealous -- in some cases, we > relax the coding style under OvmfPkg specifically, but ECC cannot easily > be configured to tolerate those relaxations (for example, you cannot > configure it to ignore a particular error code *regardless* of where it > occurs under OvmfPkg). > > - In some cases, ECC rejects C language constructs that are both valid > and conformant to the coding style (i.e., ECC has its own bugs). > > > So we usually "teach" these quirks to contributors during review. It's > quite a lot of investment, which is part of why we hope that > contributors stick around. A very understandable sentiment :). > > An alternative is this: in your topic branch that you intend to post to > edk2-devel, include an *extra* patch (not to be posted to the list) that > *reverts* commit ef3e73c6a0c0. And submit a github.com PR with this > variant of your topic branch. As a result, ECC will be unleashed on (the > end-stage of) your patch series. If you fix all of the ECC issues, then > reviewers should make next to zero *style* complaints -- on the other > hand, you could be updating code that ECC complains about *incorrectly* > (due to an ECC bug, or because the subject style rule is something we > deem superfluous, or at least "possible to bend", under OvmfPkg). > > So perhaps try to investigate this latter avenue, and see if you are > willing to deal with what ECC throws at you. :) Can't guarantee that I'll see it through but my curiosity on what ECC will throw at me is piqued. Will try. > >> Thanks for the comments and my apologies for making you review all of >> these non-substantive changes. > > It's a standard part of reviewing the first few contributions of a new > community member; it's too bad we don't have better stuff in place. We > do have docs but they are slightly outdated, and we do have ECC but with > warts. > > We also have recommendations (not official requirements!) on setting up > git, as a part of > > -- which is likely out of date somewhat --; the I guess that's the nature of non-executable bits... out of date soon as they are written. Thanks, this and the scripts below both were pretty useful. > BaseTools/Scripts/SetupGit.py > > utility automates more or less the same settings. > > We also have > > BaseTools/Scripts/GetMaintainer.py > > which lets you determine the Cc:'s you should put in each commit message... > > And when you dump all this *process* on a new contributor, they run away > screaming -- kind of justifiedly. :/ Heh, I think I see the appeal of this gradual introduction of process. Personally speaking, it is after working on this feature and seeing things like SafeUintnMult(), that you see that FW generally and EDK2 specifically really does need to be written differently from, for instance the kernel. Thanks Ankur > > Thanks > Laszlo >