diff mbox series

[v6,02/20] xen/riscv: disable unnecessary configs

Message ID 5a1b905601db481a1a625dafbbf9b28dbe12876c.1710517542.git.oleksii.kurochko@gmail.com (mailing list archive)
State Superseded
Headers show
Series Enable build of full Xen for RISC-V | expand

Commit Message

Oleksii K. March 15, 2024, 6:05 p.m. UTC
This patch disables unnecessary configs for two cases:
1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds (GitLab CI jobs).
2. By using tiny64_defconfig for non-randconfig builds.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V6:
 - Nothing changed. Only rebase.
---
Changes in V5:
 - Rebase and drop duplicated configs in EXTRA_FIXED_RANDCONFIG list
 - Update the commit message
---
Changes in V4:
 - Nothing changed. Only rebase
---
Changes in V3:
 - Remove EXTRA_FIXED_RANDCONFIG for non-randconfig jobs.
   For non-randconfig jobs, it is sufficient to disable configs by using the defconfig.
 - Remove double blank lines in build.yaml file before archlinux-current-gcc-riscv64-debug
---
Changes in V2:
 - update the commit message.
 - remove xen/arch/riscv/Kconfig changes.
---
 automation/gitlab-ci/build.yaml         | 24 ++++++++++++++++++++++++
 xen/arch/riscv/configs/tiny64_defconfig | 17 +++++++++++++++++
 2 files changed, 41 insertions(+)

Comments

Jan Beulich March 18, 2024, 7:54 a.m. UTC | #1
On 15.03.2024 19:05, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/configs/tiny64_defconfig
> +++ b/xen/arch/riscv/configs/tiny64_defconfig
> @@ -7,6 +7,23 @@
>  # CONFIG_GRANT_TABLE is not set
>  # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
>  # CONFIG_MEM_ACCESS is not set
> +# CONFIG_ARGO is not set
> +# CONFIG_HYPFS_CONFIG is not set

What exactly is wrong with permitting this?

> +# CONFIG_CORE_PARKING is not set

At the example of this: It cannot be enabled by a user (or randconfig),
it needs to be selected by an arch. Which RISC-V doesn't. Hence why
specify (and not really override) the value here? This may apply to
others as well, at the very least ...

> +# CONFIG_DEBUG_TRACE is not set
> +# CONFIG_IOREQ_SERVER is not set
> +# CONFIG_CRASH_DEBUG is not setz
> +# CONFIG_KEXEC is not set
> +# CONFIG_LIVEPATCH is not set
> +# CONFIG_NUMA is not set
> +# CONFIG_PERF_COUNTERS is not set
> +# CONFIG_HAS_PMAP is not set

... anything CONFIG_HAS_*.

In summary - please limit overrides to what is minimally necessary.

Jan

> +# CONFIG_TRACEBUFFER is not set
> +# CONFIG_XENOPROF is not set
> +# CONFIG_COMPAT is not set
> +# CONFIG_COVERAGE is not set
> +# CONFIG_UBSAN is not set
> +# CONFIG_NEEDS_LIBELF is not set
>  
>  CONFIG_RISCV_64=y
>  CONFIG_DEBUG=y
Oleksii K. March 18, 2024, 2:42 p.m. UTC | #2
On Mon, 2024-03-18 at 08:54 +0100, Jan Beulich wrote:
> On 15.03.2024 19:05, Oleksii Kurochko wrote:
> > --- a/xen/arch/riscv/configs/tiny64_defconfig
> > +++ b/xen/arch/riscv/configs/tiny64_defconfig
> > @@ -7,6 +7,23 @@
> >  # CONFIG_GRANT_TABLE is not set
> >  # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
> >  # CONFIG_MEM_ACCESS is not set
> > +# CONFIG_ARGO is not set
> > +# CONFIG_HYPFS_CONFIG is not set
> 
> What exactly is wrong with permitting this?
Nothing wrong, I just chose the wrong approach about which configs
should be disabled.

Considering your comment below, I'll limit overrides to what is
minimally necessary.

~ Oleksii
> 
> > +# CONFIG_CORE_PARKING is not set
> 
> At the example of this: It cannot be enabled by a user (or
> randconfig),
> it needs to be selected by an arch. Which RISC-V doesn't. Hence why
> specify (and not really override) the value here? This may apply to
> others as well, at the very least ...
> 
> > +# CONFIG_DEBUG_TRACE is not set
> > +# CONFIG_IOREQ_SERVER is not set
> > +# CONFIG_CRASH_DEBUG is not setz
> > +# CONFIG_KEXEC is not set
> > +# CONFIG_LIVEPATCH is not set
> > +# CONFIG_NUMA is not set
> > +# CONFIG_PERF_COUNTERS is not set
> > +# CONFIG_HAS_PMAP is not set
> 
> ... anything CONFIG_HAS_*.
> 
> In summary - please limit overrides to what is minimally necessary.
> 
> Jan
> 
> > +# CONFIG_TRACEBUFFER is not set
> > +# CONFIG_XENOPROF is not set
> > +# CONFIG_COMPAT is not set
> > +# CONFIG_COVERAGE is not set
> > +# CONFIG_UBSAN is not set
> > +# CONFIG_NEEDS_LIBELF is not set
> >  
> >  CONFIG_RISCV_64=y
> >  CONFIG_DEBUG=y
>
diff mbox series

Patch

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index aac29ee13a..3b3d2c47dc 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -519,6 +519,30 @@  alpine-3.18-gcc-debug-arm64-boot-cpupools:
       CONFIG_EXPERT=y
       CONFIG_GRANT_TABLE=n
       CONFIG_MEM_ACCESS=n
+      CONFIG_SCHED_CREDIT=n
+      CONFIG_SCHED_CREDIT2=n
+      CONFIG_SCHED_RTDS=n
+      CONFIG_SCHED_NULL=n
+      CONFIG_SCHED_ARINC653=n
+      CONFIG_TRACEBUFFER=n
+      CONFIG_HYPFS=n
+      CONFIG_SPECULATIVE_HARDEN_ARRAY=n
+      CONFIG_ARGO=n
+      CONFIG_HYPFS_CONFIG=n
+      CONFIG_CORE_PARKING=n
+      CONFIG_DEBUG_TRACE=n
+      CONFIG_IOREQ_SERVER=n
+      CONFIG_CRASH_DEBUG=n
+      CONFIG_KEXEC=n
+      CONFIG_LIVEPATCH=n
+      CONFIG_NUMA=n
+      CONFIG_PERF_COUNTERS=n
+      CONFIG_HAS_PMAP=n
+      CONFIG_XENOPROF=n
+      CONFIG_COMPAT=n
+      CONFIG_UBSAN=n
+      CONFIG_NEEDS_LIBELF=n
+      CONFIG_XSM=n
 
 archlinux-current-gcc-riscv64:
   extends: .gcc-riscv64-cross-build
diff --git a/xen/arch/riscv/configs/tiny64_defconfig b/xen/arch/riscv/configs/tiny64_defconfig
index 09defe236b..35915255e6 100644
--- a/xen/arch/riscv/configs/tiny64_defconfig
+++ b/xen/arch/riscv/configs/tiny64_defconfig
@@ -7,6 +7,23 @@ 
 # CONFIG_GRANT_TABLE is not set
 # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
 # CONFIG_MEM_ACCESS is not set
+# CONFIG_ARGO is not set
+# CONFIG_HYPFS_CONFIG is not set
+# CONFIG_CORE_PARKING is not set
+# CONFIG_DEBUG_TRACE is not set
+# CONFIG_IOREQ_SERVER is not set
+# CONFIG_CRASH_DEBUG is not setz
+# CONFIG_KEXEC is not set
+# CONFIG_LIVEPATCH is not set
+# CONFIG_NUMA is not set
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_HAS_PMAP is not set
+# CONFIG_TRACEBUFFER is not set
+# CONFIG_XENOPROF is not set
+# CONFIG_COMPAT is not set
+# CONFIG_COVERAGE is not set
+# CONFIG_UBSAN is not set
+# CONFIG_NEEDS_LIBELF is not set
 
 CONFIG_RISCV_64=y
 CONFIG_DEBUG=y