History log of /freebsd-13.1/lib/libdevstat/devstat.c (Results 1 – 25 of 38)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0
# 84a03ac6 03-Dec-2019 Andriy Gapon <[email protected]>

devstat_selectdevs: resize dev_select only after copying data out of it

The resizing could be a downsizing so some data would be lost and we
could attempt to read past the end of the new memory allo

devstat_selectdevs: resize dev_select only after copying data out of it

The resizing could be a downsizing so some data would be lost and we
could attempt to read past the end of the new memory allocation.

MFC after: 2 weeks
Sponsored by: Panzura

show more ...


Revision tags: release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0
# 5e53a4f9 26-Nov-2017 Pedro F. Giffuni <[email protected]>

lib: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using mis-identified many licenses so this was mostly a manual - error
pr

lib: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 2-Clause license, however the tool I
was using mis-identified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

show more ...


Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0
# 58c8c852 04-Jun-2015 Marcelo Araujo <[email protected]>

Remove unused variable and silence clang warnings.

Differential Revision: D2681
Reviewed by: rodrigc


# 999efd90 27-Feb-2015 Kenneth D. Merry <[email protected]>

Remove an obsolete comment in devstat(3) about the accuracy of the
milliseconds per transaction (DSM_MS_PER_TRANSACTION) calculation.

The comment was accurate many years ago when the kernel didn't
r

Remove an obsolete comment in devstat(3) about the accuracy of the
milliseconds per transaction (DSM_MS_PER_TRANSACTION) calculation.

The comment was accurate many years ago when the kernel didn't
record I/O times on a per-I/O basis, but now that we do collect
that information in most areas, it isn't correct.

The milliseconds per transaction values are correct, assuming the
I/O duration has been recorded.

Sponsored by: Spectra Logic
MFC after: 3 days

show more ...


Revision tags: release/10.1.0, release/9.3.0, release/10.0.0
# 6a4d9095 25-Dec-2013 Sergey Kandaurov <[email protected]>

Fix a typo.


# ef6b3fcf 25-Dec-2013 Sergey Kandaurov <[email protected]>

For vmcore, calculate time relative to device creation upon time_uptime.
Previously it used a clock from live kernel.

MFC after: 2 weeks


Revision tags: release/9.2.0, release/8.4.0
# fdd6757e 15-Dec-2012 Mikolaj Golub <[email protected]>

New devstat metrics for devstat_compute_statistics():

DSM_TOTAL_DURATION
DSM_TOTAL_DURATION_READ
DSM_TOTAL_DURATION_WRITE
DSM_TOTAL_DURATION_FREE
DSM_TOTAL_DURATION_OTHER
DSM_TOTAL_BUSY_

New devstat metrics for devstat_compute_statistics():

DSM_TOTAL_DURATION
DSM_TOTAL_DURATION_READ
DSM_TOTAL_DURATION_WRITE
DSM_TOTAL_DURATION_FREE
DSM_TOTAL_DURATION_OTHER
DSM_TOTAL_BUSY_TIME

show more ...


Revision tags: release/9.1.0, release/8.3.0_cvs, release/8.3.0
# a18e4616 06-Jan-2012 Guy Helmer <[email protected]>

Handle memory allocation failures in devstat_getdevs(), devstat_selectdevs(),
and devstat_buildmatch().

PR: bin/83359
Reviewed by: ken


Revision tags: release/9.0.0
# 1046090f 04-Apr-2011 Sergey Kandaurov <[email protected]>

Do not increment num_args if strsep(3) returned an empty field.
That fixes devstat_buildmatch(3) crashes with certain strings.

Reported by: arundel
MFC after: 2 weeks


Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0
# 9dbcd4b0 04-Oct-2005 Stefan Farfeleder <[email protected]>

Remove an unused variable.

Reviewed by: ken


Revision tags: release/5.4.0_cvs, release/5.4.0
# 7d72cda3 26-Apr-2005 Maxime Henrion <[email protected]>

Use __func__ throughout devstat.c instead of defining a func_name
variable in each function.


# 140490e2 26-Apr-2005 Maxime Henrion <[email protected]>

Make this compile with GCC4 by fixing a signedness issue.

Reviewed by: md5(1)


Revision tags: release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0
# f664b76f 25-Jun-2004 Alexander Kabaev <[email protected]>

Remove the use of cast as lvalue. GCC 3.4 isses a deprecation warning
for this now.


Revision tags: release/4.10.0_cvs, release/4.10.0, release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0, release/4.9.0_cvs, release/4.9.0
# 1f85f715 13-Oct-2003 Bruce Evans <[email protected]>

Include <nlist.h> for nlist-related declarations instead of depending on
namespace pollution in <kvm.h>.


# d2d0b144 17-Aug-2003 Poul-Henning Kamp <[email protected]>

It is not an error to have no devices.


Revision tags: release/5.1.0_cvs, release/5.1.0
# 0b1b370c 19-Apr-2003 Poul-Henning Kamp <[email protected]>

Add prototype for compute_stats() so that libdevstat is WARNS=4 clean.

Spotted by: kris


# 1455c4e2 09-Apr-2003 Poul-Henning Kamp <[email protected]>

If rounding results in -epsilon device busy %, set it to zero.


Revision tags: release/4.8.0_cvs, release/4.8.0
# ec0fa09c 19-Mar-2003 Poul-Henning Kamp <[email protected]>

typo


# 773865de 19-Mar-2003 Poul-Henning Kamp <[email protected]>

Further unbreak devstat: sort the index array in correct order too.


# 36eab1f5 18-Mar-2003 Poul-Henning Kamp <[email protected]>

Add more devstat calculations, mostly filling in holes, but also adding
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

Add more devstat calculations, mostly filling in holes, but also adding
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

show more ...


# 16830b0c 15-Mar-2003 Poul-Henning Kamp <[email protected]>

And I managed to make a regression here too.

I have too many source trees :-(


# 7194d335 15-Mar-2003 Poul-Henning Kamp <[email protected]>

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

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

show more ...


# cd9c9ca6 16-Feb-2003 Poul-Henning Kamp <[email protected]>

Remove include of <sys/dkstat.h>


# 12590690 16-Feb-2003 Poul-Henning Kamp <[email protected]>

Premptively include <sys/resource.h> to get the cp_time[CPUSTATES].


Revision tags: release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs
# be04b6d1 21-Mar-2002 David E. O'Brien <[email protected]>

Remove 'register' keyword.


12