Date: Thu, 4 Apr 2002 13:38:47 -0800 (PST) From: Matt Dillon <dillon@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/i386 trap.c src/sys/sys pcpu.h src/sys/vm vm_meter.c Message-ID: <200204042138.g34Lclm58800@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
dillon 2002/04/04 13:38:47 PST
Modified files:
sys/i386/i386 trap.c
sys/sys pcpu.h
sys/vm vm_meter.c
Log:
Embed a struct vmmeter in the per-cpu structure and add a macro,
PCPU_LAZY_INC() which increments elements in it for cases where we
can afford the occassional inaccuracy. Use of per-cpu stats counters
avoids significant cache stalls in various critical paths that would
otherwise severely limit our cpu scaleability.
Adjust all sysctl's accessing cnt.* elements to now use a procedure
which aggregates the requested field for all cpus and for the global
vmmeter.
The global vmmeter is retained, since some stats counters, like v_free_min,
cannot be made per-cpu. Also, this allows us to convert counters from
the global vmmeter to the per-cpu vmmeter in a piecemeal fashion, so
have at it!
Revision Changes Path
1.221 +5 -1 src/sys/i386/i386/trap.c
1.8 +17 -0 src/sys/sys/pcpu.h
1.62 +129 -96 src/sys/vm/vm_meter.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204042138.g34Lclm58800>
