Commit 0dca6c43 authored by Han-Wen Nienhuys's avatar Han-Wen Nienhuys

Put createdBuffers into bufferpool debug output.

parent 94b012ab
...@@ -49,7 +49,10 @@ func NewBufferPool() *BufferPool { ...@@ -49,7 +49,10 @@ func NewBufferPool() *BufferPool {
} }
func (me *BufferPool) String() string { func (me *BufferPool) String() string {
s := "" me.lock.Lock()
defer me.lock.Unlock()
s := fmt.Sprintf("created: %v\noutstanding %v\n",
me.createdBuffers, len(me.outstandingBuffers))
for exp, bufs := range me.buffersByExponent { for exp, bufs := range me.buffersByExponent {
s = s + fmt.Sprintf("%d = %d\n", exp, len(bufs)) s = s + fmt.Sprintf("%d = %d\n", exp, len(bufs))
} }
...@@ -78,13 +81,6 @@ func (me *BufferPool) addBuffer(slice []byte, exp uint) { ...@@ -78,13 +81,6 @@ func (me *BufferPool) addBuffer(slice []byte, exp uint) {
} }
func (me *BufferPool) AllocCount() int {
me.lock.Lock()
defer me.lock.Unlock()
return me.createdBuffers
}
func (me *BufferPool) AllocBuffer(size uint32) []byte { func (me *BufferPool) AllocBuffer(size uint32) []byte {
sz := int(size) sz := int(size)
if sz < PAGESIZE { if sz < PAGESIZE {
...@@ -112,7 +108,7 @@ func (me *BufferPool) AllocBuffer(size uint32) []byte { ...@@ -112,7 +108,7 @@ func (me *BufferPool) AllocBuffer(size uint32) []byte {
// FUSE throttles to ~10 outstanding requests, no normally, // FUSE throttles to ~10 outstanding requests, no normally,
// should not have more than 20 buffers outstanding. // should not have more than 20 buffers outstanding.
if paranoia && len(me.outstandingBuffers) > 50 { if paranoia && (me.createdBuffers > 50 || len(me.outstandingBuffers) > 50) {
panic("Leaking buffers") panic("Leaking buffers")
} }
......
...@@ -136,8 +136,8 @@ func (me *MountState) OperationCounts() map[string]int { ...@@ -136,8 +136,8 @@ func (me *MountState) OperationCounts() map[string]int {
} }
func (me *MountState) BufferPoolStats() string { func (me *MountState) BufferPoolStats() string {
return fmt.Sprintf("buffer alloc count %d\nbuffers %v", return fmt.Sprintf("buffers %v",
me.buffers.AllocCount(), me.buffers.String()) me.buffers.String())
} }
//////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment