<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/lib/libdevstat/devstat.c, branch release/5.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2004-06-25T01:16:02Z</updated>
<entry>
<title>Remove the use of cast as lvalue. GCC 3.4 isses a deprecation warning</title>
<updated>2004-06-25T01:16:02Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2004-06-25T01:16:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f664b76fe4937ea9c0369663677f8c567d7c8a3b'/>
<id>urn:sha1:f664b76fe4937ea9c0369663677f8c567d7c8a3b</id>
<content type='text'>
for this now.
</content>
</entry>
<entry>
<title>Include &lt;nlist.h&gt; for nlist-related declarations instead of depending on</title>
<updated>2003-10-13T05:30:20Z</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>2003-10-13T05:30:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=1f85f715702dccee80638a3644a2aaf4ae03c91f'/>
<id>urn:sha1:1f85f715702dccee80638a3644a2aaf4ae03c91f</id>
<content type='text'>
namespace pollution in &lt;kvm.h&gt;.
</content>
</entry>
<entry>
<title>It is not an error to have no devices.</title>
<updated>2003-08-17T12:06:44Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2003-08-17T12:06:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=d2d0b1445377723f4e985588a77a668aa7cabeca'/>
<id>urn:sha1:d2d0b1445377723f4e985588a77a668aa7cabeca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add prototype for compute_stats() so that libdevstat is WARNS=4 clean.</title>
<updated>2003-04-19T07:42:13Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2003-04-19T07:42:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=0b1b370c474ad9bbf2c009e24f0642ef27a7c1be'/>
<id>urn:sha1:0b1b370c474ad9bbf2c009e24f0642ef27a7c1be</id>
<content type='text'>
Spotted by:	kris
</content>
</entry>
<entry>
<title>If rounding results in -epsilon device busy %, set it to zero.</title>
<updated>2003-04-09T07:49:15Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2003-04-09T07:49:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=1455c4e2ec2d517b95dbed6b0c22b34067914870'/>
<id>urn:sha1:1455c4e2ec2d517b95dbed6b0c22b34067914870</id>
<content type='text'>
</content>
</entry>
<entry>
<title>typo</title>
<updated>2003-03-19T14:15:32Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2003-03-19T14:15:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ec0fa09c8c9e0226cb14b6f030285b6a081eb78e'/>
<id>urn:sha1:ec0fa09c8c9e0226cb14b6f030285b6a081eb78e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Further unbreak devstat: sort the index array in correct order too.</title>
<updated>2003-03-19T14:11:14Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2003-03-19T14:11:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=773865de4eb17a384754541555bfc18949afb683'/>
<id>urn:sha1:773865de4eb17a384754541555bfc18949afb683</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add more devstat calculations, mostly filling in holes, but also adding</title>
<updated>2003-03-18T09:57:54Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2003-03-18T09:57:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=36eab1f55ace4b4529f568b4d9f0406ac6cc16a6'/>
<id>urn:sha1:36eab1f55ace4b4529f568b4d9f0406ac6cc16a6</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>And I managed to make a regression here too.</title>
<updated>2003-03-15T22:22:11Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2003-03-15T22:22:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=16830b0cc2a1f9eb4cf3bc7daae2ef49148bf474'/>
<id>urn:sha1:16830b0cc2a1f9eb4cf3bc7daae2ef49148bf474</id>
<content type='text'>
I have too many source trees :-(
</content>
</entry>
<entry>
<title>Run a revision of the devstat interface:</title>
<updated>2003-03-15T21:59:06Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2003-03-15T21:59:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=7194d335cfa65141113997cdc4ac01fe9c4504c1'/>
<id>urn:sha1:7194d335cfa65141113997cdc4ac01fe9c4504c1</id>
<content type='text'>
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-&gt;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 &amp; Collaboration by:	ken
</content>
</entry>
</feed>
