1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-07 13:14:51 +00:00
freebsd/lib
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
..
compat Add libgmp.so.3 from 4.7-RELEASE CDs. 2003-02-17 17:26:03 +00:00
csu Very minor EOL whitespace diff-reducer. 2003-01-26 23:34:47 +00:00
libalias Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
libatm
libbind
libbz2
libc The gdtoa import apparently hasn't caused anything or anyone to 2003-03-15 09:47:05 +00:00
libc_r Fix threaded applications on ia64 that are linked dynamicly. We did 2003-03-05 04:39:24 +00:00
libcalendar
libcam english(4) police. 2002-12-27 12:15:40 +00:00
libcom_err
libcompat Consistently mark std(in|out|err) with .Dv, because that's how they 2002-12-04 18:57:46 +00:00
libcrypt english(4) police. 2002-12-27 12:15:40 +00:00
libdevinfo Expand length of pnpinfo and length fields since pccard pnpinfo can 2003-02-17 18:56:00 +00:00
libdevstat Run a revision of the devstat interface: 2003-03-15 21:59:06 +00:00
libdisk Fix build error. 2003-02-06 14:26:41 +00:00
libedit The .Fn function 2003-02-06 11:25:03 +00:00
libexpat english(4) police. 2002-12-27 12:15:40 +00:00
libfetch Don't parse the proxy URL unless we're actually going to use it. No real 2003-03-11 08:20:58 +00:00
libform
libftpio english(4) police. 2002-12-27 12:15:40 +00:00
libgeom mdoc(7) police: Scheduled sweep. 2003-02-24 22:53:26 +00:00
libio
libipsec The .Fn function. Spelling. 2003-02-06 11:29:40 +00:00
libipx
libisc
libkse Backout last commit. 2003-03-15 04:45:42 +00:00
libkvm Catch up to p_tracep -> p_tracevp rename to unbreak world. 2003-03-13 21:40:54 +00:00
libmd
libmenu
libmilter
libmp Adjust for OpenSSL 0.9.7. 2003-01-28 23:03:15 +00:00
libncp Use a character device and ioctl() for communication between libncp 2003-02-28 04:31:29 +00:00
libncurses Fixed CLEANFILES. 2003-02-25 15:41:49 +00:00
libnetgraph Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
libopie
libpam This module is not WARNS-clean, due to brokenness in OpenSSL headers. 2003-03-10 09:19:08 +00:00
libpanel
libpcap
libpthread Backout last commit. 2003-03-15 04:45:42 +00:00
libradius
librpcsvc
libsbuf
libsm
libsmb
libsmdb
libsmutil
libstand Fix a machine check abort caused by the EFI loader trying to open a 2003-03-03 00:58:47 +00:00
libtacplus mdoc(7) police: formatting nits. 2002-11-29 15:57:50 +00:00
libtelnet
libufs Clean up error reporting in block.c, so that it gives honest error strings 2003-02-19 00:32:48 +00:00
libugidfw Correct a couple small typos. 2003-01-07 13:18:21 +00:00
libusbhid
libutil Re-document unimplemented capabilities that were removed in the last 2003-03-05 00:21:35 +00:00
libvgl Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
libwrap
libxpg4
liby
libypclnt style.Makefile(5) police. 2003-03-09 19:56:21 +00:00
libz In src/lib/libz/gzio.c the function gzprintf does not check if the 2003-03-14 01:47:01 +00:00
msun mdoc(7) police: Nits. 2003-03-02 21:04:21 +00:00
ncurses Fixed CLEANFILES. 2003-02-25 15:41:49 +00:00
Makefile KerberosIV deorbit sequence continues: Look for K5 instead of KIV 2003-03-08 11:01:31 +00:00
Makefile.inc