freebsd-skq/lib/libdevstat/Makefile

39 lines
927 B
Makefile
Raw Normal View History

# $FreeBSD$
LIB= devstat
2003-08-18 15:25:39 +00:00
SHLIBDIR?= /lib
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
# Bump DEVSTAT_USER_API_VER in devstat.h every time this is incremented.
SHLIB_MAJOR= 6
SRCS= devstat.c
INCS= devstat.h
DPADD= ${LIBKVM}
LDADD= -lkvm
2001-03-27 17:27:19 +00:00
MAN= devstat.3
MLINKS+=devstat.3 devstat_getnumdevs.3
MLINKS+=devstat.3 devstat_getgeneration.3
MLINKS+=devstat.3 devstat_getversion.3
MLINKS+=devstat.3 devstat_checkversion.3
MLINKS+=devstat.3 devstat_getdevs.3
MLINKS+=devstat.3 devstat_selectdevs.3
MLINKS+=devstat.3 devstat_buildmatch.3
MLINKS+=devstat.3 devstat_compute_statistics.3
MLINKS+=devstat.3 devstat_compute_etime.3
MLINKS+=devstat.3 getnumdevs.3
MLINKS+=devstat.3 getgeneration.3
MLINKS+=devstat.3 getversion.3
MLINKS+=devstat.3 checkversion.3
MLINKS+=devstat.3 getdevs.3
MLINKS+=devstat.3 selectdevs.3
MLINKS+=devstat.3 buildmatch.3
MLINKS+=devstat.3 compute_stats.3
MLINKS+=devstat.3 compute_etime.3
CFLAGS+=-I${.CURDIR}
WARNS?= 2
.include <bsd.lib.mk>