Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 Oct 1997 15:06:22 +0530
From:      A Joseph Koshy <koshy@india.hp.com>
To:        Simon Shapiro <Shimon@i-Connect.Net>
Cc:        freebsd-hackers@freebsd.org, freebsd-dlm@primer.i-connect.net
Subject:   Re: Advice Seeked - Non-Invasive Metrics Techniques 
Message-ID:  <199710030940.CAA28596@palrel3.hp.com>
In-Reply-To: Your message of "Fri, 03 Oct 1997 00:00:22 MST." <XFMail.971003000022.Shimon@i-Connect.Net> 

next in thread | previous in thread | raw e-mail | index | archive | help
>>>> "Simon Shapiro" <Shimon@i-Connect.Net> writes

> I need to carefully tune and analyze timing and perfromance statistics.
> Mainly to identify why some rotines in the DLM take so much time.

One suggestion would be to write `event logs' like this to a memory buffer 
with periodic flushing to disk file.

A userland tool would later reconstruct the sequence of events that occurred 
in the kernel from the log.  Such a tool could also bring out to light 
"interesting interactions".

The process of writing an event log can be made reasonably cheap: writing
out some 4 words of memory and a pointer increment.  There would be
some overhead from the periodic flushing of the log to permanent storage,
but for large log size, this overhead could be amortized over many log
entries.

Take a look at:

	Sharon E. Perl and Richard L. Sites, 
	"Studies of Windows NT Performance using Dynamic Execution Traces" 
	ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-146.ps.gz

for this approach taken to the extreme.

Standard kernel profiling gives you statistical information on objects like 
functions (-p) or basic blocks (-a), but cannot capture timing and latency 
interactions.  Event logs can capture timing/latency issues very well.

Koshy



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710030940.CAA28596>