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
..
2002-07-17 15:35:31 +00:00
2002-07-14 18:23:22 +00:00
2002-07-14 18:23:22 +00:00
2002-05-30 13:33:59 +00:00
2003-02-28 21:04:17 +00:00
2002-05-10 20:36:21 +00:00
2002-03-22 01:22:50 +00:00
2002-09-04 23:29:10 +00:00
2002-08-16 03:08:25 +00:00
2002-12-12 13:26:32 +00:00
2002-06-02 20:05:59 +00:00
2002-02-01 16:33:40 +00:00
2003-01-04 17:09:27 +00:00
2002-02-08 22:31:43 +00:00
2002-12-11 17:26:53 +00:00
2003-03-15 00:25:43 +00:00
2002-07-28 14:41:26 +00:00
2002-12-13 16:53:51 +00:00
2002-12-30 21:18:15 +00:00
2002-07-28 14:55:59 +00:00
2002-08-27 19:06:44 +00:00
2002-12-30 09:46:58 +00:00
2003-03-13 23:32:28 +00:00
2003-02-26 06:44:46 +00:00
2002-09-04 23:29:10 +00:00
2002-12-23 16:04:51 +00:00
2002-11-26 17:33:37 +00:00
2002-07-28 15:22:43 +00:00
2002-07-28 15:25:15 +00:00
2002-07-28 15:28:38 +00:00
2002-12-30 21:18:15 +00:00
2002-08-14 11:38:30 +00:00
2002-11-26 17:33:37 +00:00
2002-11-26 10:51:47 +00:00
2002-07-28 15:50:38 +00:00
2002-12-12 17:26:04 +00:00
2002-12-30 18:13:07 +00:00
2002-07-02 12:37:09 +00:00
2003-02-19 15:25:07 +00:00
2003-03-03 11:51:30 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-11-26 10:57:57 +00:00
2002-06-30 05:25:07 +00:00
2003-03-11 21:33:43 +00:00
2003-03-12 14:37:01 +00:00
2002-06-30 05:25:07 +00:00
2003-02-18 14:30:43 +00:00
2002-12-24 13:41:48 +00:00
2002-06-30 05:25:07 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2003-01-13 00:33:17 +00:00
2002-06-30 05:25:07 +00:00
2002-06-15 09:42:17 +00:00
2002-09-13 18:24:59 +00:00
2002-12-24 07:40:10 +00:00
2002-12-12 17:26:04 +00:00
2002-12-27 12:15:40 +00:00
2003-02-04 18:26:08 +00:00
2002-07-23 14:39:20 +00:00
2002-09-04 23:29:10 +00:00
2002-12-05 08:50:00 +00:00
2002-09-04 23:29:10 +00:00
2003-01-01 18:49:04 +00:00
2003-02-05 14:15:02 +00:00
2002-06-30 05:25:07 +00:00
2002-11-26 11:25:04 +00:00
2002-07-05 15:58:27 +00:00
2003-03-13 18:58:39 +00:00
2002-06-30 05:25:07 +00:00
2002-06-30 05:25:07 +00:00
2003-02-05 14:20:27 +00:00
2003-02-05 14:25:43 +00:00
2002-10-06 23:52:06 +00:00
2002-07-01 18:03:30 +00:00
2002-10-30 18:19:59 +00:00
2003-01-27 18:16:32 +00:00
2002-12-30 21:18:15 +00:00
2002-12-23 16:04:51 +00:00
2003-03-06 04:35:48 +00:00
2003-01-01 18:49:04 +00:00
2002-12-12 17:26:04 +00:00
2002-10-16 13:17:18 +00:00
2002-07-29 09:40:17 +00:00
2003-02-27 18:25:26 +00:00
2002-06-30 05:25:07 +00:00
2002-09-04 23:29:10 +00:00
2003-02-15 23:20:04 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-09-24 18:16:36 +00:00
2002-12-12 17:26:04 +00:00
2002-12-27 12:15:40 +00:00
2003-02-04 18:26:08 +00:00
2003-02-03 04:15:53 +00:00
2002-11-18 10:11:22 +00:00
2002-09-04 23:29:10 +00:00
2002-11-26 17:33:37 +00:00
2002-12-27 12:15:40 +00:00
2002-09-04 23:29:10 +00:00
2002-12-27 12:15:40 +00:00
2002-11-01 12:22:41 +00:00
2002-07-16 05:38:26 +00:00
2003-02-06 22:39:44 +00:00
2002-10-15 12:53:29 +00:00
2002-10-02 12:31:10 +00:00
2002-04-28 12:21:31 +00:00
2002-09-04 23:29:10 +00:00
2003-03-05 19:20:29 +00:00
2002-05-30 13:57:35 +00:00
2002-07-14 15:12:00 +00:00
2002-05-09 11:47:42 +00:00
2002-12-27 12:15:40 +00:00
2002-08-19 03:07:56 +00:00
2003-01-01 18:49:04 +00:00
2002-07-14 18:23:22 +00:00
2002-11-26 17:34:25 +00:00
2002-04-20 12:18:28 +00:00
2002-12-24 13:41:48 +00:00
2002-12-23 16:04:51 +00:00
2002-12-15 00:40:47 +00:00
2002-12-30 21:18:15 +00:00
2002-11-26 17:33:37 +00:00
2002-09-04 23:29:10 +00:00
2002-12-12 17:26:04 +00:00
2002-04-28 11:59:43 +00:00
2003-02-26 20:27:24 +00:00
2002-09-04 23:29:10 +00:00
2002-10-16 16:09:05 +00:00
2003-01-16 07:27:30 +00:00
2002-12-16 22:24:26 +00:00
2002-06-07 07:08:06 +00:00
2002-10-16 16:10:46 +00:00
2002-04-28 10:49:15 +00:00
2003-03-01 23:43:53 +00:00
2002-04-28 11:13:20 +00:00
2002-09-04 23:29:10 +00:00
2002-07-01 16:40:33 +00:00
2002-03-22 01:42:45 +00:00
2002-09-04 23:29:10 +00:00
2003-01-01 18:49:04 +00:00
2002-12-12 17:26:04 +00:00
2002-04-20 12:18:28 +00:00
2003-01-13 00:33:17 +00:00
2002-12-23 16:04:51 +00:00
2002-07-15 05:31:55 +00:00
2002-10-25 07:26:36 +00:00
2002-04-20 12:18:28 +00:00
2002-07-29 09:40:17 +00:00
2003-03-11 11:35:24 +00:00
2002-10-17 12:58:14 +00:00
2003-03-15 21:59:06 +00:00
2002-11-26 17:33:37 +00:00
2002-12-15 11:26:57 +00:00
2003-01-23 22:40:18 +00:00
2002-04-20 12:18:28 +00:00
2002-12-27 12:15:40 +00:00
2002-09-04 23:29:10 +00:00
2002-12-29 07:36:43 +00:00
2002-11-26 17:33:37 +00:00
2002-12-27 12:15:40 +00:00
2002-12-24 13:41:48 +00:00
2003-02-16 14:13:23 +00:00
2002-09-04 23:29:10 +00:00
2002-09-04 23:29:10 +00:00
2002-12-30 21:18:15 +00:00
2002-06-20 05:35:40 +00:00
2002-03-22 01:42:45 +00:00
2003-02-20 15:09:52 +00:00
2003-01-01 18:49:04 +00:00
2002-09-04 23:29:10 +00:00
2002-05-29 17:12:30 +00:00
2002-06-02 20:05:59 +00:00
2002-09-04 23:29:10 +00:00
2002-09-23 06:47:39 +00:00
2002-10-04 16:45:25 +00:00
2003-02-24 22:53:26 +00:00
2002-11-26 17:33:37 +00:00
2002-07-28 16:23:28 +00:00
2002-09-04 23:29:10 +00:00
2002-04-22 13:44:47 +00:00
2002-09-04 23:29:10 +00:00
2003-03-04 21:22:05 +00:00
2003-02-27 03:32:37 +00:00
2003-03-15 02:27:10 +00:00
2002-02-17 22:05:07 +00:00
2002-09-24 19:05:40 +00:00
2003-01-04 20:24:27 +00:00
2002-09-04 23:29:10 +00:00
2003-03-15 21:59:06 +00:00
2002-08-23 04:31:58 +00:00
2003-02-21 08:46:44 +00:00
2002-11-26 17:33:37 +00:00
2002-11-26 17:33:37 +00:00
2002-12-30 09:48:40 +00:00
2002-06-30 06:02:39 +00:00
2002-12-21 00:38:14 +00:00
2003-02-24 17:10:32 +00:00
2002-06-03 23:13:11 +00:00
2002-09-04 23:29:10 +00:00
2003-02-26 22:44:32 +00:00
2002-12-12 17:26:04 +00:00
2003-01-01 18:13:45 +00:00
2002-11-01 12:48:28 +00:00
2003-02-12 18:03:55 +00:00
2002-11-09 21:00:39 +00:00
2002-04-20 12:18:28 +00:00
2002-04-20 12:18:28 +00:00
2002-04-20 12:18:28 +00:00
2003-02-21 02:30:51 +00:00
2002-02-06 18:13:12 +00:00