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_

Nate Lawson nate at root.org
Sun Nov 16 11:45:46 PST 2003


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


More information about the cvs-src mailing list