Here is an update of more hacking done to port the vserver 1.9.5 patches to the debian 2.6.8 kernel.
I've applied Bertl's second attempt at the patch ;) to the Debian 2.6.8-15 kernel-source tree, configured everything (including vserver and kernel debugging options), compiled and installed the kernel. Everything has been stable so far. Tonight we tested a few of the TODO items: . Uptime virtualization test Uptime virtualization will cause the context to account all process times and the uptime relative to the the context starting. When you do not have the virtualized uptime flag set, the uptime in a context is the host's uptime. It was not expected that this test would work, but we wanted to know for sure. The test: chcontext --ctx 100 --flag ^17 bash -c "sleep 600 & sleep 500; uptime; ps auxwww" This will change context to 100, set the uptime virtualization flag, and then run two sleeps (the first in the background). If it is working it should show something like 8 minutes uptime and the process start time for the backgrounded sleep should be 8 minutes back, and the current time for the "ps auxwww". Result: The uptime worked, but the ps time was wrong Bertl created new patches which should fix most of the issues (possibly including the uptime), and incorporates all fixes waiting for 1.9.6: http://vserver.13thfloor.at/Experimental/patch-2.6.8-15-vs1.9.5.x-3.diff http://vserver.13thfloor.at/Experimental/delta-2.6.8-15-vs1.9.5.x-2-3.diff (second is a delta between the -2 and the first) Three major things will not be included in this Debian version: - varhz: this changes the timer interrupt the kernel uses (was 100Hz for 2.4 and now is 1000Hz) the varhz allows you to change it between 20 and 20000 Hz, this reduces the slice time for interactive servers and/or decreases the scheduling overhead. It didn't make a really big difference so it probably will go away soon. - the memory split for x86: memory split simply doesn't work before 2.6.9*/10 (this allows to have other memory splits on i386 other than 3/1 which allows to have more than 1GB memory without himem. For example systems with 2GB memory using highmem for them will add significant overhead, avoiding that with a 2/2 split is simply an advantage - bind mount extensions: http://lwn.net/Articles/124482/ bind bind mount extentions exist for 2.6.8, but are very different than the ones used for 2.6.11+, so they aren't included, if they are desired, then you should use the older patches, or move on to the 2.6.11 kernel TODO: . Test the -3 version of the patches . Need to check task_state (in proc) regarding initpid virtualization (means /proc/<pid>/stat(us) . Need to check ext2/ext3 xattr with disk limit accounting . Need to test NFS . Need to test other basic capabilities (http://linux-vserver.org/Linux-VServer-Paper-14) _______________________________________________ Vserver mailing list Vserver@list.linux-vserver.org http://list.linux-vserver.org/mailman/listinfo/vserver