History log of /freebsd-9.3-release/libexec/rpc.rstatd/rstat_proc.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-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 22-Sep-2011 kensmith

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

Approved by: re (implicit)


# 179710 10-Jun-2008 jhb

Use sysctl to fetch stats from the kernel instead of reading variables
directly via libkvm.

PR: kern/122875, bin/123014
Tested by: Danny Braniss danny cs.huji.ac.il
MFC after: 1 week


# 115667 02-Jun-2003 obrien

Add the variable's type to the declaration.


# 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


# 112283 15-Mar-2003 phk

Update to current devstat API.


# 111005 16-Feb-2003 phk

Add #include <sys/resource.h>


# 111001 16-Feb-2003 phk

Remove <sys/dkstat.h> #include


# 104384 02-Oct-2002 mike

Rename local function havedisk() to haveadisk() to avoid conflict a
with another function by the same name in a system header.


# 102069 18-Aug-2002 bde

Include <nlist.h> for nlist interfaces instead of depending on namespace
pollution in <kvm.h>.


# 95658 28-Apr-2002 des

Spell void * as void * rather than caddr_t. This is complicated by the
fact that caddr_t is often misspelled as char *.

Sponsored by: DARPA, NAI Labs


# 90336 07-Feb-2002 imp

o __P removal
o use new style prototypes and function definitions
o signal handlers need an argument. Mark it unused.


# 85040 17-Oct-2001 fenner

The interface index space may be sparsely populated (e.g. when an
interface in the middle is if_detach()'d). Return (and handle)
ENOENT when the ifmib(4) is accessed for a nonexistent interface.

MFC after: 14 days


# 81080 02-Aug-2001 jon

Fixes file descriptor leak in standalone mode.
Prevents simultaneous calls to updatestat() as function is not reentrant.

PR: bin/24857
Submitted by: Martin Butkus <mb@bagheera.thgwf.de>
MFC after: 1 month


# 50476 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 40078 08-Oct-1998 ken

Fix a memory leak in rpc.rstatd that shows up when it's run in standalone
mode. (i.e., not from inetd)

PR: bin/8212


# 39383 16-Sep-1998 dfr

Work around an alpha compiler bug.

Reviewed by: Kenneth D. Merry <ken@plutotech.com>


# 39228 15-Sep-1998 gibbs

Update system to new device statistics code.

Submitted by: "Kenneth D. Merry" <ken@plutotech.com>
mike@smith.net.au (Mike Smith)


# 32629 19-Jan-1998 wpaul

Make these programs compile and work correctly now that /usr/include/rpcsvc
has been ANSI-fied.

Pointed out by: bde


# 32311 07-Jan-1998 charnier

Remove unused #include. Display if inetd started us in case of failure.


# 31421 26-Nov-1997 charnier

Remove \n at end of syslog string. -Wall cleaning. Cosmetics in man page.


# 22989 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


# 21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# 21264 03-Jan-1997 wollman

Update to match changes in <net/if.h>.


# 20333 11-Dec-1996 wollman

Convert this program to use sysctl rather than kvm for some of its
statistics. Unfortunately, the coverage of sysctl isn't good enough to do
all of them :-( .


# 8870 30-May-1995 rgrimes

Remove trailing whitespace.


# 3615 15-Oct-1994 dg

Updated to changes in struct vmmeter. There is a slight bogosity here:
"pageins/outs" now refers to vnode paging.


# 2335 28-Aug-1994 csgr

This commit was generated by cvs2svn to compensate for changes in r2334,
which included commits to RCS files with non-trunk default branches.


# 2334 28-Aug-1994 csgr

rstatd -- from FreeBSD-1.1.5.1, with changes for 4.4-Lite kvm interface.
Original rstatd by John Brezak
Submitted by: Geoff.