From 1da6937a0fa16d91e6d220359369ab8154a83385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Fri, 1 May 2020 17:29:27 +0200 Subject: [PATCH] sched: Try scheduling on newly connected workers --- sched.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sched.go b/sched.go index 99ff6ded2..aaf8b9e26 100644 --- a/sched.go +++ b/sched.go @@ -131,7 +131,9 @@ func (sh *scheduler) runSched() { for { select { case w := <-sh.newWorkers: - sh.schedNewWorker(w) + wid := sh.schedNewWorker(w) + + sh.onWorkerFreed(wid) case req := <-sh.schedule: scheduled, err := sh.maybeSchedRequest(req) if err != nil { @@ -409,13 +411,15 @@ func (a *activeResources) utilization(wr storiface.WorkerResources) float64 { return max } -func (sh *scheduler) schedNewWorker(w *workerHandle) { +func (sh *scheduler) schedNewWorker(w *workerHandle) WorkerID { sh.workersLk.Lock() defer sh.workersLk.Unlock() id := sh.nextWorker sh.workers[id] = w sh.nextWorker++ + + return id } func (sh *scheduler) schedClose() {