<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libdevstat/devstat.h, branch release/10.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2012-12-15T18:19:48Z</updated>
<entry>
<title>New devstat metrics for devstat_compute_statistics():</title>
<updated>2012-12-15T18:19:48Z</updated>
<author>
<name>Mikolaj Golub</name>
<email>trociny@FreeBSD.org</email>
</author>
<published>2012-12-15T18:19:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fdd6757e713945cdb16ab346580332de933a00bc'/>
<id>urn:sha1:fdd6757e713945cdb16ab346580332de933a00bc</id>
<content type='text'>
  DSM_TOTAL_DURATION
  DSM_TOTAL_DURATION_READ
  DSM_TOTAL_DURATION_WRITE
  DSM_TOTAL_DURATION_FREE
  DSM_TOTAL_DURATION_OTHER
  DSM_TOTAL_BUSY_TIME
</content>
</entry>
<entry>
<title>The devstat(3) manpage claims that only &lt;devstat.h&gt; is needed as a</title>
<updated>2008-01-31T16:55:12Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2008-01-31T16:55:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=702bfe650784facd7d851fbf63bb9beba63ca94e'/>
<id>urn:sha1:702bfe650784facd7d851fbf63bb9beba63ca94e</id>
<content type='text'>
prerequisite for using this interface.  However, the 'statinfo' struct
actually references CPUSTATES from &lt;sys/resource.h&gt;, so in fact it
requires &lt;sys/resource.h&gt; to compile.  Use a nested include of
&lt;sys/resource.h&gt; to make the code match the docs.

Reported by:	Pietro Cerutti  gahr | gahr.ch
</content>
</entry>
<entry>
<title>Bump the shared library version number of all libraries that have not</title>
<updated>2005-07-22T17:19:05Z</updated>
<author>
<name>Ken Smith</name>
<email>kensmith@FreeBSD.org</email>
</author>
<published>2005-07-22T17:19:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a84020c2b91368d6236647bb2933859e6d16d4a8'/>
<id>urn:sha1:a84020c2b91368d6236647bb2933859e6d16d4a8</id>
<content type='text'>
been bumped since RELENG_5.

Reviewed by:	ru
Approved by:	re (not needed for commit check but in principle...)
</content>
</entry>
<entry>
<title>ARGH!</title>
<updated>2003-03-18T17:05:27Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2003-03-18T17:05:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cb3733b78d6a203e8a018bab86f4c1744dbfe3ec'/>
<id>urn:sha1:cb3733b78d6a203e8a018bab86f4c1744dbfe3ec</id>
<content type='text'>
Pointy hat to:	phk
</content>
</entry>
<entry>
<title>Commit ken@' changes to this file:  Bump version and append new entries</title>
<updated>2003-03-18T16:44:10Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2003-03-18T16:44:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0d2fdd7850c5f5942e1999ded2147e0a1e1d1a85'/>
<id>urn:sha1:0d2fdd7850c5f5942e1999ded2147e0a1e1d1a85</id>
<content type='text'>
to stay backwards compatible.
</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/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>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/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>
<entry>
<title>Turn on WARNS?= 2 for libdevstat.</title>
<updated>2001-09-23T23:03:23Z</updated>
<author>
<name>Kenneth D. Merry</name>
<email>ken@FreeBSD.org</email>
</author>
<published>2001-09-23T23:03:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c3508206b2bc6969f1f3ce2fbabb4fdb2b09d9f9'/>
<id>urn:sha1:c3508206b2bc6969f1f3ce2fbabb4fdb2b09d9f9</id>
<content type='text'>
Submitted by:	"Sergey A. Osokin" &lt;osa@freebsd.org.ru&gt;
</content>
</entry>
<entry>
<title>Implement compute_stats() in terms of devstat_compute_statistics().  This</title>
<updated>2001-08-18T05:46:59Z</updated>
<author>
<name>Kenneth D. Merry</name>
<email>ken@FreeBSD.org</email>
</author>
<published>2001-08-18T05:46:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=884539f70154b0fefdf6905be893c0ceabca755f'/>
<id>urn:sha1:884539f70154b0fefdf6905be893c0ceabca755f</id>
<content type='text'>
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" &lt;osa@freebsd.org.ru&gt;
</content>
</entry>
<entry>
<title>Add some features to libdevstat, and overhaul the interface a bit:</title>
<updated>2001-08-04T18:25:48Z</updated>
<author>
<name>Thomas Moestl</name>
<email>tmm@FreeBSD.org</email>
</author>
<published>2001-08-04T18:25:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c4a5ef6ef30906d46c51000748ddc6404255487a'/>
<id>urn:sha1:c4a5ef6ef30906d46c51000748ddc6404255487a</id>
<content type='text'>
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 &lt;osa@freebsd.org.ru&gt;, ken (3)
Reviewed by:	ken
</content>
</entry>
</feed>
