Date: Fri, 19 Nov 2004 12:02:07 +0900 From: Shunsuke SHINOMIYA <shino@fornext.org> To: Matthew Dillon <dillon@apollo.backplane.com> Cc: freebsd-stable@freebsd.org Subject: Re[2]: serious networking (em) performance (ggate and NFS) problem Message-ID: <20041119114233.C43B.SHINO@fornext.org> In-Reply-To: <200411182131.iAILVJ1T032003@apollo.backplane.com> References: <20041118124902.GC75559@freebie.xs4all.nl> <200411182131.iAILVJ1T032003@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi list, if you suppose your computer has sufficient performance, please try to disable or adjust parameters of Interrupt Moderation of em. In my router(Xeon 2.4GHz and on-board two em interfaces) case, it improves a router's packet forwarding performance. I think the interrupt delay by Interrupt Moderation caused NIF's input buffer overflow or output buffer underrun in this case. In order to disable Interrupt Moderation, modify src/sys/dev/em/if_em.c like the following patch and set hw.em.{rx,tx}_{,abs_}int_delay zero by sysctl. *** if_em.c-1.44.2.3.orig Fri Nov 19 11:22:48 2004 --- if_em.c Fri Nov 19 11:23:39 2004 *************** em_initialize_receive_unit(struct adapte *** 2611,2618 **** --- 2611,2622 ---- /* Set the interrupt throttling rate. Value is calculated * as DEFAULT_ITR = 1/(MAX_INTS_PER_SEC * 256ns) */ + #if 1 + #define DEFAULT_ITR 0 + #else #define MAX_INTS_PER_SEC 8000 #define DEFAULT_ITR 1000000000/(MAX_INTS_PER_SEC * 256) + #endif E1000_WRITE_REG(&adapter->hw, ITR, DEFAULT_ITR); } -- Shunsuke SHINOMIYA <shino@fornext.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041119114233.C43B.SHINO>