Adding new option to ktrace
Nikhil Dharashivkar
nikhildharashivkar at gmail.com
Tue Sep 6 01:40:03 PDT 2005
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 <PeterJeremy at optushome.com.au> 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.
More information about the freebsd-hackers
mailing list