New Scheduling Algorithm

Horms horms at verge.net.au
Tue May 20 03:04:42 BST 2003


On Mon, May 19, 2003 at 11:14:08AM -0700, Dusten Splan wrote:

[ snip ]

> I could probably alter one of the other methods pretty easy, I'm not sure of
> all where I would have to change stuff to add a new one.
> 
> If anyone can point me in the right direction that would be of grate help.
> I should state that I'm running Kernel 2.4.20 with LVS of 1.0.8. I really
> don't want to run 2.5 because this is meant to be a production box.  

Either way would be pretty straight forward. In it might be best to
create a new scheduler by copying one of the existing ones and taking it
from there.  You should be able to do this without too much problem
using the 1.x stable branch for linux 2.4.x.

In the LVS tree, which you can get from
http://www.linuxvirtualserver.org/software/index.html look
in the ipvs/ directory. This is where all the kernel code
for ipvs/ lives.

Each scheduler is implemented as a separate kernel module, and
at the moment each one has its own .c file. ip_vs_rr.c, ip_vs_wlc.c
etc... Just copy one of those and off you go.

cp ip_vs_rr.c ip_vs_xyz.c

You will of course need to make some minor changes to the
Makefile so that your new module is built. When you
are ready to test it, either insmod ip_vs_xyz.o directly
into your kernel or make sure that it is somewhere where
depmod can find it. You should be able to utilise your via
ipvsadm.

ipvsadm -A -t 1.2.3.4:80 -s xyz


-- 
Horms


More information about the lvs-users mailing list