Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Nov 2003 11:45:45 -0800 (PST)
From:      Nate Lawson <nate@root.org>
To:        Luigi Rizzo <rizzo@icir.org>
Cc:        cvs-src@FreeBSD.org
Subject:   Re: cvs commit: src/sys/netinet in_var.h ip_fastfwd.c ip_flow.c ip_flow.h ip_input.c ip_output.c src/sys/sys mbuf.h src/sys/conf files src/sys/net if_arcsubr.c if_ef.c if_ethersubr.c if_fddisubr.c if_
Message-ID:  <20031116114258.V57495@root.org>
In-Reply-To: <20031116003939.A10853@xorpc.icir.org>
References:  <200311142102.hAEL2Nen073186@repoman.freebsd.org> <3FB593F5.1053E7E2@pipeline.ch><3FB60181.4256A519@pipeline.ch> <20031116003939.A10853@xorpc.icir.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 16 Nov 2003, Luigi Rizzo wrote:
> On Sun, Nov 16, 2003 at 12:48:14PM +1100, Peter Jeremy wrote:
> ...
> > >I will try to measure that with more precision. You did have
> > >code which was able to record and timestamp events several
> > >thousand times per second. Do still have that code somewhere?
>
> there is some MD code in the RELENG_4 tree, the kernel option
> you need is "options KERN_TIMESTAMP" and a description on how
> to use it is in sys/i386/include/param.h
>
> Note that you have to be careful when timing very short sections
> of code, because the CPU can execute instruction out of order
> so something like
>
> 	rdtsc();
> 	<short section of code>
> 	rdtsc()
>
> might result in the second timing call being executed before
> the section of code in the middle is complete. There is
> some nonintuitive instruction (which i now forget) to flush the
> execution pipeline which can be used around the section of
> code you want to time.

cpuid

-Nate



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