network performance, a low-level measurement

Poul-Henning Kamp phk at phk.freebsd.dk
Mon Jan 31 02:21:52 PST 2005


In case anybody can use this for anything:

Setup:
	o Soekris NET4501 (133Mhz AMD Elan CPU)
	o -Current
	o stripped down kernel.
	o no SMP, no WITNESS, no DIAGNOSTIC
	o unshared interrupt line
	o if_sis driver modified to FAST intr which just schedules
	  the existing sis_intr on taskqueue_fast
	o single-user mode
	o A back-to-back cable to another machine.
	o A single default sized ping packet


Time [uSec]     Where
-----------------------------------------------------------------------
000.000         HW-intr start 
011.600         HW-intr stop
067.200         Enter sis_intr_task()
074.000                 Enter sis_rxeof()
134.800                         Enter ifp->if_input()
552.800                                 Enter sis_startl()
595.600                                 Exit sis_startl()
753.200                         Return from ifp->if_input()
758.000                 Exit sis_rxeof()
761.200                 Enter sis_txeof()
796.400                 Exit sis_txeof()
800.200         Exit sis_intr_task()
-----------------------------------------------------------------------


				 Driver		  Other
				 [uSec]          [uSec]
-------------------------------------------------------
HW-intr duration:		 11.600
Taskqueue_fast Latency:				 55.600
sis_rxeof() duration:		 65.500
ifp->if_input() duration:			575.700
sis_startl() duration:		 42.800
sis_txeof() duration:		 35.200
sis_intr_task duration:		 13.800
-------------------------------------------------------
Total                           168.900		631.300
=======================================================

Summary: 21% of the time spent in the driver.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-current mailing list