History log of /freebsd-9.3-release/lib/libdevstat/
Revision Date Author Comments
267654 20-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


225736 23-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


220319 04-Apr-2011 pluknet

Do not increment num_args if strsep(3) returned an empty field.
That fixes devstat_buildmatch(3) crashes with certain strings.

Reported by: arundel
MFC after: 2 weeks


210823 03-Aug-2010 joel

Spelling fixes.


201381 02-Jan-2010 ed

Build lib/ with WARNS=6 by default.

Similar to libexec/, do the same with lib/. Make WARNS=6 the norm and
lower it when needed.

I'm setting WARNS?=0 for secure/. It seems secure/ includes the
Makefile.inc provided by lib/. I'm not going to touch that directory.
Most of the code there is contributed anyway.


195767 19-Jul-2009 kensmith

Bump the version of all non-symbol-versioned shared libraries in
preparation for 8.0-RELEASE. Add the previous version of those
libraries to ObsoleteFiles.inc and bump __FreeBSD_Version.

Reviewed by: kib
Approved by: re (rwatson)


175861 31-Jan-2008 jhb

The devstat(3) manpage claims that only <devstat.h> is needed as a
prerequisite for using this interface. However, the 'statinfo' struct
actually references CPUSTATES from <sys/resource.h>, so in fact it
requires <sys/resource.h> to compile. Use a nested include of
<sys/resource.h> to make the code match the docs.

Reported by: Pietro Cerutti gahr | gahr.ch


169807 21-May-2007 deischen

Bump library versions in preparation for 7.0.

Ok'd by: kan


150948 04-Oct-2005 stefanf

Remove an unused variable.

Reviewed by: ken


148910 10-Aug-2005 ken

Remove a reference to compute_stats(), since it is no longer documented at
least.

Submitted by: osa
MFC after: 1 week


148297 22-Jul-2005 kensmith

Bump the shared library version number of all libraries that have not
been bumped since RELENG_5.

Reviewed by: ru
Approved by: re (not needed for commit check but in principle...)


148093 17-Jul-2005 charnier

sync function prototype with reality.


147690 30-Jun-2005 ru

Tidy up the markup.

Approved by: re (blanket manpages)


145553 26-Apr-2005 mux

Use __func__ throughout devstat.c instead of defining a func_name
variable in each function.


145549 26-Apr-2005 mux

Make this compile with GCC4 by fixing a signedness issue.

Reviewed by: md5(1)


131504 02-Jul-2004 ru

Mechanically kill hard sentence breaks.


131075 25-Jun-2004 kan

Remove the use of cast as lvalue. GCC 3.4 isses a deprecation warning
for this now.


125503 05-Feb-2004 ru

Fixed style of DPADD and LDADD assignments as per style.Makefile(5).


121064 13-Oct-2003 bde

Include <nlist.h> for nlist-related declarations instead of depending on
namespace pollution in <kvm.h>.


119893 08-Sep-2003 ru

mdoc(7): Use the new feature of the .In macro.


119071 18-Aug-2003 obrien

style.Makefile(5)


119029 17-Aug-2003 phk

It is not an error to have no devices.


119017 17-Aug-2003 gordon

Stage 3 of dynamic root support. Make all the libraries needed to run
binaries in /bin and /sbin installed in /lib. Only the versioned files
reside in /lib, the .so symlink continues to live /usr/lib so the
toolchain doesn't need to be modified.


116325 14-Jun-2003 ken

Remove MAINTAINER= lines in the makefiles for camcontrol, iostat, libcam
and libdevstat, since the new way of doing things is to just list
maintainership in src/MAINTAINERS.

Also, remove duplicate entries in src/MAINTAINERS for those utilities. I
already had entries for them.


115225 22-May-2003 ru

Assorted mdoc(7) fixes.

Approved by: re (blanket)


113710 19-Apr-2003 phk

Add prototype for compute_stats() so that libdevstat is WARNS=4 clean.

Spotted by: kris


113281 09-Apr-2003 phk

If rounding results in -epsilon device busy %, set it to zero.


112406 19-Mar-2003 phk

typo


112405 19-Mar-2003 phk

Further unbreak devstat: sort the index array in correct order too.


112381 18-Mar-2003 phk

ARGH!

Pointy hat to: phk


112380 18-Mar-2003 phk

Commit ken@' changes to this file: Bump version and append new entries
to stay backwards compatible.


112375 18-Mar-2003 phk

Update to match reality closer.


112373 18-Mar-2003 phk

Add more devstat calculations, mostly filling in holes, but also adding
a couple of reqests: DSM_BUSY_PCT and DSM_QUEUE_LENGTH.

I have no further plans for mutilating this API at this point in
time, and will update the man-page to reflect current reality as
the next thing.

Reviewed by: ken


112293 15-Mar-2003 phk

And I managed to make a regression here too.

I have too many source trees :-(


112288 15-Mar-2003 phk

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


111121 19-Feb-2003 phk

Don't tell people to include <sys/dkstat.h> any more.

Pointed out by: kuriyama


111000 16-Feb-2003 phk

Remove include of <sys/dkstat.h>


110998 16-Feb-2003 phk

Premptively include <sys/resource.h> to get the cp_time[CPUSTATES].


104073 28-Sep-2002 peter

Zap now-unused SHLIB_MINOR


92913 21-Mar-2002 obrien

Remove 'register' keyword.


84395 03-Oct-2001 bde

Fixed wrong arg type in synopsis.


84306 01-Oct-2001 ru

mdoc(7) police: Use the new .In macro for #include statements.


83868 23-Sep-2001 ken

Turn on WARNS?= 2 for libdevstat.

Submitted by: "Sergey A. Osokin" <osa@freebsd.org.ru>


83551 16-Sep-2001 dillon

Implement __FBSDID()


82257 24-Aug-2001 ken

Remove a duplicate "that".

Submitted by: "Sergey A. Osokin" <osa@freebsd.org.ru>


82139 22-Aug-2001 ru

mdoc(7) police: Fixed broken xrefs.


82028 21-Aug-2001 ken

Fix some style inconsistencies introduced in rev 1.10, as well as some
other inconsistencies that I missed in my review of rev 1.7. Also fix
a cut-n-paste error from an earlier revision.


81984 20-Aug-2001 brian

Better snprintf() handling.

Prompted by: bde


81972 20-Aug-2001 brian

Handle snprintf() returning -1.

MFC after: 2 weeks


81883 18-Aug-2001 ken

Implement compute_stats() in terms of devstat_compute_statistics(). This
gets rid of the duplicated code in compute_stats().

Add a new DSM_SKIP statistic type for devstat_compute_statistics() that
causes the subsequent variable argument to be skipped.

Thanks to Sergey Osokin for coding up my idea/code fragment.

Submitted by: "Sergey A. Osokin" <osa@freebsd.org.ru>


81133 04-Aug-2001 tmm

Add some features to libdevstat, and overhaul the interface a bit:

1.) prefix all functions in the library with devstat_ (compatability
functions are available for all functions that were chaned in an
incompatible way, but are deprecated).
2.) Add a pointer to a kvm_t as the first argument to functions that
used to get their information via sysctl; they behave the same
as before when NULL is passed as this argument, otherwise, the
information is obtained via libkvm using the supplied handle.
3.) Add a new function, devstat_compute_statistics(), that is intended
to replace the old compute_stats() function. It offers more
statistics data, and has a more flexible interface.

libdevstat does now require libkvm; a library depedency is added, so
that libkvm only needs to be explicitely specified for statically linked
programs.
The library major version number is bumped.

Submitted by: Sergey A. Osokin <osa@freebsd.org.ru>, ken (3)
Reviewed by: ken


79754 15-Jul-2001 dd

Remove whitespace at EOL.


79531 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


76812 18-May-2001 ru

Removed -I${.CURDIR}/.../sys from CFLAGS.


74870 27-Mar-2001 ru

MAN[1-9] -> MAN.


71895 01-Feb-2001 ru

mdoc(7) police: split punctuation characters + misc fixes.


70481 29-Dec-2000 ru

Prepare for mdoc(7)NG.


70015 14-Dec-2000 ru

mdoc(7) police: removed history info from the .Os FreeBSD call.


68945 20-Nov-2000 ru

mdoc(7) police: use the new features of the Nm macro.


59505 22-Apr-2000 phantom

Introduce .Lb macro to libdevstat library manpage


55955 14-Jan-2000 rgrimes

Replace beforeinstall target with new variables used by .mk system.

Reviewed by: marcel, and make world


51598 23-Sep-1999 ken

Clarify what getdevs() expects as input.

Prompted by: grog


51515 21-Sep-1999 phantom

Synchronization of NAME and SINOPSYS sections.
mdoc(7)'fy


50476 28-Aug-1999 peter

$Id$ -> $FreeBSD$


47993 18-Jun-1999 ken

Add a MAINTAINER line to modules that I maintain.

Suggested by: brian, markm


44936 22-Mar-1999 phk

Address our users in a civilized manner. (They may know better, but probably
just forgot it, it is certainly no reason to don't insult them.)


44490 05-Mar-1999 bde

Fixed missing header in synopsis (<devstat.h> unfortunately depends on
<sys/dkstat.h>).


42330 06-Jan-1999 obrien

add MLINKs for all the functions covered by the manpage


42329 06-Jan-1999 obrien

spell check


40364 14-Oct-1998 ken

Fix a couple of potential buffer overrun cases.

Submitted by: imp


39498 20-Sep-1998 ken

Change the devstat generation number from an int to a long. The int-sized
generation was causing unaligned access faults on the Alpha.

I have incremented the devstat version number, since this is an interface
change. You'll need to recompile libdevstat, systat, iostat, vmstat and
rpc.rstatd along with your kernel.

Partially Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>


39451 18-Sep-1998 ken

Fix some error message format problems in checkversion() and getversion().

Reported By: bde


39211 15-Sep-1998 gibbs

Device statistics library. Used by iostat, vmstat, and systat to
format and analyze the output of the new device statistics sysctls.

Submitted by: "Kenneth D. Merry" <ken@FreeBSD.org>