freebsd-dev/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 Bump document date for the 'beep only' change. 2002-08-16 03:08:25 +00:00
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 o __P removal 2002-02-06 16:38:40 +00:00
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 Update build infrastructure for sendmail 8.12. 2002-02-17 22:05:07 +00:00
makekey The .Nm utility 2002-07-06 19:19:48 +00:00
mknetid Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
named-xfer Lock down with WFORMAT?=1, with overrides in the subdirectories which 2002-02-04 02:33:51 +00:00
pppoed The .Nm utility 2002-07-06 19:19:48 +00:00
pt_chown Implement POSIX grantpt(3) functionality, and add a pt_chown utility (akin 2003-01-02 20:44:41 +00:00
rbootd The .Nm utility 2002-07-06 19:19:48 +00:00
revnetgroup Fix typos; each file has at least one s/seperat/separat/ 2002-08-11 13:05:30 +00:00
rexecd The .Nm utility 2002-07-06 19:19:48 +00:00
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 Port to TI/RPC and/or IPV6. 2002-07-15 18:51:57 +00:00
rpc.rwalld Port to TI/RPC and/or IPV6. 2002-07-15 18:51:57 +00:00
rpc.sprayd Port to TI/RPC and/or IPV6. 2002-07-15 18:51:57 +00:00
rshd The .Nm utility 2002-07-06 19:19:48 +00:00
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 beforeinstall -> SCRIPTS. 2001-04-07 11:21:35 +00:00
smrsh Update build infrastructure for sendmail 8.12. 2002-02-17 22:05:07 +00:00
talkd The .Nm utility 2002-07-06 19:19:48 +00:00
tcpd Build the TCP-wrapper helper "daemon" tcpd. This is not much use in 2002-01-12 13:31:30 +00:00
telnetd Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:10:45 +00:00
tftpd The .Nm utility 2002-07-06 19:19:48 +00:00
xtend The .Nm utility 2002-07-06 19:19:48 +00:00
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 Lock down with WFORMAT?=1, with overrides in the subdirectories which 2002-02-04 02:33:51 +00:00