[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



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.