public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Willy Tarreau <willy@w.ods.org>
To: Roberto Nibali <ratz@drugphish.ch>
Cc: Marcelo Tosatti <marcelo.tosatti@cyclades.com>,
	Grant Coady <gcoady@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: Re: Linux 2.4.32-rc2
Date: Fri, 4 Nov 2005 01:09:09 +0100	[thread overview]
Message-ID: <20051104000909.GA22017@alpha.home.local> (raw)
In-Reply-To: <4369E43A.2080800@drugphish.ch>

Hi Roberto,

On Thu, Nov 03, 2005 at 11:19:38AM +0100, Roberto Nibali wrote:
> >>CONFIG_ACPI=y
> >>CONFIG_ACPI_BOOT=y
> >>CONFIG_ACPI_BUS=y
> >>CONFIG_ACPI_INTERPRETER=y
> >>CONFIG_ACPI_EC=y
> >>CONFIG_ACPI_POWER=y
> >>CONFIG_ACPI_PCI=y
> >>CONFIG_ACPI_MMCONFIG=y
> >>CONFIG_ACPI_SLEEP=y
> >>CONFIG_ACPI_SYSTEM=y
> > 
> > But this is purely x86-related, I won't have it on sparc.
> 
> Indeed ;).

No pb.

> >>CONFIG_IP_VS=m
> >>CONFIG_IP_VS_DEBUG=y
> >>CONFIG_IP_VS_TAB_BITS=12
> >>CONFIG_IP_VS_RR=m
> >>CONFIG_IP_VS_WRR=m
> >>CONFIG_IP_VS_LC=m
> >>CONFIG_IP_VS_WLC=m
> >>CONFIG_IP_VS_LBLC=m
> >>CONFIG_IP_VS_LBLCR=m
> >>CONFIG_IP_VS_DH=m
> >>CONFIG_IP_VS_SH=m
> >>CONFIG_IP_VS_SED=m
> >>CONFIG_IP_VS_NQ=m
> >>CONFIG_IP_VS_HPRIO=m
> >>CONFIG_IP_VS_FTP=m
> >>
> >>One issue is a possible C99'ism in the last IPVS patch. If you find
> >>time, please have a 2.95.x compiler installed.
> >  
> > You mean that it's a build issue ? I first thought that you got erroneous
> > behaviour.
> 
> Yes, the erroneous stuff I'm tracking down and it looks like I've found
> it (actually, Julian Anastasov fixed it):
> 
> diff -ur v2.4.32-rc2/linux/net/ipv4/ipvs/ip_vs_core.c
> linux/net/ipv4/ipvs/ip_vs_core.c
> --- v2.4.32-rc2/linux/net/ipv4/ipvs/ip_vs_core.c	2005-11-03
> 01:20:02.000000000 +0200
> +++ linux/net/ipv4/ipvs/ip_vs_core.c	2005-11-03 01:22:36.347895544 +0200
> @@ -1111,11 +1111,10 @@
>  		if (sysctl_ip_vs_expire_nodest_conn) {
>  			/* try to expire the connection immediately */
>  			ip_vs_conn_expire_now(cp);
> -		} else {
> -			/* don't restart its timer, and silently
> -			   drop the packet. */
> -			__ip_vs_conn_put(cp);
>  		}
> +		/* don't restart its timer, and silently
> +		   drop the packet. */
> +		__ip_vs_conn_put(cp);
>  		return NF_DROP;
>  	}
> 
> I will send a proper signed-off and acked-by patch against rc2 after
> some more stress testing. So, please hold off releasing until then. I'm
> done testing this piece of code by tomorrow noon (GMT+1).

OK, fine. I'll merge it into next -hf (probably within a few days). Please
insist loudly if you consider it important to fix quickly because it's a
real regression, as I don't want to have people wait for long if one hotfix
causes trouble.

> What I wasn't sure is if the latest patches still compiled on 2.95.x
> gcc. That's the only thing I wanted you to test.

OK, if it was your only concern, then I can say that it compiles and
runs on x86.

> I cannot ask you to run fully fledged LVS tests, as this requires
> quite some setup time.

I know this, that's why I asked about the setup, config files and
test scenario :-)

> > How could I stress it ? what ipvs config, what type of traffic ? I'm used
> > to stress-test firewalls and load-balancers, but there is a wide choice of
> > possibilities, and all cannot be explored in a short timeframe.
> 
> You would need to test IPVS on a SMP box using persistent setup and 0
> port feature and the expire_nodest_conn proc-fs entry set to 1. Hit the
> LB with 100Mbit/s traffic balancing it on 2-3 RS and reload the
> configuration using ipvsadm, _but_ without rmmod'ing the ip_vs_* kernel
> modules. Set the persistency timeout low (60 secs) and the
> timeout_finwait to 10*HZ. You need 2 clients which connect over a Linux
> router to a LVS_DR setup, one needs to be router through and the other
> should be NAT'd on the Linux router using a NAT pool to simulate 100's
> of clients. This way you have the slashdot-hype and the AOL proxy boost
> hitting your LB and generating loaded persistency templates which will
> then hit the code in question, wenn the internal timer expires. You need
> to grep for NONE in ipvsadm -L -n -c to get the template entries. You
> must stop the client connecting directly through the Linux router after
> you reloaded the LB setup and then you observe the persistent template
> created for this client until the timer expires. Then you start it again
> and with luck you should see the abberant behaviour of a missed
> __ip_vs_conn_put(cp) :). I am pretty sure you do not want to go through
> this setup. I have it here and I'm stress testing all possible
> combinations of this szenario.

Of course this is not the easiest setup just to chase a bug down. But with
such an explanation, a good manual on IPVS, and a lot of spare time, it
could be done if it was the only solution. But I'm not willing to spend
so much time on this yet :-)

> Thanks for your help, Willy.

You're welcome.

> A bientôt,
> Roberto Nibali, ratz

Cheers,
Willy


  reply	other threads:[~2005-11-04  0:21 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-31 17:57 Linux 2.4.32-rc2 Marcelo Tosatti
2005-11-01  4:06 ` Grant Coady
2005-11-01  7:49   ` Willy Tarreau
2005-11-01  6:34     ` Marcelo Tosatti
2005-11-01 20:00       ` Roberto Nibali
2005-11-02  0:28         ` Willy Tarreau
2005-11-02 11:02           ` Roberto Nibali
2005-11-02 12:29             ` Willy Tarreau
2005-11-03 10:19               ` Roberto Nibali
2005-11-04  0:09                 ` Willy Tarreau [this message]
2005-11-04  8:50                   ` Roberto Nibali
2005-11-03  5:43             ` Willy Tarreau
2005-11-03  6:41             ` Willy TARREAU
2005-11-04  9:41       ` [PATCH 2.4] [IPVS] fix missing refcnt put with expire_nodest_conn Roberto Nibali
2005-11-01 10:56     ` Linux 2.4.32-rc2 Willy Tarreau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051104000909.GA22017@alpha.home.local \
    --to=willy@w.ods.org \
    --cc=gcoady@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo.tosatti@cyclades.com \
    --cc=ratz@drugphish.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox