diff --git a/patch/0143-runc-fix-update-rt-runtime-us-and-rt-period-us-.patch b/patch/0143-runc-fix-update-rt-runtime-us-and-rt-period-us-.patch new file mode 100644 index 0000000000000000000000000000000000000000..f944dc305023c6450391919893ddb708b0083650 --- /dev/null +++ b/patch/0143-runc-fix-update-rt-runtime-us-and-rt-period-us-.patch @@ -0,0 +1,48 @@ +From b8980e0d96ccf21bdda4254f4151097b2815269e Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Tue, 24 Oct 2023 16:51:22 +0800 +Subject: [PATCH] runc:runc:fix update rt-runtime-us and rt-period-us failed + +--- + libcontainer/cgroups/fs/cpu.go | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +diff --git a/libcontainer/cgroups/fs/cpu.go b/libcontainer/cgroups/fs/cpu.go +index b712bd0..5176719 100644 +--- a/libcontainer/cgroups/fs/cpu.go ++++ b/libcontainer/cgroups/fs/cpu.go +@@ -54,16 +54,26 @@ func (s *CpuGroup) ApplyDir(path string, cgroup *configs.Cgroup, pid int) error + } + + func (s *CpuGroup) SetRtSched(path string, cgroup *configs.Cgroup) error { +- if cgroup.Resources.CpuRtPeriod != 0 { +- if err := writeFile(path, "cpu.rt_period_us", strconv.FormatUint(cgroup.Resources.CpuRtPeriod, 10)); err != nil { +- return err ++ var err error ++ if cgroup.Resources.CpuRtRuntime != 0 { ++ if err = writeFile(path, "cpu.rt_runtime_us", strconv.FormatInt(cgroup.Resources.CpuRtRuntime, 10)); err != nil { ++ if cgroup.Resources.CpuRtPeriod != 0 { ++ if err = writeFile(path, "cpu.rt_period_us", strconv.FormatUint(cgroup.Resources.CpuRtPeriod, 10)); err != nil { ++ return err ++ } ++ } ++ if err = writeFile(path, "cpu.rt_runtime_us", strconv.FormatInt(cgroup.Resources.CpuRtRuntime, 10)); err != nil { ++ return err ++ } ++ return nil + } + } +- if cgroup.Resources.CpuRtRuntime != 0 { +- if err := writeFile(path, "cpu.rt_runtime_us", strconv.FormatInt(cgroup.Resources.CpuRtRuntime, 10)); err != nil { ++ if cgroup.Resources.CpuRtPeriod != 0 { ++ if err = writeFile(path, "cpu.rt_period_us", strconv.FormatUint(cgroup.Resources.CpuRtPeriod, 10)); err != nil { + return err + } + } ++ + return nil + } + +-- +2.33.0 + diff --git a/runc.spec b/runc.spec index e1ab31ee7288f667670ea80f82e611b37ebc92ee..cdbe016d213ac3542397af13e2e8cbc5ac1e5b02 100644 --- a/runc.spec +++ b/runc.spec @@ -2,7 +2,7 @@ Name: docker-runc Version: 1.0.0.rc3 -Release: 216 +Release: 217 Summary: runc is a CLI tool for spawning and running containers according to the OCI specification. License: ASL 2.0 @@ -41,6 +41,12 @@ install -p -m 755 runc $RPM_BUILD_ROOT/%{_bindir}/runc %{_bindir}/runc %changelog +* Tue Oct 24 2023 zhongjiawei - 1.0.0.rc3-217 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:fix update rt-runtime-us and rt-period-us failed + * Thu Oct 12 2023 zhongjiawei - 1.0.0.rc3-216 - Type:bugfix - ID:NA diff --git a/series.conf b/series.conf index 9bd215479020e983461a660afff1ce998bb3c8f7..9e81e1d943788de39e7ea6700dcb6b346ea3bee0 100644 --- a/series.conf +++ b/series.conf @@ -134,3 +134,4 @@ 0140-runc-delete-invalid-cgroupinfo-logs.patch 0141-runc-libct-init-unify-init-fix-its-error-logic.patch 0142-runc-freezer-add-delay-after-freeze.patch +0143-runc-fix-update-rt-runtime-us-and-rt-period-us-.patch