Revert "[#7] mclock: Add tag stat"

This reverts commit 25102d1e1a.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
Dmitrii Stepanov 2025-03-10 16:58:38 +03:00
parent d752a1c95e
commit 3e7ca94035
Signed by: dstepanov-yadro
GPG key ID: 237AF1A763293BC0
3 changed files with 2 additions and 214 deletions

View file

@ -14,7 +14,6 @@ import (
const (
invalidIndex = -1
undefinedReservation float64 = -1.0
minusOne = ^uint64(0)
)
var (
@ -61,8 +60,6 @@ type MClock struct {
clock clock
idleTimeout float64
tagInfo map[string]TagInfo
tagStat map[string]*Stat
stats []*Stat
mtx sync.Mutex
previous map[string]*request
@ -113,16 +110,6 @@ func NewMClock(runLimit, waitLimit uint64, tagInfo map[string]TagInfo, idleTimeo
}
result.previous = previous
result.tagStat = make(map[string]*Stat, len(tagInfo))
result.stats = make([]*Stat, 0, len(tagInfo))
for tag := range tagInfo {
s := &Stat{
tag: tag,
}
result.tagStat[tag] = s
result.stats = append(result.stats, s)
}
return result, nil
}
@ -163,12 +150,6 @@ func (q *MClock) Close() {
}
}
// Stats returns per tag stat.
// Returned slice should not be modified.
func (q *MClock) Stats() []*Stat {
return q.stats
}
func validateParams(runLimit uint64, tagInfo map[string]TagInfo) error {
if runLimit == 0 {
return ErrInvalidRunLimit
@ -191,16 +172,11 @@ func (q *MClock) dropRequest(req *request) {
q.mtx.Lock()
defer q.mtx.Unlock()
s, ok := q.tagStat[req.tag]
assert.Cond(ok, "undefined stat tag:", req.tag)
select {
case <-req.scheduled:
assert.Cond(q.inProgress > 0, "invalid requests count")
q.inProgress--
s.inProgress.Add(minusOne)
default:
s.pending.Add(minusOne)
}
q.removeFromQueues(req)
@ -258,14 +234,9 @@ func (q *MClock) pushRequest(tag string) (*request, ReleaseFunc, error) {
}
heap.Push(q.sharesQueue, &sharesMQueueItem{r: r})
heap.Push(q.limitQueue, &limitMQueueItem{r: r})
s, ok := q.tagStat[tag]
assert.Cond(ok, "undefined stat tag:", tag)
s.pending.Add(1)
q.scheduleRequestUnsafe()
return r, func() { q.requestCompleted(tag) }, nil
return r, q.requestCompleted, nil
}
func (q *MClock) adjustTags(now float64, idleTag string) {
@ -347,10 +318,6 @@ func (q *MClock) scheduleByLimitAndWeight(now float64) {
}
q.removeFromQueues(next.r)
s, ok := q.tagStat[next.r.tag]
assert.Cond(ok, "undefined stat tag:", next.r.tag)
s.pending.Add(minusOne)
tagInfo, ok := q.tagInfo[next.r.tag]
assert.Cond(ok, "unknown tag:", next.r.tag)
if tagInfo.ReservedIOPS != nil && hadReservation {
@ -375,7 +342,6 @@ func (q *MClock) scheduleByLimitAndWeight(now float64) {
assertIndexInvalid(next.r)
q.inProgress++
s.inProgress.Add(1)
close(next.r.scheduled)
}
}
@ -385,10 +351,6 @@ func (q *MClock) scheduleByReservation(now float64) {
next := heap.Pop(q.reservationQueue).(*reservationMQueueItem)
q.removeFromQueues(next.r)
s, ok := q.tagStat[next.r.tag]
assert.Cond(ok, "undefined stat tag:", next.r.tag)
s.pending.Add(minusOne)
select {
case <-next.r.canceled:
continue
@ -397,7 +359,6 @@ func (q *MClock) scheduleByReservation(now float64) {
assertIndexInvalid(next.r)
q.inProgress++
s.inProgress.Add(1)
close(next.r.scheduled)
}
}
@ -417,7 +378,7 @@ func (q *MClock) removeFromQueues(r *request) {
}
}
func (q *MClock) requestCompleted(tag string) {
func (q *MClock) requestCompleted() {
q.mtx.Lock()
defer q.mtx.Unlock()
@ -427,9 +388,6 @@ func (q *MClock) requestCompleted(tag string) {
assert.Cond(q.inProgress > 0, "invalid requests count")
q.inProgress--
s, ok := q.tagStat[tag]
assert.Cond(ok, "undefined stat tag:", tag)
s.inProgress.Add(minusOne)
q.scheduleRequestUnsafe()
}