LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [PATCH net-next 00/12] IPVS optimizations

To: Jesper Dangaard Brouer <jbrouer@xxxxxxxxxx>
Subject: Re: [PATCH net-next 00/12] IPVS optimizations
Cc: Simon Horman <horms@xxxxxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx
From: Julian Anastasov <ja@xxxxxx>
Date: Fri, 8 Mar 2013 01:46:58 +0200 (EET)
        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

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