[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [for-4.17] automation: Do not use null scheduler for boot cpupools test


  • To: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>
  • From: Michal Orzel <michal.orzel@xxxxxxx>
  • Date: Mon, 24 Oct 2022 09:15:41 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); 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=ZgHiBQ/44sNd/SB4hB3n+crBYmw51aO1I6Gz5eztZ9M=; b=CCGiBQsPsWboWb32r9/EbSQA13q79JSMr2TmLqtg+dF7DdiDpmfjBv2jILZfyJYJTSVmij74M+9B3HNw88pBrMqi4KQqJT0yIpG/Gfa2TKVZ2BrC3sKMceIGhs3L9H9IDp60oItPXPHdw8Og+tQY3UJp2lEb0BapYmY0mmGGjPoY5z5DqpcoS7WaZQaYfbgAjV0ZP9LjxnTmgLIMy72bAd/HPIyDCbcCKplRSrzcVFjQcYGas19APjAalDQxvp9alLFSX1xoFdxAiL+wR1BFI9PuQpBzBMrk8x7C5U8xNr2iYp5QNstRfoWNeAZRXNr/gzop7vrorV928SfNZCvfFg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gUq3C/8/yiKxQy3eoRbLRCZ4q0em8fZ2hpVrGkiHDtXwLlrXpAJgGUlKFdX6GATAbuOYAfJoyQhDhR1KTzFdVywGOVr64wBixolSbbUrt1+j1QoPCWl1xYq6tEHqxWdbq+3c1qIQ6N52DxfENP0mnhUJuglax8adyZbhSwPzlKaHbG+NuG79dLSaIrBsPo5/L4Y5x1jQt5qkqyYpjjb9pnPXT+BCe3gRmCbQ0TdXFaI1/9tsfuJXRrObT1bynBCJcvYulQrkKXUCVmflJzl1kX14t/dkaXE3/8tVq+LsVDweYh0YPcHLrr4CaPulVHhygq4/wDvqB91+5fdJFmrSJQ==
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Doug Goldstein <cardoe@xxxxxxxxxx>, Henry Wang <Henry.Wang@xxxxxxx>
  • Delivery-date: Mon, 24 Oct 2022 07:16:20 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Replying to all,

On 21/10/2022 21:36, Stefano Stabellini wrote:
> 
> 
> On Fri, 21 Oct 2022, Andrew Cooper wrote:
>> On 21/10/2022 17:53, Michal Orzel wrote:
>>> Null scheduler is not enabled on non-debug Xen builds so the current
>>> test can lead to a failure on such jobs. We still want to test that we
>>> can assign the cpupool to a domU with a different scheduler than default
>>> one (credit2). Switch to credit as it is enabled by default.
>>>
>>> Fixes: 36e3f4158778 ("automation: Add a new job for testing boot time 
>>> cpupools on arm64")
>>> Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx>
>>
>> /sigh - I'm sure I nacked that stupidity to begin with.  apparently not...
>>
>> It is totally bogus for CONFIG_DEBUG to influence logical chunks of
>> functionality like this.  The CI script is good in its current form.
>>
>> RTDS and ARINC should be default n.
>>
>> NULL is more tricky.  PV_SHIM is explicitly security supported, and has
>> been for years, so the "UNSUPPORTED" is bogus, whatever the default is.
>>
>> As NULL is explicitly tested in CI, it's clearly supported, and probably
>> ought to be on default.
>>
>>
>> Please instead fix Kconfig to not be broken.  That will be a far better
>> fix overall for people.
>>
>> As a more general note, tests which are using non-default pieces of
>> logic ought to activate them explicitly.
> 
> 
> I agree with you, but first let me clarify the word "supported".
> 
> 
> In Xen Project "supported" implies extra efforts to follow the security
> process and of course the security team should be on board with it. If
> we say "supported, non security supported" we don't need to follow the
> security process but still we sign up for backporting fixes to the
> stable tree. It is less extra effort but still some extra effort is
> involved.
> 
> So, this specific issue aside, I think that as we expand the testing
> capabilities of gitlab-ci, we'll have tests for things that are not
> necessarily neither "supported" nor "supported, non security supported".
> 
> 
> For the NULL scheduler, it is clearly important to many users so it
> would be valuable to move it to "supported, non security supported" and
> enabling it by default in the build. I don't recall if we still have any
> known outstanding issues with it. I think we need a separate email
> thread for that discussion and I would understand if the decision is not
> to change NULL support status for the 4.17 release (maybe for the 4.18
> release?).
> 
> 
> In any case, we don't need CONFIG_DEBUG to enable CONFIG_UNSUPPORTED. It
> is just that UNSUPPORTED and NULL don't get enabled by default in the
> non-DEBUG build. So to fix gitlab-ci, we can simply enable
> CONFIG_UNSUPPORTED explicitly for the builds where we need it
> (alpine-3.12-gcc-arm64-boot-cpupools).

Given that there are still diverging opinions \wrt making use of DEBUG
to influence enabling/disabling some functionalities in the code, I would
opt for modifying the CI job to explicitly specify the required config options,
just like I did for static-mem test. The necessary options to enable NULL are:
CONFIG_EXPERT=y
CONFIG_UNSUPPORTED=y
CONFIG_SCHED_NULL=y

This will fix the issue and allow us to continue with 4.17 release.
Given the outstanding issues reported by Julien, it would be challenging to
try to mark the NULL scheduler as supported, not security supported for this 
release.

Besides that, I think that Andrew still has a valid point. We seem to use DEBUG
only in Kconfig.debug (obvious choice) and sched/Kconfig. So this is not 
something
common to rely on DEBUG to enable logical functionalities (why did we make this 
exception for schedulers?).
Having said that, I think the discussion on whether to switch to default n
instead of default DEBUG or not is still valid and requires more people to give 
feedback.

~Michal





 


Rackspace

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