!59 fix: enable subtree_control for sub cgroup on hongmeng
From: @licunlong Reviewed-by: @jiayi0118 Signed-off-by: @jiayi0118
This commit is contained in:
commit
af09595205
@ -0,0 +1,52 @@
|
|||||||
|
From b95071b3d24ef2211b3fed059d31497cd62ccbb6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: licunlong <licunlong1@huawei.com>
|
||||||
|
Date: Thu, 24 Aug 2023 16:01:24 +0800
|
||||||
|
Subject: [PATCH] fix: enable subtree_control for sub cgroup on hongmeng
|
||||||
|
|
||||||
|
---
|
||||||
|
core/sysmaster/src/main.rs | 5 +++++
|
||||||
|
core/sysmaster/src/mount/setup.rs | 12 ++++++++++++
|
||||||
|
2 files changed, 17 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/core/sysmaster/src/main.rs b/core/sysmaster/src/main.rs
|
||||||
|
index 95aea65b..7d30fb64 100755
|
||||||
|
--- a/core/sysmaster/src/main.rs
|
||||||
|
+++ b/core/sysmaster/src/main.rs
|
||||||
|
@@ -146,6 +146,11 @@ fn initialize_runtime(self_recovery_enable: bool) -> Result<()> {
|
||||||
|
msg: format!("mount cgroup controllers failed: {}", e),
|
||||||
|
})?;
|
||||||
|
|
||||||
|
+ #[cfg(feature = "hongmeng")]
|
||||||
|
+ setup::enable_subtree_control(cgroup::CG_BASE_DIR).map_err(|e| Error::Other {
|
||||||
|
+ msg: format!("enable hongmeng resmgr subtree_control failed: {}", e),
|
||||||
|
+ })?;
|
||||||
|
+
|
||||||
|
set_child_reaper();
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
diff --git a/core/sysmaster/src/mount/setup.rs b/core/sysmaster/src/mount/setup.rs
|
||||||
|
index 953ff4d9..56efdac4 100755
|
||||||
|
--- a/core/sysmaster/src/mount/setup.rs
|
||||||
|
+++ b/core/sysmaster/src/mount/setup.rs
|
||||||
|
@@ -460,6 +460,18 @@ pub fn mount_cgroup_controllers() -> Result<()> {
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
+#[cfg(feature = "hongmeng")]
|
||||||
|
+/// enable memory controller for sub cgroup
|
||||||
|
+pub fn enable_subtree_control(cg_base_dir: &str) -> Result<()> {
|
||||||
|
+ /* hongmeng doesn't enable cgroup controller for sub cgroup. So when we create a directory under
|
||||||
|
+ * /run/sysmaster/cgroup, i.e. foo.service, the file /run/sysmaster/cgroup/foo.service/controllers
|
||||||
|
+ * is empty. If controllers file is empty, we can't migrate our process to this cgroup. To avoid
|
||||||
|
+ * this problem, we forcely enable memory controller for sub cgroup. */
|
||||||
|
+ let sub_tree_control = Path::new(cg_base_dir).join("subtree_control");
|
||||||
|
+ fs::write(sub_tree_control, "+memory").context(IoSnafu)?;
|
||||||
|
+ Ok(())
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
// return the pair controller which will join with the original controller
|
||||||
|
fn pair_controller(controller: &str) -> Option<String> {
|
||||||
|
let mut pairs = HashMap::new();
|
||||||
|
--
|
||||||
|
2.30.2
|
||||||
|
|
||||||
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
Name: sysmaster
|
Name: sysmaster
|
||||||
Version: 0.5.0
|
Version: 0.5.0
|
||||||
Release: 2
|
Release: 3
|
||||||
Summary: redesign and reimplement process1.
|
Summary: redesign and reimplement process1.
|
||||||
|
|
||||||
License: Mulan PSL v2
|
License: Mulan PSL v2
|
||||||
@ -30,6 +30,7 @@ Patch2: backport-fix-devmaster-avoid-coredump-when-rules-directory-is.patch
|
|||||||
Patch3: backport-fix-device-avoid-inserting-empty-tag.patch
|
Patch3: backport-fix-device-avoid-inserting-empty-tag.patch
|
||||||
Patch4: backport-fix-devmaster-append-trailing-white-line-in-99-defau.patch
|
Patch4: backport-fix-devmaster-append-trailing-white-line-in-99-defau.patch
|
||||||
Patch5: backport-fix-disable-User-Group-feature-for-hongmeng.patch
|
Patch5: backport-fix-disable-User-Group-feature-for-hongmeng.patch
|
||||||
|
Patch6: backport-fix-enable-subtree_control-for-sub-cgroup-on-hongmen.patch
|
||||||
|
|
||||||
ExclusiveArch: x86_64 aarch64
|
ExclusiveArch: x86_64 aarch64
|
||||||
|
|
||||||
@ -131,6 +132,9 @@ ln -s /usr/lib/sysmaster/system/sshd.service %{buildroot}/etc/sysmaster/system/m
|
|||||||
%attr(0550,-,-) /usr/lib/devmaster/devmaster
|
%attr(0550,-,-) /usr/lib/devmaster/devmaster
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Aug 25 2023 licunlong<licunlong1@huawei.com> - 0.5.0-3
|
||||||
|
- enable subtree_control for sub cgroup on hongmeng
|
||||||
|
|
||||||
* Wed Aug 23 2023 licunlong<licunlong1@huawei.com> - 0.5.0-2
|
* Wed Aug 23 2023 licunlong<licunlong1@huawei.com> - 0.5.0-2
|
||||||
- disable User/Group on hongmeng
|
- disable User/Group on hongmeng
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user