@@ -51,7 +51,7 @@ const (
5151
5252const readSessions = 2
5353
54- var readBufferUsed int64
54+ var readBufferUsed atomic. Int64
5555
5656type 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
726726func (r * dataReader ) readBufferUsed () int64 {
727- used := atomic . LoadInt64 ( & readBufferUsed )
727+ used := readBufferUsed . Load ( )
728728 return used
729729}
730730
0 commit comments