Signed-off-by: Andrea Bolognani <abologna@xxxxxxxxxx> --- src/ch/meson.build | 27 ++++++++++++++++++++---- src/ch/virtchd.service.in | 44 --------------------------------------- 2 files changed, 23 insertions(+), 48 deletions(-) delete mode 100644 src/ch/virtchd.service.in diff --git a/src/ch/meson.build b/src/ch/meson.build index dc08069dcd..f6c443f3c6 100644 --- a/src/ch/meson.build +++ b/src/ch/meson.build @@ -57,11 +57,30 @@ if conf.has('WITH_CH') virt_daemon_units += { 'service': 'virtchd', - 'service_in': files('virtchd.service.in'), 'name': 'Libvirt ch', - 'socket_in': libvirtd_socket_in, - 'socket_ro_in': libvirtd_socket_ro_in, - 'socket_admin_in': libvirtd_socket_admin_in, + 'service_unit_extra': [ + 'Wants=systemd-machined.service', + 'After=systemd-machined.service', + 'After=remote-fs.target', + ], + 'service_service_extra': [ + 'KillMode=process', + '# Raise hard limits to match behaviour of systemd >= 240.', + '# During startup, daemon will set soft limit to match hard limit', + '# per systemd recommendations', + 'LimitNOFILE=1024:524288', + '# 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', + '# with program takes 12k per guest. After rounding up we will get 64M to', + '# support 4096 guests.', + 'LimitMEMLOCK=64M', + ], } virt_install_dirs += [ diff --git a/src/ch/virtchd.service.in b/src/ch/virtchd.service.in deleted file mode 100644 index 351eee312b..0000000000 --- a/src/ch/virtchd.service.in +++ /dev/null @@ -1,44 +0,0 @@ -[Unit] -Description=Virtualization Cloud-Hypervisor daemon -Conflicts=libvirtd.service -Requires=virtchd.socket -Requires=virtchd-ro.socket -Requires=virtchd-admin.socket -Wants=systemd-machined.service -After=network.target -After=dbus.service -After=apparmor.service -After=remote-fs.target -After=systemd-machined.service -Documentation=man:virtchd(8) -Documentation=https://libvirt.org - -[Service] -Type=notify -Environment=VIRTCHD_ARGS="--timeout 120" -EnvironmentFile=-@initconfdir@/virtchd -ExecStart=@sbindir@/virtchd $VIRTCHD_ARGS -ExecReload=/bin/kill -HUP $MAINPID -KillMode=process -Restart=on-failure -# Raise hard limits to match behaviour of systemd >= 240. -# During startup, daemon will set soft limit to match hard limit -# per systemd recommendations -LimitNOFILE=1024:524288 -# 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 -# with program takes 12k per guest. After rounding up we will get 64M to -# support 4096 guests. -LimitMEMLOCK=64M - -[Install] -WantedBy=multi-user.target -Also=virtchd.socket -Also=virtchd-ro.socket -Also=virtchd-admin.socket -- 2.41.0