Re: [rfc] IPVS: convert scheduler management to RCU

To: yao zhao <dragonlinux@xxxxxxxxx>
Subject: Re: [rfc] IPVS: convert scheduler management to RCU
Cc: Changli Gao <xiaosuo@xxxxxxxxx>, Simon Horman <horms@xxxxxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, Stephen Hemminger <shemminger@xxxxxxxxxx>, Wensong Zhang <wensong@xxxxxxxxxxxx>, Julian Anastasov <ja@xxxxxx>, Paul E McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
From: Eric Dumazet <eric.dumazet@xxxxxxxxx>
Date: Fri, 20 Aug 2010 16:32:45 +0200
Le vendredi 20 août 2010 à 10:16 -0400, yao zhao a écrit :

> if it is not performance critical, you should use  the
> read_lock/write_lock, it should make the readers happier than
> spinlock. the name "mutex" is a little bit confuse.

Yes, I mentioned the 'mutex' name oddity.

Point is :

We want to remove read_write locks. They dont fit the bill.

If performance critical, lot of readers -> RCU (a lot faster)
If not, or too much writers versus readers -> spinlock (a bit faster)

> synchronize_rcu() is not necessary when you only need to delete from a
> list as it is atomic.

Thats a rather strange and completely wrong claim. A big part of RCU job
is to have appropriate work done on deletes. Inserts are more easy (only
needs a smp_wmb())

Take a look at Documentation/RCU/* before saying such things ;)

Not only synchronize_rcu() is not enough to protect this kind of code,
but you need something stronger.

To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

<Prev in Thread] Current Thread [Next in Thread>