Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ae24e578 authored by Florian Fainelli's avatar Florian Fainelli Committed by Patrick McHardy
Browse files

ipvs: ip_vs_wrr.c: use lib/gcd.c



Remove the private version of the greatest common divider to use
lib/gcd.c, the latter also implementing the a < b case.

[akpm@linux-foundation.org: repair neighboring whitespace because the diff looked odd]
Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Takashi Iwai <tiwai@suse.de>
Acked-by: default avatarSimon Horman <horms@verge.net.au>
Cc: Julius Volz <juliusv@google.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Patrick McHardy <kaber@trash.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
parent 258c8893
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -113,6 +113,7 @@ config IP_VS_RR
 
config	IP_VS_WRR
	tristate "weighted round-robin scheduling"
	select GCD
	---help---
	  The weighted robin-robin scheduling algorithm directs network
	  connections to different real servers based on server weights
+1 −14
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/net.h>
#include <linux/gcd.h>

#include <net/ip_vs.h>

@@ -38,20 +39,6 @@ struct ip_vs_wrr_mark {
};


/*
 *    Get the gcd of server weights
 */
static int gcd(int a, int b)
{
	int c;

	while ((c = a % b)) {
		a = b;
		b = c;
	}
	return b;
}

static int ip_vs_wrr_gcd_weight(struct ip_vs_service *svc)
{
	struct ip_vs_dest *dest;