Hello, On Thu, 7 Mar 2013, Jesper Dangaard Brouer wrote: > On Wed, 2013-03-06 at 10:42 +0200, Julian Anastasov wrote: > > This is a first patchset for IPVS optimizations. > > Another patchset will address the locking in schedulers > > and moving the global _bh disabling from LOCAL_OUT to all > > locks. It is in TODO list. > > Do you have any performance measurements? Unfortunately, I don't have suitable hardware to do real tests, only virtual setup. > Or is this code primarily cleanup optimizations, and the next patchset > will address the performance part? This patchset converts all global locks to RCU, except the __ip_vs_svc_lock usage. The states in some schedulers probably will need some protection with lock as before now, others like WLC and LC will run (after patchset2) just under RCU lock for the svc->destinations list. But I'll need some time to finalize this 2nd patchset because there are other patches in the queue... So, the answer is that packets that create connections (via schedulers) hit this __ip_vs_svc_lock with read_lock and some write lock in scheduler. This happens only when connection is created. Next packets should not reach any global locks in IPVS. The cached dst->refcnt is not changed anymore for traffic to real server. Regards -- Julian Anastasov <ja@xxxxxx> -- To unsubscribe from this list: send the line "unsubscribe lvs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html