Skip to content

Commit

Permalink
update preempt and TDM to match VictimTasks function
Browse files Browse the repository at this point in the history
Signed-off-by: Thor-wl <13164644535@163.com>
  • Loading branch information
Thor-wl committed Apr 16, 2022
1 parent f464537 commit 56d6dcd
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
7 changes: 6 additions & 1 deletion pkg/scheduler/actions/preempt/preempt.go
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,12 @@ func preempt(

func victimTasks(ssn *framework.Session) {
stmt := framework.NewStatement(ssn)
victimTasks := ssn.VictimTasks()
tasks := make([]*api.TaskInfo, 0)
victimTasksMap := ssn.VictimTasks(tasks)
victimTasks := make([]*api.TaskInfo, 0)
for task, _ := range victimTasksMap {
victimTasks = append(victimTasks, task)
}
for _, victim := range victimTasks {
if err := stmt.Evict(victim.Clone(), "evict"); err != nil {
klog.Errorf("Failed to evict Task <%s/%s>: %v",
Expand Down
6 changes: 4 additions & 2 deletions pkg/scheduler/plugins/tdm/tdm.go
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ func (tp *tdmPlugin) OnSessionOpen(ssn *framework.Session) {
return victims, tutil.Permit
}

victimsFn := func() []*api.TaskInfo {
victimsFn := func([]*api.TaskInfo) []*api.TaskInfo {
if lastEvictAt.Add(tp.evictPeriod).After(time.Now()) {
klog.V(4).Infof("TDM next evict time at %v", lastEvictAt)
return nil
Expand Down Expand Up @@ -291,10 +291,12 @@ func (tp *tdmPlugin) OnSessionOpen(ssn *framework.Session) {
return len(jobInfo.TaskStatusIndex[api.Pending]) > 0
}

victimsFns := make([]api.VictimTasksFn, 0)
victimsFns = append(victimsFns, victimsFn)
ssn.AddPredicateFn(tp.Name(), predicateFn)
ssn.AddNodeOrderFn(tp.Name(), nodeOrderFn)
ssn.AddPreemptableFn(tp.Name(), preemptableFn)
ssn.AddVictimTasksFns(tp.Name(), victimsFn)
ssn.AddVictimTasksFns(tp.Name(), victimsFns)
ssn.AddJobOrderFn(tp.Name(), jobOrderFn)
ssn.AddJobPipelinedFn(tp.Name(), jobPipelinedFn)
ssn.AddJobStarvingFns(tp.Name(), jobStarvingFn)
Expand Down
3 changes: 2 additions & 1 deletion pkg/scheduler/plugins/tdm/tdm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -716,7 +716,8 @@ func Test_TDM_victimsFn(t *testing.T) {

d, _ := time.ParseDuration(test.args[evictPeriodLabel].(string))
time.Sleep(d)
res := ssn.VictimTasks()
tasks := make([]*api.TaskInfo, 0)
res := ssn.VictimTasks(tasks)
if len(res) != test.want {
t.Errorf("want %v, got %v", test.want, len(res))
return
Expand Down

0 comments on commit 56d6dcd

Please sign in to comment.