LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: ipvs_syncmaster brings cpu to 100%

To: Luca Maranzano <liuk001@xxxxxxxxx>, <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: ipvs_syncmaster brings cpu to 100%
From: Roger Tsang <roger.tsang@xxxxxxxxx>
Date: Fri, 23 Sep 2005 11:15:31 -0400
As I've said before in this thread, you might want to try changing all the
ssleep() calls to schedule_timeout().

Roger


On 9/22/05, Luca Maranzano <liuk001@xxxxxxxxx> wrote:
>
> 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
> > >
> >
> >
> _______________________________________________
> 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>