Date: Tue, 26 Oct 2004 11:56:20 +1000 (EST) From: lukem.freebsd@cse.unsw.edu.au To: freebsd-net@freebsd.org Subject: poor performance of nge interface Message-ID: <Pine.LNX.4.61.0410261151320.8051@wagner.orchestra.cse.unsw.EDU.AU>
next in thread | raw e-mail | index | archive | help
I notice that there are some poorly defined default values: dev/nge/if_nge.c: CSR_WRITE_4(sc, NGE_IHR, 0x01); dev/nge/if_nge_reg.h: #define NGE_RX_LIST_CNT 128 #define NGE_TX_LIST_CNT 128 net/if.h: #define IFQ_MAXLEN 50 netinet/ip_input.c: static int ipqmaxlen = IFQ_MAXLEN; ipintrq.ifq_maxlen = ipqmaxlen; This results in default behaviour under load that when the device interrupts with a full rx queue, packets are dequeued from the receive ring and are promptly dropped on the floor when they hit the IP queue. With the default interrupt holdoff time of 100us, we could expect a maximum of 128/0.0001 = 128kpps, which is probably a bit low for small packet sizes. -- Luke
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.61.0410261151320.8051>