From 196b200d0f19c41730db439c62db9b39e424f21f Mon Sep 17 00:00:00 2001 From: Ophestra Date: Thu, 12 Mar 2026 01:14:03 +0900 Subject: container: expose priority and SCHED_OTHER policy The more explicit API removes the arbitrary limit preventing use of SCHED_OTHER (referred to as SCHED_NORMAL in the kernel). This change also exposes priority value to set. Signed-off-by: Ophestra --- internal/pkg/exec.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'internal/pkg/exec.go') diff --git a/internal/pkg/exec.go b/internal/pkg/exec.go index 3bcffafb..998dce70 100644 --- a/internal/pkg/exec.go +++ b/internal/pkg/exec.go @@ -39,8 +39,8 @@ type ExecPath struct { W bool } -// SchedPolicy is the [container] scheduling policy. -var SchedPolicy std.SchedPolicy +// SetSchedIdle is whether to set [std.SCHED_IDLE] scheduling priority. +var SetSchedIdle bool // PromoteLayers returns artifacts with identical-by-content layers promoted to // the highest priority instance, as if mounted via [ExecPath]. @@ -413,7 +413,8 @@ func (a *execArtifact) cure(f *FContext, hostNet bool) (err error) { z.ParentPerm = 0700 z.HostNet = hostNet z.Hostname = "cure" - z.SchedPolicy = SchedPolicy + z.SetScheduler = SetSchedIdle + z.SchedPolicy = std.SCHED_IDLE if z.HostNet { z.Hostname = "cure-net" } -- cgit v1.3.1