Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Apr 2008 18:13:34 -0700
From:      gnn@freebsd.org
To:        stable@freebsd.org
Subject:   Some odd behaviour of vmstat and vmtotal...
Message-ID:  <m2lk2ultc1.wl%gnn@neville-neil.com>

next in thread | raw e-mail | index | archive | help
Howdy,

In deploying 7.0 at work we were finding a persistent problem when
running "vmstat 1" on systems.  The problem shows up as a 10ms "pause"
in processing, usually packet stamping and forwarding by a user level
process.  This is due to the fact that vmstat calls the vmtotal()
routine which in turn does a whole lot of locking.  The vmtotal call
locks and walks the VM object list twice in a mark and sweep
operation.

So, the question is, "What is the right way to fix this?"  I could
remove the locking since the O_ACTIVE bit is not used by any other
routine besides vmtotal, but I'm not too happy about that.

The relevant code can be found in src/sys/vm/vm_meter.c in vmtotal().

Thoughts?

Best,
George



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?m2lk2ultc1.wl%gnn>