Adding new option to ktrace

Peter Jeremy PeterJeremy at
Tue Sep 6 01:19:00 PDT 2005

On Tue, 2005-Sep-06 10:33:53 +0530, Nikhil Dharashivkar wrote:
>     Thanks for replying me. Basically what happend, while testing
>scsi driver on freebsd, at  some point it crashes. So, there is no way
>to know how much IO is performed. To know the IO state just before the
>driver fails, i selected ktrace to print IO information whatever i ll
>get from dastrategy routine.

It's not clear how ktrace is going to help here.  The ktrXXX(9)
functions place ktr_request events in a queue.  A kernel thread then
dumps the queue entries into a file via the normal buffer cache.  The
data on disk is typically about 30 seconds behind real time.  If the
system crashes, you will lose any events that are still in the buffer
cache or ktr_todo queue.

Another problem is that since ktrace generates disk I/O, it is likely
to disturb your testing.

A better approach would seem to be to build a circular buffer and
store the I/O requests in the buffer.  When the system crashes, you
can look at the last entries in the buffer.

Peter Jeremy

More information about the freebsd-hackers mailing list