From owner-freebsd-hackers@FreeBSD.ORG Tue Sep 6 11:59:05 2005 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DD73916A41F for ; Tue, 6 Sep 2005 11:59:04 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [204.156.12.53]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5B13143D48 for ; Tue, 6 Sep 2005 11:59:04 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by cyrus.watson.org (Postfix) with ESMTP id E466E46B09; Tue, 6 Sep 2005 07:59:03 -0400 (EDT) Date: Tue, 6 Sep 2005 12:59:03 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Nikhil Dharashivkar In-Reply-To: <17db6d3a050906014048e2045b@mail.gmail.com> Message-ID: <20050906125754.Y51625@fledge.watson.org> References: <17db6d3a0509051000622868bc@mail.gmail.com> <431C8D5B.7080309@samsco.org> <431C92F2.9090104@persistent.co.in> <431C93DD.20402@samsco.org> <17db6d3a0509052203b1da14a@mail.gmail.com> <20050906081855.GA26550@cirb503493.alcatel.com.au> <17db6d3a050906014048e2045b@mail.gmail.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Peter Jeremy , freebsd-hackers@freebsd.org Subject: Re: Adding new option to ktrace X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Sep 2005 11:59:05 -0000 On Tue, 6 Sep 2005, Nikhil Dharashivkar wrote: > 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 ? Try taking a look at KTR(9) and ktrdump(8) for information on ktr, the in-kernel trace facility. ktrace(1) is almost entirely about tracing process level system call behavior, and not structured for kernel event tracing except in that context. I think you'll find KTR(9) is much more what you're looking for, and among other things, you can extract the results from both live kernels and kernel crash dumps. Robert N M Watson > > > > On 9/6/05, Peter Jeremy 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 "freebsd-hackers-unsubscribe@freebsd.org" >