Messages in this thread | | | From | Eliezer Tamir <> | Subject | [PATCH v4 net-next 0/4] net: low latency Ethernet device polling | Date | Tue, 21 May 2013 17:26:41 +0300 |
| |
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
| |