diff options
author | phk <phk@FreeBSD.org> | 2003-02-07 23:08:24 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2003-02-07 23:08:24 +0000 |
commit | e8f2dea5ddc06968c8deacd684154cd56b9664ff (patch) | |
tree | 926f1fc791d8d4e6893f5573cb0b3fed3a603f7c /sys/geom/geom.h | |
parent | 3c791c8729585027435477ccde6a53be4ba01225 (diff) | |
download | FreeBSD-src-e8f2dea5ddc06968c8deacd684154cd56b9664ff.zip FreeBSD-src-e8f2dea5ddc06968c8deacd684154cd56b9664ff.tar.gz |
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.
Diffstat (limited to 'sys/geom/geom.h')
-rw-r--r-- | sys/geom/geom.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/geom/geom.h b/sys/geom/geom.h index dfb582b..f406fb9 100644 --- a/sys/geom/geom.h +++ b/sys/geom/geom.h @@ -151,12 +151,10 @@ struct g_stat { uint64_t nmem; uint64_t nerr; struct bintime dt; - } ops[5]; + } ops[3]; #define G_STAT_IDX_READ 0 -#define G_STAT_IDX_WRITE 2 -#define G_STAT_IDX_DELETE 3 -#define G_STAT_IDX_GETATTR 4 -#define G_STAT_IDX_SETATTR 5 +#define G_STAT_IDX_WRITE 1 +#define G_STAT_IDX_DELETE 2 }; /* @@ -173,8 +171,6 @@ struct g_consumer { LIST_ENTRY(g_consumer) consumers; /* XXX: better name */ int acr, acw, ace; struct g_event *event; - - int biocount; int spoiled; struct g_stat stat; }; |