Yes, it is ok if i loose data in ktrace queue when crash occurs. Basically, I want to give an Disk IO trace support to ktrace on FreeBSD. So, what I am thinking to use struct dio in dastrategy routine to trace the IO. I 'll use this struct to generate ktr_request. Throught ktr_writerequest it will be written in ktrace.out . Is it possible ?
On 9/6/05, Peter Jeremy <[EMAIL PROTECTED]> wrote: > 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 > -- Thanks and Regards, Nikhil. _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"