From fe3281a906688581b610c6acf331cc00053f52eb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 15:29:10 +0000 Subject: [PATCH 1/3] Initial plan From 1a0e105508a41a624c39b8f6b98df7b1716c056c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 15:32:29 +0000 Subject: [PATCH 2/3] Change Priority type from bool to int in SchedulingStrategy Co-authored-by: ianchen0119 <42661015+ianchen0119@users.noreply.github.com> --- plugin/gthulhu/gthulhu.go | 2 +- plugin/gthulhu/gthulhu_test.go | 16 ++++++++-------- plugin/util/util.go | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/plugin/gthulhu/gthulhu.go b/plugin/gthulhu/gthulhu.go index aa0cbea..8da1811 100644 --- a/plugin/gthulhu/gthulhu.go +++ b/plugin/gthulhu/gthulhu.go @@ -287,7 +287,7 @@ func (g *GthulhuPlugin) applySchedulingStrategy(task *models.QueuedTask) bool { g.strategyMu.RUnlock() if exists { // Apply strategy - if strategy.Priority { + if strategy.Priority > 0 { // Priority tasks get minimum vtime task.Vtime = 0 } diff --git a/plugin/gthulhu/gthulhu_test.go b/plugin/gthulhu/gthulhu_test.go index e2700a4..77eb43c 100644 --- a/plugin/gthulhu/gthulhu_test.go +++ b/plugin/gthulhu/gthulhu_test.go @@ -105,8 +105,8 @@ func TestGthulhuPluginUpdateStrategyMap(t *testing.T) { // Create test strategies strategies := []util.SchedulingStrategy{ - {PID: 100, Priority: true, ExecutionTime: 10000}, - {PID: 200, Priority: false, ExecutionTime: 20000}, + {PID: 100, Priority: 1, ExecutionTime: 10000}, + {PID: 200, Priority: 0, ExecutionTime: 20000}, } // Update strategy map @@ -121,8 +121,8 @@ func TestGthulhuPluginUpdateStrategyMap(t *testing.T) { if strategy, exists := gthulhuPlugin.strategyMap[100]; !exists { t.Error("Strategy for PID 100 not found") } else { - if !strategy.Priority { - t.Error("Strategy for PID 100 should have Priority=true") + if strategy.Priority <= 0 { + t.Error("Strategy for PID 100 should have Priority=1") } if strategy.ExecutionTime != 10000 { t.Errorf("Strategy for PID 100 ExecutionTime = %d; want 10000", strategy.ExecutionTime) @@ -133,8 +133,8 @@ func TestGthulhuPluginUpdateStrategyMap(t *testing.T) { if strategy, exists := gthulhuPlugin.strategyMap[200]; !exists { t.Error("Strategy for PID 200 not found") } else { - if strategy.Priority { - t.Error("Strategy for PID 200 should have Priority=false") + if strategy.Priority > 0 { + t.Error("Strategy for PID 200 should have Priority=0") } if strategy.ExecutionTime != 20000 { t.Errorf("Strategy for PID 200 ExecutionTime = %d; want 20000", strategy.ExecutionTime) @@ -383,8 +383,8 @@ func TestGthulhuPluginRuntimeSimulation(t *testing.T) { // Set up scheduling strategies strategies := []util.SchedulingStrategy{ - {PID: 100, Priority: true, ExecutionTime: 10000000}, // 10ms - {PID: 200, Priority: false, ExecutionTime: 20000000}, // 20ms + {PID: 100, Priority: 1, ExecutionTime: 10000000}, // 10ms + {PID: 200, Priority: 0, ExecutionTime: 20000000}, // 20ms } gthulhuPlugin.UpdateStrategyMap(strategies) diff --git a/plugin/util/util.go b/plugin/util/util.go index c62fe98..cba59e6 100644 --- a/plugin/util/util.go +++ b/plugin/util/util.go @@ -4,7 +4,7 @@ import "time" // SchedulingStrategy represents a strategy for process scheduling type SchedulingStrategy struct { - Priority bool `json:"priority"` // If true, set vtime to minimum vtime + Priority int `json:"priority"` // If > 0, set vtime to minimum vtime ExecutionTime uint64 `json:"execution_time"` // Time slice for this process in nanoseconds PID int `json:"pid"` // Process ID to apply this strategy to } From a62e5c61f441baf71fb2f7fa205b9ebb479ecec9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 15:36:26 +0000 Subject: [PATCH 3/3] Fix gofmt: remove extra space before comment in gthulhu_test.go line 386 Co-authored-by: ianchen0119 <42661015+ianchen0119@users.noreply.github.com> --- plugin/gthulhu/gthulhu_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/gthulhu/gthulhu_test.go b/plugin/gthulhu/gthulhu_test.go index 77eb43c..62c68f2 100644 --- a/plugin/gthulhu/gthulhu_test.go +++ b/plugin/gthulhu/gthulhu_test.go @@ -383,7 +383,7 @@ func TestGthulhuPluginRuntimeSimulation(t *testing.T) { // Set up scheduling strategies strategies := []util.SchedulingStrategy{ - {PID: 100, Priority: 1, ExecutionTime: 10000000}, // 10ms + {PID: 100, Priority: 1, ExecutionTime: 10000000}, // 10ms {PID: 200, Priority: 0, ExecutionTime: 20000000}, // 20ms } gthulhuPlugin.UpdateStrategyMap(strategies)