Re: [RFC PATCH v4 net-next 1/4] tcp: replace cnt & rtt with struct in pkts_acked()
From: Lawrence Brakmo <hidden>
Date: 2015-07-27 19:30:45
On 7/27/15, 11:46 AM, "Stephen Hemminger" [off-list ref] wrote:
On Fri, 24 Jul 2015 19:47:03 -0700 Lawrence Brakmo [off-list ref] wrote:quoted
Replace 2 arguments (cnt and rtt) in the congestion control modules' pkts_acked() function with a struct. This will allow adding more information without having to modify existing congestion control modules (tcp_nv in particular needs bytes in flight when packet was sent). As proposed by Neal Cardwell in his comments to the tcp_nv patch.Adding a layer of indirection makes code changes easier, but makes the code slower. Arguments are passed in registers, and putting an additional level of indirection only matters if you can't change all the CC modules. Since this is the kernel and API compatability doesn't matter, just pass more arguments.
I prefer the cleanliness of passing a structure and don¹t think the overhead will be significant enough to worry about it. Will the compiler pass struct values in registers if the struct is passed by value? I will be happy to do it either way (I did it like Stephen proposes originally). What does everyone else think?
-- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html