On Tue, Mar 02, 2004 at 10:17:52AM +0900, Horms wrote:
> On Tue, Mar 02, 2004 at 12:25:22AM +0200, Julian Anastasov wrote:
>
> Hi Julian,
>
> > Hello,
> >
> > On Mon, 1 Mar 2004, Horms wrote:
> >
> > > The attached patches for LVS and ipvsadm add a flag to services
> > > to allow them to treat UDP as unconnected, the current code
> > > assumes connected udp. More specifically, it sets the connection
> > > entry timout to 0. This probably could have been done more
> > > efficiently, but I tried to make the change in keeping with the
> > > current code base. The default for this option is off which gives
> > > the existing behaviour.
> >
> > It is interesting, where is this feature used?
>
> I am playing around with some load balancing aplications that use UDP.
> This seemed to make things work more natrually for the connections
> that we were seeing. Sorry to be a bit vauge, I will post more when I
> can, but this seemed to be generally useful so I thought I would let it
> out earlier rather than later.
>
> > I remember I created similar thing: ops-0.9.5-4.diff,
> > it is on the bottom of my page. Note that using timeout 0 is not a
> > good idea for the following reasons:
> >
> > - the connection lives for 1/HZ time which can be bad in some setups,
> > may be you can avoid hashing the conn
> >
> > - there is a race on SMP with the new kernel timers because two
> > IPVS packet handlers can modify the timer twice or more times
> > at the time when the kernel timers start on one or many CPUs.
> > The following change fixed this race for IPVS 2.6 and now it is still
> > not allowed to use short timeouts (<= 1 jiffie):
> >
> > http://linux.bkbits.net:8080/linux-2.5/diffs/net/ipv4/ipvs/ip_vs_conn.c@xxxx?nav=index.html|src/|src/net|src/net/ipv4|src/net/ipv4/ipvs|hist/net/ipv4/ipvs/ip_vs_conn.c
> >
> > The fix for this 2nd problem is again to avoid hashing the
> > connection, then only one CPU can use mod_timer for it.
> >
> > So, if hashing is avoided we achieve real per-packet scheduling.
>
> Ok, thanks for that. It should be possible to avoid hashing all
> together. I also relised there are a few minor bugs. I will post a new
> version shortly.
Hi,
Attached is a new version of this patch. The kernel component
no longer hashes the entry, though it still makes use of timers
(2*HZ) as freeing the connection entry directly seemed problematic.
The ipvsadm component contains a minor fix so that ipvsadm -S will
work as expected.
--
Horms
linux-2.4.26-pre1-unconnected-udp.2.patch
Description: Text document
ipvsadm-1.21-unconnected-udp.2.patch
Description: Text document
|