[PATCH v6 00/18] xen: introduce CONFIG_SYSCTL

Penny Zheng posted 18 patches 3 months, 4 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        |   3 +
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                     | 395 +++++++++++++++++++
xen/drivers/acpi/pmstat.c                    | 355 -----------------
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(+), 414 deletions(-)
create mode 100644 xen/drivers/acpi/pm-op.c
[PATCH v6 00/18] xen: introduce CONFIG_SYSCTL
Posted by Penny Zheng 3 months, 4 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)

---
Commit "xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"" and commit "
xen/sysctl: wrap around sysctl hypercall" shall be commited together.
---
Penny Zheng (16):
  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
  xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"

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        |   3 +
 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                     | 395 +++++++++++++++++++
 xen/drivers/acpi/pmstat.c                    | 355 -----------------
 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(+), 414 deletions(-)
 create mode 100644 xen/drivers/acpi/pm-op.c

-- 
2.34.1
Re: [PATCH v6 00/18] xen: introduce CONFIG_SYSCTL
Posted by Jan Beulich 3 months, 4 weeks ago
On 04.07.2025 11:29, 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)
> 
> ---
> Commit "xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"" and commit "
> xen/sysctl: wrap around sysctl hypercall" shall be commited together.
> ---
> Penny Zheng (16):
>   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
>   xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"
> 
> Stefano Stabellini (2):
>   xen: introduce CONFIG_SYSCTL
>   xen/sysctl: wrap around sysctl hypercall

This doesn't look to be based on latest staging, where some of the changes above
are already present. I specifically tried to get some of the stuff in so that
the next re-posting wouldn't be as large.

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

> -----Original Message-----
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Friday, July 4, 2025 5:49 PM
> To: Penny, Zheng <penny.zheng@amd.com>
> Cc: Huang, Ray <Ray.Huang@amd.com>; Andrew Cooper
> <andrew.cooper3@citrix.com>; Anthony PERARD <anthony.perard@vates.tech>;
> Orzel, Michal <Michal.Orzel@amd.com>; Julien Grall <julien@xen.org>; Roger Pau
> Monné <roger.pau@citrix.com>; 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 v6 00/18] xen: introduce CONFIG_SYSCTL
>
> On 04.07.2025 11:29, 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)
> >
> > ---
> > Commit "xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"" and commit "
> > xen/sysctl: wrap around sysctl hypercall" shall be commited together.
> > ---
> > Penny Zheng (16):
> >   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
> >   xen/x86: remove "depends on !PV_SHIM_EXCLUSIVE"
> >
> > Stefano Stabellini (2):
> >   xen: introduce CONFIG_SYSCTL
> >   xen/sysctl: wrap around sysctl hypercall
>
> This doesn't look to be based on latest staging, where some of the changes above
> are already present. I specifically tried to get some of the stuff in so that the next
> re-posting wouldn't be as large.

Sorry, I'll rebase

>
> Jan