summaryrefslogtreecommitdiffstats
path: root/net/netfilter/ipvs/ip_vs_wrr.c
diff options
context:
space:
mode:
authorJulian Anastasov <ja@ssi.bg>2013-03-22 11:46:51 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-04-02 00:23:56 +0200
commitba3a3ce14ea26d602b253ef13a56d540827cd51d (patch)
treedad0fd534484fc25b8215a23021cf45b0cdbe849 /net/netfilter/ipvs/ip_vs_wrr.c
parented3ffc4e48e2b03d5b23988f3cfa0ad8d79e0092 (diff)
ipvs: convert sched_lock to spin lock
As all read_locks are gone spin lock is preferred. Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'net/netfilter/ipvs/ip_vs_wrr.c')
-rw-r--r--net/netfilter/ipvs/ip_vs_wrr.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/netfilter/ipvs/ip_vs_wrr.c b/net/netfilter/ipvs/ip_vs_wrr.c
index a74fd9bab953..b173ef907a14 100644
--- a/net/netfilter/ipvs/ip_vs_wrr.c
+++ b/net/netfilter/ipvs/ip_vs_wrr.c
@@ -145,7 +145,7 @@ static int ip_vs_wrr_dest_changed(struct ip_vs_service *svc,
{
struct ip_vs_wrr_mark *mark = svc->sched_data;
- write_lock_bh(&svc->sched_lock);
+ spin_lock_bh(&svc->sched_lock);
mark->cl = list_entry(&svc->destinations, struct ip_vs_dest, n_list);
mark->di = ip_vs_wrr_gcd_weight(svc);
mark->mw = ip_vs_wrr_max_weight(svc) - (mark->di - 1);
@@ -153,7 +153,7 @@ static int ip_vs_wrr_dest_changed(struct ip_vs_service *svc,
mark->cw = mark->mw;
else if (mark->di > 1)
mark->cw = (mark->cw / mark->di) * mark->di + 1;
- write_unlock_bh(&svc->sched_lock);
+ spin_unlock_bh(&svc->sched_lock);
return 0;
}
@@ -170,7 +170,7 @@ ip_vs_wrr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb)
IP_VS_DBG(6, "%s(): Scheduling...\n", __func__);
- write_lock(&svc->sched_lock);
+ spin_lock(&svc->sched_lock);
dest = mark->cl;
/* No available dests? */
if (mark->mw == 0)
@@ -222,7 +222,7 @@ found:
mark->cl = dest;
out:
- write_unlock(&svc->sched_lock);
+ spin_unlock(&svc->sched_lock);
return dest;
err_noavail: