Skip site navigation (1)Skip section navigation (2)
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>