KSTAT_IO(9S) Data Structures for Drivers KSTAT_IO(9S)
NAME
kstat_io - structure for I/O kstats
SYNOPSIS
#include <sys/types.h>
#include <sys/kstat.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>
INTERFACE LEVEL
illumos DDI specific (illumos DDI)
DESCRIPTION
I/O kstat statistics are kept in a
kstat_io structure. When
kstat_create(9F) creates an
I/O kstat, the
ks_data field is a pointer
to one of these structures. The macro
KSTAT_IO_PTR() is provided to
retrieve this field. It looks like this:
#define KSTAT_IO_PTR(kptr) ((kstat_io_t *)(kptr)->ks_data)
STRUCTURE MEMBERS
u_longlong_t nread; /* number of bytes read */
u_longlong_t nwritten; /* number of bytes written *]/
ulong_t reads; /* number of read operations */
ulong_t writes; /* number of write operations */
The
nread field should be updated by the driver with the number of
bytes successfully read upon completion.
The
nwritten field should be updated by the driver with the number of
bytes successfully written upon completion.
The
reads field should be updated by the driver after each successful
read operation.
The
writes field should be updated by the driver after each
successful write operation.
Other
I/O statistics are updated through the use of the
kstat_queue(9F) functions.
SEE ALSO
kstat_create(9F),
kstat_named_init(9F),
kstat_queue(9F),
kstat_runq_back_to_waitq(9F),
kstat_runq_enter(9F),
kstat_runq_exit(9F),
kstat_waitq_enter(9F),
kstat_waitq_exit(9F),
kstat_waitq_to_runq(9F) Writing Device Drivers April 4, 1994 KSTAT_IO(9S)