| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
system calls it displays stats about.
PR: 50924
|
|
|
|
|
| |
PR: 50924
Submitted by: Ken Stailey (with a few changes)
|
|
|
|
| |
break with "fooX irqY" lines that are a bit bigger.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Kernel:
Change statistics to use the *uptime() timescale (ie: relative to
boottime) rather than the UTC aligned timescale. This makes the
device statistics code oblivious to clock steps.
Change timestamps to bintime format, they are cheaper.
Remove the "busy_count", and replace it with two counter fields:
"start_count" and "end_count", which are updated in the down and
up paths respectively. This removes the locking constraint on
devstat.
Add a timestamp argument to devstat_start_transaction(), this will
normally be a timestamp set by the *_bio() function in bp->bio_t0.
Use this field to calculate duration of I/O operations.
Add two timestamp arguments to devstat_end_transaction(), one is
the current time, a NULL pointer means "take timestamp yourself",
the other is the timestamp of when this transaction started (see
above).
Change calculation of busy_time to operate on "the salami principle":
Only when we are idle, which we can determine by the start+end
counts being identical, do we update the "busy_from" field in the
down path. In the up path we accumulate the timeslice in busy_time
and update busy_from.
Change the byte_* and num_* fields into two arrays: bytes[] and
operations[].
Userland:
Change the misleading "busy_time" name to be called "snap_time" and
make the time long double since that is what most users need anyway,
fill it using clock_gettime(CLOCK_MONOTONIC) to put it on the same
timescale as the kernel fields.
Change devstat_compute_etime() to operate on struct bintime.
Remove the version 2 legacy interface: the change to bintime makes
compatibility far too expensive.
Fix a bug in systat's "vm" page where boot relative busy times would
be bogus.
Bump __FreeBSD_version to 500107
Review & Collaboration by: ken
|
| |
|
|
|
|
|
| |
My apologies for missing these #includes, I must have confused the
dependencies with a wrong timestamp or something.
|
| |
|
|
|
|
|
|
|
| |
(the patch in the PR was stale).
PR: kern/5689
Submitted by: Hiten Pandya <hiten@unixdaemons.com>
|
|
|
|
|
| |
time_t, so do not use the latter as type when retrieving the variable
via libkvm. This should fix vmstat on sparc64.
|
| |
|
|
|
|
|
| |
PR: docs/37757
Submitted by: Hiten Pandya <hiten@uk.FreeBSD.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updated the kmemzones logic such that the ks_size bitmap can be used as an
index into it to report the size of the zone used.
Create the kern.malloc sysctl which replaces the kvm mechanism to report
similar data. This will provide an easy place for statistics aggregation if
malloc_type statistics become per cpu data.
Add some code ifdef'd under MALLOC_PROFILING to facilitate a tool for sizing
the malloc buckets.
|
|
|
|
|
|
|
|
|
|
|
| |
to unsigned long long.
Don't be too overzealous with the printing of ks_calls in the total
statistics, cut back from 20 to 13 positions to print (which should last
a couple of years easily (20 digits is enough for 3168 years of calls at a
measly billion (10^9) calls per second.)).
Submitted by: bde
|
|
|
|
| |
Pointed out by: jeff
|
|
|
|
|
|
|
|
|
|
| |
make sense to me) and change the printf argument from %8ld to %20llu to
accompany the printing of the totals.
Realigned the header printed above it as well.
PR: 32342
Submitted by: ryan beasley <ryanb@goddamnbastard.org>
Reviewed by: jeff, Tim J Robbins
|
| |
|
| |
|
| |
|
|
|
|
| |
warnings originating in system headers.
|
| |
|
|
|
|
|
|
|
|
| |
interface.
Cast the return of the rest of the printfs in here to void.
Submitted by: "Sergey A. Osokin" <osa@freebsd.org.ru>
|
|
|
|
|
|
| |
size_t (not to an int).
MFC after: 2 days
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
hold a 64bit or 32bit ~0 value, i.e. 20 and 10; this anticipates
soon-to-be machines with Exahertz rtc interrupt frequencies. :-)
PR: bin/16206
Submitted by: John Capo <jc@irbs.com>
MFC after: 1 week
|
|
|
|
|
|
|
| |
columns. 80 columns + newline is a problem for some terminals including syscons.
Requested by: bde
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
columns confuse the heck out of other apps trying to parse vmstat output
(eg sscope). I made sure we're still <= 80 cols per line.
Fixed warnings about unused vars and printf %format mismatches.
Requested by: Eugene Aleynikov <eugenea@infospace.com>
Reviewed by: joerg (implicitly)
MFC after: 2 weeks
|
|
|
|
|
|
|
|
| |
which is slightly less than 4GB. To use a quote from someone who shall
remain nameless "No one will ever need more than 4 GB" :-) But FreeBSD
is prepared if we one day will.
Requested by: Eugene Aleynikov <eugenea@infospace.com>
|
|
|
|
|
|
|
| |
PR: 25267
Submitted by: Eugene Aleynikov <eugene@infospace.com>
Reviewed by: joerg
MFC after: 2 weeks
|
| |
|
| |
|
|
|
|
|
|
|
| |
Submitted by: Maxim Konovalov <maxim@macomnet.ru>
Silence a warning by renaming the 'pgtok' #define to 'vmstat_pgtok' so
as not to conflict with the 'pgtok' #define in sys/param.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vm.stats.vm.v_forks
vm.stats.vm.v_vforks
vm.stats.vm.v_rforks
vm.stats.vm.v_kthreads
vm.stats.vm.v_forkpages
vm.stats.vm.v_vforkpages
vm.stats.vm.v_rforkpages
vm.stats.vm.v_kthreadpages
Submitted by: Paul Herman <pherman@frenchfries.net>
Reviewed by: alfred
|
| |
|
|
|
|
| |
internal data structures.
|
|
|
|
|
|
| |
is ultimately silly because no locks are held in user space while traversing
the list via kvm_reads... really, this should use the sysctl interface
which *is* protected by a lock in the kernel.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
from signed long to unsigned lon long.
PR: 12808
Submitted by: Kevin Day toasty@dragondata.com
Reviewed by: bde
|
|
|
|
|
| |
Inspired by: PR docs/11774
Submitted by: Chad R. Larson <chad@freeway.dcfinc.com>
|
|
|
|
|
|
|
| |
the magicness of 200. Cleaned up the remaining parts. Circularisation
of the list of malloc types was a kernel bug (now fixed). Interfering
with applications' definitions of pgtok is a system header bug (not
fixed).
|
|
|
|
|
|
|
|
|
| |
changed from a simple list to a circular one. We compensate by only
looping until we see the first address again. Before, things would
terminate because it was limited to 200 iterations. This lead to
bogus statistics and repeating stats for memory types.
This should be merged into 3.2, as the same bug is there.
|
|
|
|
| |
its brothers and sisters.
|
|
|
|
|
|
|
| |
I'm not sure why we have `mvstat -z'. `sysctl vm.zone' gives more
information. OTOH, `sysctl vm.zone' shouldn't return ASCII data,
and reporting of memory use should be integrated, at least as an
option.
|
| |
|
| |
|