[PATCH v5 00/18] xen: introduce CONFIG_SYSCTL

Penny Zheng posted 18 patches 4 months, 2 weeks ago
Failed in applying to current master (apply log)
There is a newer version of this series
xen/Kconfig.debug                            |   2 +-
xen/arch/arm/Kconfig                         |   1 +
xen/arch/arm/Makefile                        |   2 +-
xen/arch/riscv/stubs.c                       |   2 +
xen/arch/x86/Kconfig                         |   4 -
xen/arch/x86/Makefile                        |   2 +-
xen/arch/x86/acpi/cpu_idle.c                 |   2 +
xen/arch/x86/acpi/cpufreq/hwp.c              |   6 +
xen/arch/x86/acpi/cpufreq/powernow.c         |   4 +
xen/arch/x86/configs/pvshim_defconfig        |   1 +
xen/arch/x86/hvm/Kconfig                     |   1 -
xen/arch/x86/psr.c                           |  18 +
xen/common/Kconfig                           |  31 +-
xen/common/Makefile                          |   2 +-
xen/common/page_alloc.c                      |   4 +
xen/common/perfc.c                           |   2 +
xen/common/sched/arinc653.c                  |   6 +
xen/common/sched/core.c                      |   4 +
xen/common/sched/cpupool.c                   |   8 +
xen/common/sched/credit.c                    |   4 +
xen/common/sched/credit2.c                   |   4 +
xen/common/sched/private.h                   |   4 +
xen/common/spinlock.c                        |   2 +
xen/common/sysctl.c                          |   4 +-
xen/drivers/acpi/Makefile                    |   3 +-
xen/drivers/acpi/pm-op.c                     | 397 +++++++++++++++++++
xen/drivers/acpi/pmstat.c                    | 357 -----------------
xen/drivers/char/console.c                   |   2 +
xen/drivers/cpufreq/cpufreq_misc_governors.c |   2 +
xen/drivers/cpufreq/cpufreq_ondemand.c       |   2 +
xen/drivers/cpufreq/utility.c                |  41 --
xen/drivers/video/Kconfig                    |   2 +-
xen/include/acpi/cpufreq/cpufreq.h           |   3 -
xen/include/acpi/cpufreq/processor_perf.h    |  10 +
xen/include/hypercall-defs.c                 |   8 +-
xen/include/xsm/xsm.h                        |  18 +
xen/xsm/dummy.c                              |   6 +
xen/xsm/flask/hooks.c                        |  14 +
38 files changed, 569 insertions(+), 416 deletions(-)
create mode 100644 xen/drivers/acpi/pm-op.c
[PATCH v5 00/18] xen: introduce CONFIG_SYSCTL
Posted by Penny Zheng 4 months, 2 weeks ago
It can be beneficial for some dom0less systems to further reduce Xen footprint
via disabling some hypercalls handling code, which may not to be used &
required in such systems. Each hypercall has a separate option to keep
configuration flexible.

Options to disable hypercalls:
- sysctl
- domctl
- hvm
- physdev
- platform

This patch serie is only focusing on introducing CONFIG_SYSCTL. Different
options will be covered in different patch serie.

Features, like LIVEPATCH, Overlay DTB, which fully rely on sysctl op, will
be wrapped with CONFIG_SYSCTL, to reduce Xen footprint as much as possible.

It is derived from Stefano Stabellini's commit "xen: introduce kconfig options to
disable hypercalls"(
https://lore.kernel.org/xen-devel/20241219092917.3006174-1-Sergiy_Kibrik@epam.com)

Penny Zheng (16):
  xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"
  xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL
  xen/sysctl: wrap around XEN_SYSCTL_readconsole
  xen/sysctl: make CONFIG_TRACEBUFFER depend on CONFIG_SYSCTL
  xen/sysctl: wrap around XEN_SYSCTL_sched_id
  xen/sysctl: wrap around XEN_SYSCTL_perfc_op
  xen/sysctl: wrap around XEN_SYSCTL_lockprof_op
  xen/pmstat: introduce CONFIG_PM_OP
  xen/sysctl: introduce CONFIG_PM_STATS
  xen/sysctl: wrap around XEN_SYSCTL_page_offline_op
  xen/sysctl: wrap around XEN_SYSCTL_cpupool_op
  xen/sysctl: wrap around XEN_SYSCTL_scheduler_op
  xen/sysctl: wrap around XEN_SYSCTL_physinfo
  xen/sysctl: make CONFIG_COVERAGE depend on CONFIG_SYSCTL
  xen/sysctl: make CONFIG_LIVEPATCH depend on CONFIG_SYSCTL
  xen/sysctl: wrap around arch-specific arch_do_sysctl

Stefano Stabellini (2):
  xen: introduce CONFIG_SYSCTL
  xen/sysctl: wrap around sysctl hypercall

 xen/Kconfig.debug                            |   2 +-
 xen/arch/arm/Kconfig                         |   1 +
 xen/arch/arm/Makefile                        |   2 +-
 xen/arch/riscv/stubs.c                       |   2 +
 xen/arch/x86/Kconfig                         |   4 -
 xen/arch/x86/Makefile                        |   2 +-
 xen/arch/x86/acpi/cpu_idle.c                 |   2 +
 xen/arch/x86/acpi/cpufreq/hwp.c              |   6 +
 xen/arch/x86/acpi/cpufreq/powernow.c         |   4 +
 xen/arch/x86/configs/pvshim_defconfig        |   1 +
 xen/arch/x86/hvm/Kconfig                     |   1 -
 xen/arch/x86/psr.c                           |  18 +
 xen/common/Kconfig                           |  31 +-
 xen/common/Makefile                          |   2 +-
 xen/common/page_alloc.c                      |   4 +
 xen/common/perfc.c                           |   2 +
 xen/common/sched/arinc653.c                  |   6 +
 xen/common/sched/core.c                      |   4 +
 xen/common/sched/cpupool.c                   |   8 +
 xen/common/sched/credit.c                    |   4 +
 xen/common/sched/credit2.c                   |   4 +
 xen/common/sched/private.h                   |   4 +
 xen/common/spinlock.c                        |   2 +
 xen/common/sysctl.c                          |   4 +-
 xen/drivers/acpi/Makefile                    |   3 +-
 xen/drivers/acpi/pm-op.c                     | 397 +++++++++++++++++++
 xen/drivers/acpi/pmstat.c                    | 357 -----------------
 xen/drivers/char/console.c                   |   2 +
 xen/drivers/cpufreq/cpufreq_misc_governors.c |   2 +
 xen/drivers/cpufreq/cpufreq_ondemand.c       |   2 +
 xen/drivers/cpufreq/utility.c                |  41 --
 xen/drivers/video/Kconfig                    |   2 +-
 xen/include/acpi/cpufreq/cpufreq.h           |   3 -
 xen/include/acpi/cpufreq/processor_perf.h    |  10 +
 xen/include/hypercall-defs.c                 |   8 +-
 xen/include/xsm/xsm.h                        |  18 +
 xen/xsm/dummy.c                              |   6 +
 xen/xsm/flask/hooks.c                        |  14 +
 38 files changed, 569 insertions(+), 416 deletions(-)
 create mode 100644 xen/drivers/acpi/pm-op.c

-- 
2.34.1
Re: [PATCH v5 00/18] xen: introduce CONFIG_SYSCTL
Posted by Jan Beulich 4 months ago
On 16.06.2025 08:41, Penny Zheng wrote:
> It can be beneficial for some dom0less systems to further reduce Xen footprint
> via disabling some hypercalls handling code, which may not to be used &
> required in such systems. Each hypercall has a separate option to keep
> configuration flexible.
> 
> Options to disable hypercalls:
> - sysctl
> - domctl
> - hvm
> - physdev
> - platform
> 
> This patch serie is only focusing on introducing CONFIG_SYSCTL. Different
> options will be covered in different patch serie.
> 
> Features, like LIVEPATCH, Overlay DTB, which fully rely on sysctl op, will
> be wrapped with CONFIG_SYSCTL, to reduce Xen footprint as much as possible.
> 
> It is derived from Stefano Stabellini's commit "xen: introduce kconfig options to
> disable hypercalls"(
> https://lore.kernel.org/xen-devel/20241219092917.3006174-1-Sergiy_Kibrik@epam.com)
> 
> Penny Zheng (16):
>   xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"
>   xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL
>   xen/sysctl: wrap around XEN_SYSCTL_readconsole
>   xen/sysctl: make CONFIG_TRACEBUFFER depend on CONFIG_SYSCTL
>   xen/sysctl: wrap around XEN_SYSCTL_sched_id
>   xen/sysctl: wrap around XEN_SYSCTL_perfc_op
>   xen/sysctl: wrap around XEN_SYSCTL_lockprof_op
>   xen/pmstat: introduce CONFIG_PM_OP
>   xen/sysctl: introduce CONFIG_PM_STATS
>   xen/sysctl: wrap around XEN_SYSCTL_page_offline_op
>   xen/sysctl: wrap around XEN_SYSCTL_cpupool_op
>   xen/sysctl: wrap around XEN_SYSCTL_scheduler_op
>   xen/sysctl: wrap around XEN_SYSCTL_physinfo
>   xen/sysctl: make CONFIG_COVERAGE depend on CONFIG_SYSCTL
>   xen/sysctl: make CONFIG_LIVEPATCH depend on CONFIG_SYSCTL
>   xen/sysctl: wrap around arch-specific arch_do_sysctl

When thinking about whether to commit part of the series, it occurred to me that
to avoid transiently regressing shim (in size), shouldn't the currently 1st patch
be moved to be 2nd to last, and then be committed together with the last one? In
any event the plan right now is to commit some patches from the beginning of this
series, but specifically without patch 1. Please shout if you see any problem
with this.

Jan
RE: [PATCH v5 00/18] xen: introduce CONFIG_SYSCTL
Posted by Penny, Zheng 4 months ago
[Public]

> -----Original Message-----
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Thursday, June 26, 2025 11:51 PM
> To: Penny, Zheng <penny.zheng@amd.com>
> Cc: Huang, Ray <Ray.Huang@amd.com>; Andrew Cooper
> <andrew.cooper3@citrix.com>; Roger Pau Monné <roger.pau@citrix.com>;
> Anthony PERARD <anthony.perard@vates.tech>; Orzel, Michal
> <Michal.Orzel@amd.com>; Julien Grall <julien@xen.org>; Stefano Stabellini
> <sstabellini@kernel.org>; Daniel P. Smith <dpsmith@apertussolutions.com>; Dario
> Faggioli <dfaggioli@suse.com>; Juergen Gross <jgross@suse.com>; George
> Dunlap <gwd@xenproject.org>; Nathan Studer <nathan.studer@dornerworks.com>;
> Stewart Hildebrand <stewart@stew.dk>; Bertrand Marquis
> <bertrand.marquis@arm.com>; Volodymyr Babchuk
> <Volodymyr_Babchuk@epam.com>; Alistair Francis <alistair.francis@wdc.com>;
> Bob Eshleman <bobbyeshleman@gmail.com>; Connor Davis
> <connojdavis@gmail.com>; Oleksii Kurochko <oleksii.kurochko@gmail.com>; xen-
> devel@lists.xenproject.org; xen-devel@dornerworks.com
> Subject: Re: [PATCH v5 00/18] xen: introduce CONFIG_SYSCTL
>
> On 16.06.2025 08:41, Penny Zheng wrote:
> > It can be beneficial for some dom0less systems to further reduce Xen
> > footprint via disabling some hypercalls handling code, which may not
> > to be used & required in such systems. Each hypercall has a separate
> > option to keep configuration flexible.
> >
> > Options to disable hypercalls:
> > - sysctl
> > - domctl
> > - hvm
> > - physdev
> > - platform
> >
> > This patch serie is only focusing on introducing CONFIG_SYSCTL.
> > Different options will be covered in different patch serie.
> >
> > Features, like LIVEPATCH, Overlay DTB, which fully rely on sysctl op,
> > will be wrapped with CONFIG_SYSCTL, to reduce Xen footprint as much as
> possible.
> >
> > It is derived from Stefano Stabellini's commit "xen: introduce kconfig
> > options to disable hypercalls"(
> > https://lore.kernel.org/xen-devel/20241219092917.3006174-1-Sergiy_Kibr
> > ik@epam.com)
> >
> > Penny Zheng (16):
> >   xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"
> >   xen/xsm: wrap around xsm_sysctl with CONFIG_SYSCTL
> >   xen/sysctl: wrap around XEN_SYSCTL_readconsole
> >   xen/sysctl: make CONFIG_TRACEBUFFER depend on CONFIG_SYSCTL
> >   xen/sysctl: wrap around XEN_SYSCTL_sched_id
> >   xen/sysctl: wrap around XEN_SYSCTL_perfc_op
> >   xen/sysctl: wrap around XEN_SYSCTL_lockprof_op
> >   xen/pmstat: introduce CONFIG_PM_OP
> >   xen/sysctl: introduce CONFIG_PM_STATS
> >   xen/sysctl: wrap around XEN_SYSCTL_page_offline_op
> >   xen/sysctl: wrap around XEN_SYSCTL_cpupool_op
> >   xen/sysctl: wrap around XEN_SYSCTL_scheduler_op
> >   xen/sysctl: wrap around XEN_SYSCTL_physinfo
> >   xen/sysctl: make CONFIG_COVERAGE depend on CONFIG_SYSCTL
> >   xen/sysctl: make CONFIG_LIVEPATCH depend on CONFIG_SYSCTL
> >   xen/sysctl: wrap around arch-specific arch_do_sysctl
>
> When thinking about whether to commit part of the series, it occurred to me that to
> avoid transiently regressing shim (in size), shouldn't the currently 1st patch be
> moved to be 2nd to last, and then be committed together with the last one? In any
> event the plan right now is to commit some patches from the beginning of this
> series, but specifically without patch 1. Please shout if you see any problem with
> this.

Understood, fine with me

>
> Jan