Hello, On Tue, 27 Mar 2018, Inju Song wrote: > Implements the Google's Maglev hashing algorithm as a IPVS scheduler. > Basically it provides consistent hashing but offers some special > features about disruption and load balancing. > > 1) minimal disruption: when the set of destinations changes, > a connection will likely be sent to the same destination > as it was before. > > 2) load balancing: each destination will receive an almost > equal number of connections. > > Seel also: [3.4 Consistent Hasing] in > https://www.usenix.org/system/files/conference/nsdi16/nsdi16-paper-eisenbud.pdf > > v1: Add maglev consistent hasing > > v2: Add and refactor some features about MH and attach distribution test > results based on the MH's realtive weights. > > v3: Optimize some features, clean up strcutures of MH, rearrange > patchset order with new patches and so on. > > v4: Attach MH state to svc->sched_data only on success and free the > state when RCU callback is called. Great, v4 of the patchset looks good to me. Thanks! Signed-off-by: Julian Anastasov <ja@xxxxxx> Simon, I know it is late for the current net-next, so I'm not sure whether you can keep the patchset or it should be resubmitted later. > Inju Song (3): > netfilter: ipvs: Keep latest weight of destination > netfilter: ipvs: Add Maglev hashing scheduler > netfilter: ipvs: Add configurations of Maglev hashing > > include/net/ip_vs.h | 1 + > net/netfilter/ipvs/Kconfig | 37 +++ > net/netfilter/ipvs/Makefile | 1 + > net/netfilter/ipvs/ip_vs_ctl.c | 4 + > net/netfilter/ipvs/ip_vs_mh.c | 540 +++++++++++++++++++++++++++++++++++++++++ > 5 files changed, 583 insertions(+) > create mode 100644 net/netfilter/ipvs/ip_vs_mh.c Regards -- Julian Anastasov <ja@xxxxxx>