On Sun, Nov 07, 2010 at 08:14:31PM -0500, Rick Macklem wrote:
> > 
> > If that made difference, all other ethernet controllers would have
> > suffered from the similar issues.
> > 
> Well, some commit done between June 7 and June 15 made a difference,
> but I have no idea what or why.
> 
> Also, I had a report of very poor read rate from someone using a bge(4)
> interface, but I have no reason to believe it is because of the same
> issue.
> 
> > 
> > If you have some spare time please try attach one. I guess fast
> > ethernet controller has smaller FIFO size than that of GigE
> > controller so it is frequently triggered the issue on fast ethernet
> > controller than GigE controllers. I still guess that there are
> > cases that an interrupt is not correctly served such that driver
> > missed a lot of frames.
> > 
> Patch didn't help. If anything it degrading things a bit (stats are
> attached).
> 

By chance, how about disabling RX early interrupt?
You can add the following 3 lines of code into re_init_locked().

2710         /*
2711          * Set the initial RX configuration.
2712          */
2713         re_set_rxmode(sc);
2714 
2715         /* Disable RX early interrupt. */
2716         cfg = CSR_READ_2(sc, RL_MULTIINTR);
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2717         cfg &= 0xF000;
             ^^^^^^^^^^^^^^
2718         CSR_WRITE_2(sc, RL_MULTIINTR, cfg);
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2719 
2720 #ifdef DEVICE_POLLING
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to