1 Star 0 Fork 90

beta / systemd

forked from src-openEuler / systemd 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
set-the-cpuset.cpus-mems-of-machine.slice-to-all-by-.patch 1.66 KB
一键复制 编辑 原始数据 按行查看 历史
胡宇彪 提交于 2023-07-31 10:00 . sync the patch from v249
From 14b69596b0bff64f7482d93ea3f043520a716921 Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Thu, 8 Jun 2023 20:02:50 +0800
Subject: [PATCH] set the cpuset.cpus/mems of machine.slice to all by default
This is necessary after merging core-cgroup-support-cpuset.patch.
When creating a vm, libvirt will issue a dbus method_call to
systemd-machined. systemd-machined will start transient unit
usually named xxx.scope with Delegate=1 set after receiving
the method_call. If Delegate=1 is set, systemd will create
machine.slice in /sys/fs/cgroup for every cgroup subsystem, this
includes cpuset. cpuset is different, you can't migrate processes
to the created directory unless you have set proper cpuset.cpus
and cpuset.mems.
Without this patch, libvirt sees machine.slice, it won't check
if cpuset.cpus or cpuset.mems is valid, and just migrate the vm
process to machine.slice. This action will fail because core-cgroup
-support-cpuset.patch only supports create the machine.slice
directory when Delegate=1 is set, but won't set cpuset.cpus
and cpuset.mems automatically.
Now we have this patch, it will make systemd automatically set
cpuset.cpus and cpuset.mems according to /sys/fs/cgroup/cpuset/{
cpuset.cpus, cpuset.mems}. Then libvirt can migrate vm processes
freely.
---
units/machine.slice | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/units/machine.slice b/units/machine.slice
index 501d353..8d87851 100644
--- a/units/machine.slice
+++ b/units/machine.slice
@@ -11,3 +11,8 @@
Description=Virtual Machine and Container Slice
Documentation=man:systemd.special(7)
Before=slices.target
+
+[Slice]
+CPUSetCpus=all
+CPUSetMems=all
+CPUSetCloneChildren=1
--
2.33.0
1
https://gitee.com/beta_dz/systemd.git
git@gitee.com:beta_dz/systemd.git
beta_dz
systemd
systemd
master

搜索帮助