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: Florian Fainelli <florian@openwrt.org> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Takashi Iwai <tiwai@suse.de> Acked-by: Simon 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: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
parent
258c889362
commit
ae24e578de
|
@ -112,7 +112,8 @@ config IP_VS_RR
|
|||
module, choose M here. If unsure, say N.
|
||||
|
||||
config IP_VS_WRR
|
||||
tristate "weighted round-robin scheduling"
|
||||
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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue