From 13de08723761204a9c7a1b9d3d50a30e7b90ebe6 Mon Sep 17 00:00:00 2001 From: Andrea Bolognani Date: Thu, 28 Sep 2023 12:07:15 +0200 Subject: [PATCH] systemd: Introduce systemd_service_tasksmax_extra_in Signed-off-by: Andrea Bolognani Reviewed-by: Michal Privoznik --- src/ch/meson.build | 1 + src/ch/virtchd.service.extra.in | 5 ----- src/lxc/meson.build | 1 + src/lxc/virtlxcd.service.extra.in | 5 ----- src/meson.build | 1 + src/qemu/meson.build | 1 + src/qemu/virtqemud.service.extra.in | 5 ----- src/remote/libvirtd.service.in | 5 ----- src/remote/meson.build | 1 + src/virtd.service.tasksmax.extra.in | 6 ++++++ 10 files changed, 11 insertions(+), 20 deletions(-) create mode 100644 src/virtd.service.tasksmax.extra.in diff --git a/src/ch/meson.build b/src/ch/meson.build index 604329e9c7..65215f1cb0 100644 --- a/src/ch/meson.build +++ b/src/ch/meson.build @@ -63,6 +63,7 @@ if conf.has('WITH_CH') 'service_extra_in': [ files('virtchd.service.extra.in'), systemd_service_limitnofile_extra_in, + systemd_service_tasksmax_extra_in, ], } diff --git a/src/ch/virtchd.service.extra.in b/src/ch/virtchd.service.extra.in index 626cf0a21b..38d820c1af 100644 --- a/src/ch/virtchd.service.extra.in +++ b/src/ch/virtchd.service.extra.in @@ -5,11 +5,6 @@ After=remote-fs.target [Service] KillMode=process -# The cgroups pids controller can limit the number of tasks started by -# the daemon, which can limit the number of domains for some hypervisors. -# A conservative default of 8 tasks per guest results in a TasksMax of -# 32k to support 4096 guests. -TasksMax=32768 # With cgroups v2 there is no devices controller anymore, we have to use # eBPF to control access to devices. In order to do that we create a eBPF # hash MAP which locks memory. The default map size for 64 devices together diff --git a/src/lxc/meson.build b/src/lxc/meson.build index 0c4d51d8b9..338be79f7c 100644 --- a/src/lxc/meson.build +++ b/src/lxc/meson.build @@ -168,6 +168,7 @@ if conf.has('WITH_LXC') 'service_extra_in': [ files('virtlxcd.service.extra.in'), systemd_service_limitnofile_extra_in, + systemd_service_tasksmax_extra_in, ], } diff --git a/src/lxc/virtlxcd.service.extra.in b/src/lxc/virtlxcd.service.extra.in index 626cf0a21b..38d820c1af 100644 --- a/src/lxc/virtlxcd.service.extra.in +++ b/src/lxc/virtlxcd.service.extra.in @@ -5,11 +5,6 @@ After=remote-fs.target [Service] KillMode=process -# The cgroups pids controller can limit the number of tasks started by -# the daemon, which can limit the number of domains for some hypervisors. -# A conservative default of 8 tasks per guest results in a TasksMax of -# 32k to support 4096 guests. -TasksMax=32768 # With cgroups v2 there is no devices controller anymore, we have to use # eBPF to control access to devices. In order to do that we create a eBPF # hash MAP which locks memory. The default map size for 64 devices together diff --git a/src/meson.build b/src/meson.build index a9e6b521ee..ee88c99987 100644 --- a/src/meson.build +++ b/src/meson.build @@ -195,6 +195,7 @@ guest_unit_files = [] # snippets that are shared by multiple units # can be used in service_extra_in/socket_extra_in (see below) systemd_service_limitnofile_extra_in = files('virtd.service.limitnofile.extra.in') +systemd_service_tasksmax_extra_in = files('virtd.service.tasksmax.extra.in') # virt_daemon_units: # generate libvirt daemon systemd unit files diff --git a/src/qemu/meson.build b/src/qemu/meson.build index 09f79f52ee..ee4c8ab5bf 100644 --- a/src/qemu/meson.build +++ b/src/qemu/meson.build @@ -187,6 +187,7 @@ if conf.has('WITH_QEMU') 'service_extra_in': [ files('virtqemud.service.extra.in'), systemd_service_limitnofile_extra_in, + systemd_service_tasksmax_extra_in, ], } diff --git a/src/qemu/virtqemud.service.extra.in b/src/qemu/virtqemud.service.extra.in index 48b349b48a..164f672c08 100644 --- a/src/qemu/virtqemud.service.extra.in +++ b/src/qemu/virtqemud.service.extra.in @@ -9,11 +9,6 @@ After=remote-fs.target [Service] KillMode=process -# The cgroups pids controller can limit the number of tasks started by -# the daemon, which can limit the number of domains for some hypervisors. -# A conservative default of 8 tasks per guest results in a TasksMax of -# 32k to support 4096 guests. -TasksMax=32768 # With cgroups v2 there is no devices controller anymore, we have to use # eBPF to control access to devices. In order to do that we create a eBPF # hash MAP which locks memory. The default map size for 64 devices together diff --git a/src/remote/libvirtd.service.in b/src/remote/libvirtd.service.in index 8dc6df2138..900b734f82 100644 --- a/src/remote/libvirtd.service.in +++ b/src/remote/libvirtd.service.in @@ -33,11 +33,6 @@ ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure -# The cgroups pids controller can limit the number of tasks started by -# the daemon, which can limit the number of domains for some hypervisors. -# A conservative default of 8 tasks per guest results in a TasksMax of -# 32k to support 4096 guests. -TasksMax=32768 # With cgroups v2 there is no devices controller anymore, we have to use # eBPF to control access to devices. In order to do that we create a eBPF # hash MAP which locks memory. The default map size for 64 devices together diff --git a/src/remote/meson.build b/src/remote/meson.build index e2960195f7..f9291099ab 100644 --- a/src/remote/meson.build +++ b/src/remote/meson.build @@ -193,6 +193,7 @@ if conf.has('WITH_REMOTE') 'service_in': files('libvirtd.service.in'), 'service_extra_in': [ systemd_service_limitnofile_extra_in, + systemd_service_tasksmax_extra_in, ], 'name': 'legacy monolithic', 'sockets': [ 'main', 'ro', 'admin', 'tcp', 'tls' ], diff --git a/src/virtd.service.tasksmax.extra.in b/src/virtd.service.tasksmax.extra.in new file mode 100644 index 0000000000..2ea2939425 --- /dev/null +++ b/src/virtd.service.tasksmax.extra.in @@ -0,0 +1,6 @@ +[Service] +# The cgroups pids controller can limit the number of tasks started by +# the daemon, which can limit the number of domains for some hypervisors. +# A conservative default of 8 tasks per guest results in a TasksMax of +# 32k to support 4096 guests. +TasksMax=32768