sealing sched: Give more priority to tasks (re)moving data
This commit is contained in:
parent
f2bd680cc5
commit
7fdffc0340
5
extern/sector-storage/request_queue.go
vendored
5
extern/sector-storage/request_queue.go
vendored
@ -7,6 +7,11 @@ type requestQueue []*workerRequest
|
|||||||
func (q requestQueue) Len() int { return len(q) }
|
func (q requestQueue) Len() int { return len(q) }
|
||||||
|
|
||||||
func (q requestQueue) Less(i, j int) bool {
|
func (q requestQueue) Less(i, j int) bool {
|
||||||
|
oneMuchLess, muchLess := q[i].taskType.MuchLess(q[j].taskType)
|
||||||
|
if oneMuchLess {
|
||||||
|
return muchLess
|
||||||
|
}
|
||||||
|
|
||||||
if q[i].priority != q[j].priority {
|
if q[i].priority != q[j].priority {
|
||||||
return q[i].priority > q[j].priority
|
return q[i].priority > q[j].priority
|
||||||
}
|
}
|
||||||
|
24
extern/sector-storage/sealtasks/task.go
vendored
24
extern/sector-storage/sealtasks/task.go
vendored
@ -17,15 +17,15 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var order = map[TaskType]int{
|
var order = map[TaskType]int{
|
||||||
TTAddPiece: 7,
|
TTAddPiece: 6, // least priority
|
||||||
TTPreCommit1: 6,
|
TTPreCommit1: 5,
|
||||||
TTPreCommit2: 5,
|
TTPreCommit2: 4,
|
||||||
TTCommit2: 4,
|
TTCommit2: 3,
|
||||||
TTCommit1: 3,
|
TTCommit1: 2,
|
||||||
TTFetch: 2,
|
TTUnseal: 1,
|
||||||
TTFinalize: 1,
|
TTFetch: -1,
|
||||||
TTUnseal: 0,
|
TTReadUnsealed: -1,
|
||||||
TTReadUnsealed: 0,
|
TTFinalize: -2, // most priority
|
||||||
}
|
}
|
||||||
|
|
||||||
var shortNames = map[TaskType]string{
|
var shortNames = map[TaskType]string{
|
||||||
@ -43,6 +43,12 @@ var shortNames = map[TaskType]string{
|
|||||||
TTReadUnsealed: "RD ",
|
TTReadUnsealed: "RD ",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a TaskType) MuchLess(b TaskType) (bool, bool) {
|
||||||
|
oa, ob := order[a], order[b]
|
||||||
|
oneNegative := oa^ob < 0
|
||||||
|
return oneNegative, oa < ob
|
||||||
|
}
|
||||||
|
|
||||||
func (a TaskType) Less(b TaskType) bool {
|
func (a TaskType) Less(b TaskType) bool {
|
||||||
return order[a] < order[b]
|
return order[a] < order[b]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user