LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: ipvs_syncmaster brings cpu to 100%

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: ipvs_syncmaster brings cpu to 100%
From: Luca Maranzano <liuk001@xxxxxxxxx>
Date: Thu, 22 Sep 2005 16:02:11 +0200
Hello all,

here again trying to discover the reason ot the CPU hog for
ipvs_sync{master,backup}.

I've digged in the sources for ip_vs_sync.c and the main differences
between kernel 2.6.8 and 2.6.12 is the use of ssleep() instead of
schedule_timeout().

The oddity I've seen is that in the header of both files, the version
is always like this:

 * Version:     $Id: ip_vs_sync.c,v 1.13 2003/06/08 09:31:19 wensong Exp $
 *
 * Authors:     Wensong Zhang <wensong@xxxxxxxxxxxxxxxxxxxxxx>

Is Wensong still the maintainer for this code?

Furthermore, if I make an "rgrep" in the source tree of kernel 2.6.12
the function schedule_timeout() is more used than the ssleep() (517
occurrencies vs. 43), so why in ip_vs_sync.c there was this change?

The other oddity is that Horms reported on this list that on non Xeon
CPU the same version of kernel of mine does not present the problem.

I'm getting crazy :-)

Anyone can/want comment?

Thank you.
Regards,
Luca



On 09/09/05, Roger Tsang <roger.tsang@xxxxxxxxx> wrote:
> It has to do with ssleep() waiting in IO.  You can tell with ps long format
> output.  You'd have to switch over to schedule_timeout() like they used to
> do it in kernel-2.4 ipvs.  That's what I found on Fedora with kernel-2.6
> ipvs and think you're hitting the same problem.
>
>  Roger
>
>
>
> On 9/8/05, Luca Maranzano <liuk001@xxxxxxxxx> wrote:
> >
> > Hello all,
> >
> > I've set up a Linux Virtual Server on 2 Debian 3.1 boxes with the
> > following software:
> >
> > - kernel 2.6.11-smp (1 CPU with hyper threading)
> > - heartbeat 1.2.3
> > - ldirectord 1.2.3
> > - ipvsadm 1.24+1.21-1
> >
> > I need to set up a Local Director to balance a bunch of Windows 2000
> > Servers where clients connect via RDP (3389/tcp).
> >
> > In order to support failover and failback I'have configured ipvsadm in
> > the following way on both servers:
> >
> > /sbin/ipvsadm --start-daemon master --mcast-interface eth5
> > /sbin/ipvsadm --start-daemon backup --mcast-interface eth5
> >
> > and it seems to work as expected, connections get synchronized on the
> > slave from the master. The only problem is that the CPU load is always
> > over 2.00 (when ipvs_syncmaster and ipvs_syncbackup runs both), is
> > always 1.00 if I only run ipvs_syncmaster on one node and if I stop
> > the daemons it drops down to 0.0. So I'm sure that the ipvsadm daemon
> > is eating all CPU time.
> >
> > Is this a known bug? The systems is still responsive but this high
> > load looks really strange to me. May be someone has experienced a
> > similar load with a similar setup?
> >
> > TIA.
> > Kind regards,
> > Luca
> > _______________________________________________
> > LinuxVirtualServer.org mailing list -
> lvs-users@xxxxxxxxxxxxxxxxxxxxxx
> > Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
> > or go to http://www.in-addr.de/mailman/listinfo/lvs-users
> >
>
>

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