Date: Tue, 5 Apr 2011 21:55:43 +0000 (UTC) From: Jack F Vogel <jfv@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/e1000 if_igb.c if_igb.h Message-ID: <201104062122.p36LM4d9010290@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jfv 2011-04-05 21:55:43 UTC FreeBSD src repository Modified files: sys/dev/e1000 if_igb.c if_igb.h Log: SVN rev 220375 on 2011-04-05 21:55:43Z by jfv Important update for the igb driver: - Add the change made in em to the actual unrefreshed number of descriptors is used as a basis in rxeof on the way out to determine if more refresh is needed. NOTE: there is a difference in the ring setup in igb, this is not accidental, it is necessitated by hardware behavior, when you reset the newer adapters it will not let you write RDH, it ALWAYS sets it to 0. Thus the way em does it is not possible. - Change the sysctl handling of flow control, it will now make the change dynamically when the variable setting changes rather than requiring a reset. - Change the eee sysctl naming, validation found the old unintuitive :) - Last but not least, some important performance tweaks in the TX path, I found that UDP behavior could be drastically hindered or improved with just small changes in the start loop. What I have here is what testing has shown to be the best overall. Its interesting to note that changing the clean threshold to start at a full half of the ring, made a BIG difference in performance. I hope that this will prove to be advantageous for most workloads. MFC in a week. Revision Changes Path 1.68 +92 -79 src/sys/dev/e1000/if_igb.c 1.20 +18 -5 src/sys/dev/e1000/if_igb.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104062122.p36LM4d9010290>