freebsd-nq/libexec
Poul-Henning Kamp 7194d335cf Run a revision of the devstat interface:
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
2003-03-15 21:59:06 +00:00
..
atrun mdoc(7) police: Deal with self-xrefs. 2002-12-24 13:41:48 +00:00
bootpd Add FBSDID. udp/bootps -> bootps/udp. Use err(3). 2003-02-05 13:45:25 +00:00
comsat
fingerd Mark the logerr() function __printflike(). 2002-10-13 11:26:37 +00:00
ftpd mdoc(7) police: Scheduled sweep. 2003-02-24 22:53:26 +00:00
getNAME
getty mdoc(7) police: expand contraction. 2003-02-23 01:45:51 +00:00
lukemftpd Add OPIE and PAM libs to the mix. 2003-02-02 21:11:15 +00:00
mail.local
makekey
mknetid Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
named-xfer
pppoed
pt_chown Implement POSIX grantpt(3) functionality, and add a pt_chown utility (akin 2003-01-02 20:44:41 +00:00
rbootd
revnetgroup
rexecd
rlogind Fixed the abuses of .Ql visible on stderr in troff mode. 2002-12-23 16:04:51 +00:00
rpc.rquotad Uniformly refer to a file system as "file system". 2002-12-12 17:26:04 +00:00
rpc.rstatd Run a revision of the devstat interface: 2003-03-15 21:59:06 +00:00
rpc.rusersd
rpc.rwalld
rpc.sprayd
rshd
rtld-aout Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
rtld-elf Free obj->priv field in obj_free functions. This field is NULL 2003-03-14 21:11:28 +00:00
save-entropy
smrsh
talkd
tcpd
telnetd Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:10:45 +00:00
tftpd
xtend
ypxfr english(4) police. 2002-12-27 12:15:40 +00:00
Makefile Implement POSIX grantpt(3) functionality, and add a pt_chown utility (akin 2003-01-02 20:44:41 +00:00
Makefile.inc