[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] core-parking: fix build with gcc12 and NR_CPUS=1
- To: Jan Beulich <jbeulich@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- Date: Mon, 27 Feb 2023 19:51:17 +0000
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
- 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=M1to9aRY6q6+ihjbE1wXGsg7foa49JBm9ylY9Csrzio=; b=J1TLNHFggS1Hqectb8yVixUNsItKlRYFOXBUf0gFtSSQJZQ9OZmX+q36XsSBkcRHg0ZzVwu8KPOIX3bTMXjpleAarixECfPuKJ0uck4J2PImqFGOMGTvLGu6pSgPfMGDzCLCbhivhTGyxvlyFaYcBHUQGABXbr9Bh5ULMFdb0eHzbklfWalk4rWrZw3PESuQDGpP+TkIvpwx2UMglzRrNrNLRxTN17YbfUiQIakWdWz/QVZk5v5kiFPOFiDXW6mO4I3IWQVfhhJfOrufbVbPlg8cR57gFU39CAqJqsjHdLMl15f49EIW9phCBPThixkd/4rEyNL4CWalGMitwlxI8A==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gVqHMaBWMGg108a4EjvAlO9ZV6i70yzh3REPoH/F4FVokB6uShxk2ZchX0vO8HSFlaYJffPe4Azazy56eZqo6CyGcVKblyjVc3MGi7wo9Ci8rvKg1PW3N1/FtNI0GioFFI6K5vpdxGnQEJ2Df0ZG8pVgqDsHs+0E90Ka9R4jxYEYWLsifZLQvGIHsBmD6WUavS3KEZltTtbl45D+VqdTU35p4QDUNk631LCMgjJDAA1SDF4Lj5b8DL+9gPJSLBEV19+lH1/Bxc00QvGyd/fblfqzwcpVRoxFww8dUGE+UkjRz5lmZ4TMJ/jMyHFzvWzHpVXbGMvJAP7WgyF9/e/xkA==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: Wei Liu <wl@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>
- Delivery-date: Mon, 27 Feb 2023 19:51:39 +0000
- Ironport-data: A9a23:b7dDjKIvzGGPccN1FE+R45QlxSXFcZb7ZxGr2PjKsXjdYENS32YFz WUcWz3UOfuLZWb3LtogaYW2901V7JeDx4IySQplqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5AZhPasjUGL2zBH5MrpOfcldEFOgKmVkNrbSb /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/ jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5QHlBTr qwbGQsGYyuArdyK2YKjSbZF05FLwMnDZOvzu1lG5BSAVLMKZM6GRK/Ho9hFwD03m8ZCW+7EY NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dopTGMlmSd05C0WDbRUvWMSd9YgQCzo WXe8n6iKhobKMae2XyO9XfEaurnzHOiAttDROfQGvhCmgysmmU/CCYsS1K7mNaclXSses9tE hlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0 V2ElM+vAiZg2JWKTVqN+7HSqim9UQAXMGsDaCksXQYDpd75r+kOYgnnS99iFOu5i4PzEDSpm jSS9nFh3fMUkNIB0Li98RbfmTWwq5PVTwkzoALKQmai6QA/b4mgD2C11WXmAT97BN7xZjG8U LIswqByMMhm4UmxqRGw
- Ironport-hdrordr: A9a23:5b1FRKrxXswKM1Il3enyTWoaV5uML9V00zEX/kB9WHVpm5Oj+P xGzc526farslsssSkb6Ku90KnpewK4yXcH2/hqAV7CZnishILMFu9fBOTZskTd8kHFh41gPM RbAuJD4b/LfCBHZK/BiWHSebdB/DDuytHtuQ609QYIcegeUdAH0+4PMHf9LqQZfnglObMJUL 6nouZXrTupfnoaKu6hAGMeYuTFr9rX0Lr7fB8vHXccmUSzpALtzIS/PwmT3x8YXT8K66wl63 L5nwvw4bjmm+2nyyXby3TY4/1t6ZfcI5p4dYOxY/ouW3TRYzWTFcRcsnq5zXMISdSUmRgXeR /30lUd1opImjbslyqO0GbQMkHboUoTAjnZuBilaDLY0LLEbSN/BMxbiY1DdBzFr0ImodFnya pOm3mUrpxNEHr77VLADvXzJmVXf3CP0A0fuP9Wi2YaXZoVabdXo4Ba9ERJEI0YFCa/7Iw8Cu FhAMzV+f4TKDqhHjjkl3gqxMbpUmU4Hx+ATERHssuJ0yJOlHQ8y0cD3sQQknoJ6Zp4QZhZ4O bPNLhuidh1P4YrRLM4AP1ETdq8C2TLTx6JOGWOIU7/HKVCIH7Jo46f2sRB2Mi6PJgTiJcikp XIV11V8WQ7fk7oBMWUmIdG6RDAWiG8Wi7xwsZV69x4t9THNcvW2O24OSITeueb0oYi65fgKo mO0bptco/eEVc=
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 27/02/2023 7:43 pm, Andrew Cooper wrote:
> On 09/09/2022 3:30 pm, Jan Beulich wrote:
>> select HAS_ALTERNATIVE
>> select HAS_COMPAT
>> select HAS_CPUFREQ
>> --- a/xen/arch/x86/platform_hypercall.c
>> +++ b/xen/arch/x86/platform_hypercall.c
>> @@ -727,12 +727,17 @@ ret_t do_platform_op(
>> case XEN_CORE_PARKING_SET:
>> idle_nums = min_t(uint32_t,
>> op->u.core_parking.idle_nums, num_present_cpus() -
>> 1);
>> - ret = continue_hypercall_on_cpu(
>> - 0, core_parking_helper, (void *)(unsigned
>> long)idle_nums);
>> + if ( CONFIG_NR_CPUS > 1 )
>> + ret = continue_hypercall_on_cpu(
>> + 0, core_parking_helper,
>> + (void *)(unsigned long)idle_nums);
>> + else if ( idle_nums )
>> + ret = -EINVAL;
>> break;
>>
>> case XEN_CORE_PARKING_GET:
>> - op->u.core_parking.idle_nums = get_cur_idle_nums();
>> + op->u.core_parking.idle_nums = CONFIG_NR_CPUS > 1
>> + ? get_cur_idle_nums() : 0;
> These don't look right.
>
> If the core parking feature isn't available, it should uniformly fail,
> not report success on the get side and fail on the set side.
Huh, and in extra fun.
It turns out we've had core parking unconditionally disabled in
XenServer for ~9 years now.
It looks at the idleness of dom0 and starts taking CPUs offline, even
when the VMs are busy.
I don't see how this functionality can ever have worked suitably... I
think there's a good argument to be made for having it user selectable,
and frankly, off-by-default.
~Andrew
|