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

[xen master] firmware/shim: UNSUPPORTED=n



commit b509d4a688d80e802ff580990288ef5e17859df6
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Thu May 27 14:39:33 2021 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu May 27 14:39:33 2021 +0200

    firmware/shim: UNSUPPORTED=n
    
    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 at least the SCHED_NULL adjustments, the shim
    would suddenly build with RTDS as its default scheduler.
    
    As a result, the SCHED_NULL setting can also be dropped from defconfig.
    
    Clearly with the shim defaulting to it, SCHED_NULL must be supported at
    least there.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Reviewed-by: Dario Faggioli <dfaggioli@xxxxxxxx>
---
 SUPPORT.md                            | 3 ++-
 xen/arch/x86/configs/pvshim_defconfig | 3 +--
 xen/common/sched/Kconfig              | 5 +++--
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/SUPPORT.md b/SUPPORT.md
index d0d4fc6f4f..7a53635c9e 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -351,9 +351,10 @@ Currently only single-vcpu domains are supported.
 A very simple, very static scheduling policy
 that always schedules the same vCPU(s) on the same pCPU(s).
 It is designed for maximum determinism and minimum overhead
-on embedded platforms.
+on embedded platforms and the x86 PV shim.
 
     Status: Experimental
+    Status, x86/shim: Supported
 
 ### NUMA scheduler affinity
 
diff --git a/xen/arch/x86/configs/pvshim_defconfig 
b/xen/arch/x86/configs/pvshim_defconfig
index cdf5776610..787376df5a 100644
--- a/xen/arch/x86/configs/pvshim_defconfig
+++ b/xen/arch/x86/configs/pvshim_defconfig
@@ -6,7 +6,6 @@ CONFIG_PV_SHIM=y
 CONFIG_PV_SHIM_EXCLUSIVE=y
 CONFIG_NR_CPUS=32
 CONFIG_EXPERT=y
-CONFIG_SCHED_NULL=y
 # Disable features not used by the PV shim
 # CONFIG_XEN_SHSTK is not set
 # CONFIG_GRANT_TABLE is not set
@@ -15,7 +14,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
diff --git a/xen/common/sched/Kconfig b/xen/common/sched/Kconfig
index 94c9e20139..3d9f9214b8 100644
--- 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
@@ -39,6 +39,7 @@ config SCHED_NULL
 
 choice
        prompt "Default Scheduler?"
+       default SCHED_NULL_DEFAULT if PV_SHIM_EXCLUSIVE
        default SCHED_CREDIT2_DEFAULT
 
        config SCHED_CREDIT_DEFAULT
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

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