path: root/sys/sys/bio.h
diff options
authorPoul-Henning Kamp <phk@FreeBSD.org>2003-02-07 23:08:24 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2003-02-07 23:08:24 +0000
commit801bb689ca8be76700b0c16c159683b5fa89472d (patch)
tree926f1fc791d8d4e6893f5573cb0b3fed3a603f7c /sys/sys/bio.h
parent96fda1ea0570af073eb2e9ef0770fe54766ff42b (diff)
Commit the correct copy of the g_stat structure.
Add debug.sizeof.g_stat sysctl. Set the id field of the g_stat when we create consumers and providers. Remove biocount from consumer, we will use the counters in the g_stat structure instead. Replace one field which will need to be atomically manipulated with two fields which will not (stat.nop and stat.nend). Change add companion field to bio_children: bio_inbed for the exact same reason. Don't output the biocount in the confdot output. Fix KASSERT in g_io_request(). Add sysctl kern.geom.collectstats defaulting to off. Collect the following raw statistics conditioned on this sysctl: for each consumer and provider { total number of operations started. total number of operations completed. time last operation completed. sum of idle-time. for each of BIO_READ, BIO_WRITE and BIO_DELETE { number of operations completed. number of bytes completed. number of ENOMEM errors. number of other errors. sum of transaction time. } } API for getting hold of these statistics data not included yet.
Notes: svn path=/head/; revision=110523
Diffstat (limited to 'sys/sys/bio.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/sys/bio.h b/sys/sys/bio.h
index 2ef28bc77b68..31695935e8be 100644
--- a/sys/sys/bio.h
+++ b/sys/sys/bio.h
@@ -71,6 +71,7 @@ struct bio {
off_t bio_length; /* Like bio_bcount */
off_t bio_completed; /* Inverse of bio_resid */
u_int bio_children; /* Number of spawned bios */
+ u_int bio_inbed; /* Children safely home by now */
struct bio *bio_parent; /* Pointer to parent */
struct bintime bio_t0; /* Time request started */