Hello Dave, I believe that I addressed the issues that were raised. Please look and see if you have more comments.
Thank you all for your input. To prevent the use of a stale napi pointer, I implemented a global id that should be incremented whenever a napi is freed. I used the free space in skb's second bitfield (7 bits) since I did not want to increase the size of the structure. In an earlier attempt to do this I chopped the global id to seven bits but in testing, this would crash on the wrap-around. Now if the seven bits that are in the skb match the global id, we save the un-chopped id in the socket. (This removes the module parameter and the limit on unloading.) is this how you prefer the change log? change log v4 - removed separate config option for TCP busy-polling as suggested Eric Dumazet. - added linux mib counter for packets received through the low latency path. - re-allow module unloading, remove module param, use a global generation id instead to prevent the use of a stale napi pointer, as suggested by Eric Dumazet - updated Documentation/networking/ip-sysctl.txt text v3 - coding style changes suggested by Dave Miller v2 - the sysctl knob is now in microseconds. The default value is now 0 (off). - for now the code depends at configure time on CONFIG_I86_TSC - the napi reference in struct skb is now a union with the dma cookie since the former is only used on RX and the latter on TX, as suggested by Eric Dumazet. - we do a better job at honoring non-blocking operations. - removed busy-polling support for tcp_read_sock() - remove dynamic disabling of GRO - coding style fixes - disallow unloading the device module after the feature has been used Thanks, Eliezer ------------------------------------------------------------------------------ Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, & servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired