Skip to content

Commit b50ffb5

Browse files
authored
Refactor to use atomic type (#6317)
1 parent 3ca5fac commit b50ffb5

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

pkg/vfs/reader.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ const (
5151

5252
const readSessions = 2
5353

54-
var readBufferUsed int64
54+
var readBufferUsed atomic.Int64
5555

5656
type sstate uint8
5757

@@ -267,7 +267,7 @@ func (s *sliceReader) delete() {
267267
} else {
268268
s.file.last = s.prev
269269
}
270-
atomic.AddInt64(&readBufferUsed, -int64(cap(s.page.Data)))
270+
readBufferUsed.Add(-int64(cap(s.page.Data)))
271271
s.page.Release()
272272
}
273273

@@ -325,7 +325,7 @@ func (f *fileReader) newSlice(block *frange) *sliceReader {
325325
*(f.last) = s
326326
f.last = &(s.next)
327327
go s.run()
328-
atomic.AddInt64(&readBufferUsed, int64(cap(s.page.Data)))
328+
readBufferUsed.Add(int64(cap(s.page.Data)))
329329
return s
330330
}
331331

@@ -417,7 +417,7 @@ func (f *fileReader) checkReadahead(block *frange) int {
417417
ses := &f.sessions[idx]
418418
seqdata := ses.total
419419
readahead := ses.readahead
420-
used := uint64(atomic.LoadInt64(&readBufferUsed))
420+
used := uint64(readBufferUsed.Load())
421421
if readahead == 0 && f.r.blockSize <= f.r.readAheadMax && (block.off == 0 || seqdata > block.len) { // begin with read-ahead turned on
422422
ses.readahead = f.r.blockSize
423423
} else if readahead < f.r.readAheadMax && seqdata >= readahead && f.r.readAheadTotal > used+readahead*4 {
@@ -482,7 +482,7 @@ func (f *fileReader) releaseIdleBuffer() {
482482
defer f.Unlock()
483483
now := time.Now()
484484
var idle = time.Minute
485-
used := atomic.LoadInt64(&readBufferUsed)
485+
used := readBufferUsed.Load()
486486
if used > int64(f.r.readAheadTotal) {
487487
idle /= time.Duration(used / int64(f.r.readAheadTotal))
488488
}
@@ -538,7 +538,7 @@ func (f *fileReader) readAhead(block *frange) {
538538
}
539539
return true
540540
})
541-
if block.len > 0 && block.off < f.length && uint64(atomic.LoadInt64(&readBufferUsed)) < f.r.readAheadTotal {
541+
if block.len > 0 && block.off < f.length && uint64(readBufferUsed.Load()) < f.r.readAheadTotal {
542542
if block.len < f.r.blockSize {
543543
block.len += f.r.blockSize - block.end()%f.r.blockSize // align to end of a block
544544
}
@@ -724,7 +724,7 @@ func NewDataReader(conf *Config, m meta.Meta, store chunk.ChunkStore) DataReader
724724
}
725725

726726
func (r *dataReader) readBufferUsed() int64 {
727-
used := atomic.LoadInt64(&readBufferUsed)
727+
used := readBufferUsed.Load()
728728
return used
729729
}
730730

0 commit comments

Comments
 (0)