Thread (6 messages) 6 messages, 4 authors, 2014-04-01

Re: [PATCH 5/5] bonding: Add tlb_dynamic_lb module parameter

From: Eric Dumazet <hidden>
Date: 2014-03-31 16:00:05

On Fri, 2014-03-28 at 22:29 -0700, Mahesh Bandewar wrote:
The aggresive load balancing causes packet re-ordering as active
flows are moved from a slave to another within the group. Sometime
this aggresive lb is not necessary if the preference is for less
re-ordering. This module parameter if used with value "0" disables
this dynamic flow shuffling minimizing packet re-ordering. Of course
the side effect is that it has to live with the static load balancing
that the hashing distribution provides. This impact is less severe if
the correct xmit-hashing-policy is used for the tlb setup.

The default value of the parameter is set to "1" mimicing the earlier
behavior.

Ran the netperf test with 200 stream for 1 min between two hosts with
4x1G trunk (xmit-lb mode with xmit-policy L3+4) before and after these
changes. Following was the command used for those 200 instances -

    netperf -t TCP_RR -l 60 -s 5 -H <host> -- -r1,1024
There is reordering potential in this workload, as we have at most one
packet containing payload in flight ?
Transactions per second:
    Before changes: 109250
    After  changes: 113752

Signed-off-by: Mahesh Bandewar <redacted>
---
 			      "each slaves peer switch. The default is 1.");
+module_param(tlb_dynamic_lb, int, 0644);
+MODULE_PARM_DESC(tlb_dynamic_lb, "Enable periodic flow balancing. "
+				 "The default is 1.");
I am a bit unsure why we need to add a new global parameter.

If the tlb_dynamic_lb can be dynamically changed on a bonding device,
why adding this ?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help