Hello Alex.

What sheduler are you using? ULE or 4BSD
Have you NIC IRQ sharing with other hardware?
What HZ value? 1000?

Thanks for the suggestion.
From a "clean" box:
dev.em.0.rx_int_delay: 0
dev.em.0.tx_int_delay: 66
dev.em.0.rx_abs_int_delay: 66
dev.em.0.tx_abs_int_delay: 66
I reset all the values (errors still appearing), then tried your suggestion (rx_int_delay=600, rx_abs_int_delay=1000). This has reduced the number of >interrupts for em0 (from about 7200/sec to around 6500/sec). After some time, I started getting errors again.
mmm, try the maximum value 67108, what hapens...

But that has made me try this also:
dev.em.0.tx_int_delay=600
dev.em.0.tx_abs_int_delay=1000
I think it's a bad idea, but don't know because:
Meaning using your suggested values for tx too. Now em0 is seeing about 1800 interrupts/second, which is way better, but after some time I saw errors >again...

From the output of "netstat -nI em0 -w 5":
maybe mistake, did you meen "netstat -w5 em0" ?

I have PPPoE concenrator based on S3000AHV motherboard with Core2Quad 6600 and four (to load all cores in CPU) Intel PCI-E x1 and PCI-E x4 NIC's
My load:
bras1 [/usr/home/dm]# netstat -w5 em0
           input        (Total)           output
  packets  errs      bytes    packets  errs      bytes colls
   943831     0  803741196     932221     0  766771487     0
^C
bras1 [/usr/home/dm]# netstat -w1 -Iem0
           input          (em0)           output
  packets  errs      bytes    packets  errs      bytes colls
    24067     0   20593033      17152     0   17361755     0
^C
bras1 [/usr/home/dm]# netstat -w1 -Ilagg0
           input        (lagg0)           output
  packets  errs      bytes    packets  errs      bytes colls
    47085     0   38454150      46708     0   38128482     0
    44888     0   36087138      44714     0   35985529     0
    49607     0   40467232      49326     0   40227456     0
^C
bras1 [/usr/home/dm]# netstat -w5 -Ilagg0
           input        (lagg0)           output
  packets  errs      bytes    packets  errs      bytes colls
   230260     0  187650240     228911     0  186485136     0
   238023     0  194650670     236648     0  193471650     0
   218424     0  175576014     216860     0  174282762     0
^C
The lagg0 interface includes em0, em1, em2, em3 for lacp protocol, and comunicates with cisco 2960G switch.
vmstat -i says:
interrupt                                 total       rate
irq4: sio0                           95234          0
irq19: atapci1               8430157          1
cpu0: timer                1275549106        258
irq256: em0               2329917460        472
irq257: em1               645070135        130
irq258: em2              3527395550        715
irq259: em3             3923746474        795
cpu1: timer               1275548822         258
cpu3: timer               1275548798         258
cpu2: timer               1275548865         258
Total                        15536850601       3149
And i have't any problems. I think i select the good hardware.

           input          (em0)           output
  packets  errs      bytes    packets  errs      bytes colls
    87267     0   50372599     106931     0   81598993     0
    86496     0   50990332     105467     0   80064657     0
    81726  3056   49876613      99080     0   73273640     0
    90425     0   59172531     105299     0   77110096     0
   120292     0   70369292     109597     0   78626248     0
... a few minutes pass with zero errors ...
   89646     0   56951878     111240     0   86493393     0
    86031     0   53549721     108695     0   83592747     0
    77760  3054   48505562      96912     0   73185576     0
    87508     0   56116394     106094     0   79130608     0
    89031     0   56490982     103039     0   77398567     0
What's interesting is that I'm seeing errors in a 80k packets/5 sec (so around 16k packets/s) zone, but no errors at 120k packets/5sec (24kpps).
Yes, it's not normaly.

Interrupts total (as reported by systat): around 13500/second. I would estimate the old IRQ load at around 30000-35000/second, which doesn't seem too >much to me, for a dual xeon machine.
I think it depends by motherbord, what full hardware specification are you using? with chips names

Speaking of which, I did compile the kernel with "options DEVICE_POLLING", but enabling polling only made the errors appear more often, and in greater >numbers.
I don't use polling on FBSD 7.x, it's usable on FBSD older versions

- 1 x dual-port gigabit interface, PCI-X
Maybe I have this card. And it works unstable, i don't remember what happens, but i seen by tcpdump "truncated IP, missing XX bytes"

Good luck.
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to