mirror of
https://github.com/minio/minio.git
synced 2025-11-30 13:42:53 -05:00
Avoid select inside a recursive function to avoid CPU spikes (#8923)
Additionally also allow configurable go-routines
This commit is contained in:
10
cmd/posix.go
10
cmd/posix.go
@@ -333,16 +333,10 @@ func isQuitting(endCh chan struct{}) bool {
|
||||
}
|
||||
}
|
||||
|
||||
func (s *posix) waitForLowActiveIO() error {
|
||||
func (s *posix) waitForLowActiveIO() {
|
||||
for atomic.LoadInt32(&s.activeIOCount) >= s.maxActiveIOCount {
|
||||
select {
|
||||
case <-GlobalServiceDoneCh:
|
||||
return errors.New("forced exit")
|
||||
case <-time.NewTimer(lowActiveIOWaitTick).C:
|
||||
continue
|
||||
}
|
||||
time.Sleep(lowActiveIOWaitTick)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *posix) CrawlAndGetDataUsage(endCh <-chan struct{}) (DataUsageInfo, error) {
|
||||
|
||||
Reference in New Issue
Block a user