We shouldn't default to include any unsupported code in the shim. Mark
the setting as off, replacing the ARGO specification. This points out
anomalies with the scheduler configuration: Unsupported schedulers
better don't default to Y in release builds (like is already the case
for ARINC653). Without these adjustments, the shim would suddenly build
with RTDS as its default scheduler.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
----
I'm certainly open to consider alterations on the sched/Kconfig
adjustments, but _something_ needs to be done there. In particular I'm
puzzled to find the NULL scheduler marked unsupported. Clearly with
the shim defaulting to it, it must be supported at least there.
--- a/xen/arch/x86/configs/pvshim_defconfig
+++ b/xen/arch/x86/configs/pvshim_defconfig
@@ -15,7 +15,7 @@ CONFIG_SCHED_NULL=y
# CONFIG_KEXEC is not set
# CONFIG_XENOPROF is not set
# CONFIG_XSM is not set
-# CONFIG_ARGO is not set
+# CONFIG_UNSUPPORTED is not set
# CONFIG_SCHED_CREDIT is not set
# CONFIG_SCHED_CREDIT2 is not set
# CONFIG_SCHED_RTDS is not set
--- a/xen/common/sched/Kconfig
+++ b/xen/common/sched/Kconfig
@@ -16,7 +16,7 @@ config SCHED_CREDIT2
config SCHED_RTDS
bool "RTDS scheduler support (UNSUPPORTED)" if UNSUPPORTED
- default y
+ default DEBUG
---help---
The RTDS scheduler is a soft and firm real-time scheduler for
multicore, targeted for embedded, automotive, graphics and gaming
@@ -31,7 +31,7 @@ config SCHED_ARINC653
config SCHED_NULL
bool "Null scheduler support (UNSUPPORTED)" if UNSUPPORTED
- default y
+ default PV_SHIM || DEBUG
---help---
The null scheduler is a static, zero overhead scheduler,
for when there always are less vCPUs than pCPUs, typically
the setting as off, replacing the ARGO specification. This points out
anomalies with the scheduler configuration: Unsupported schedulers
better don't default to Y in release builds (like is already the case
for ARINC653). Without these adjustments, the shim would suddenly build
with RTDS as its default scheduler.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
----
I'm certainly open to consider alterations on the sched/Kconfig
adjustments, but _something_ needs to be done there. In particular I'm
puzzled to find the NULL scheduler marked unsupported. Clearly with
the shim defaulting to it, it must be supported at least there.
--- a/xen/arch/x86/configs/pvshim_defconfig
+++ b/xen/arch/x86/configs/pvshim_defconfig
@@ -15,7 +15,7 @@ CONFIG_SCHED_NULL=y
# CONFIG_KEXEC is not set
# CONFIG_XENOPROF is not set
# CONFIG_XSM is not set
-# CONFIG_ARGO is not set
+# CONFIG_UNSUPPORTED is not set
# CONFIG_SCHED_CREDIT is not set
# CONFIG_SCHED_CREDIT2 is not set
# CONFIG_SCHED_RTDS is not set
--- a/xen/common/sched/Kconfig
+++ b/xen/common/sched/Kconfig
@@ -16,7 +16,7 @@ config SCHED_CREDIT2
config SCHED_RTDS
bool "RTDS scheduler support (UNSUPPORTED)" if UNSUPPORTED
- default y
+ default DEBUG
---help---
The RTDS scheduler is a soft and firm real-time scheduler for
multicore, targeted for embedded, automotive, graphics and gaming
@@ -31,7 +31,7 @@ config SCHED_ARINC653
config SCHED_NULL
bool "Null scheduler support (UNSUPPORTED)" if UNSUPPORTED
- default y
+ default PV_SHIM || DEBUG
---help---
The null scheduler is a static, zero overhead scheduler,
for when there always are less vCPUs than pCPUs, typically