Download/kernel/2.6.16/026test018.1/changes
Contents
- 1 Changes
- 1.1 Patches
- 1.1.1 diff-cpt-annoying-printk
- 1.1.2 diff-cpt-asmlinkage
- 1.1.3 diff-cpt-caps-fix-20060908
- 1.1.4 diff-cpt-checks-20060908
- 1.1.5 diff-cpt-clone-zombie
- 1.1.6 diff-cpt-core-misc-2
- 1.1.7 diff-cpt-func-declaration-fix-20060916
- 1.1.8 diff-cpt-ifindex-renumber-2.6.16-20060908
- 1.1.9 diff-cpt-iptables-path
- 1.1.10 diff-cpt-kernel-dpath-20060908
- 1.1.11 diff-cpt-mm-eagain-20060817
- 1.1.12 diff-cpt-net-ifindex-cleanup-20060908
- 1.1.13 diff-cpt-net-lock-20060727
- 1.1.14 diff-cpt-ptraceme-20060908
- 1.1.15 diff-cpt-restore-mnt-flags-20060831
- 1.1.16 diff-cpt-rst-dir
- 1.1.17 diff-cpt-rst-sigdfl-20060830
- 1.1.18 diff-cpt-suid-dumpable
- 1.1.19 diff-cpt-suspend-cleanup
- 1.1.20 diff-cpt-susp-printk-20060908
- 1.1.21 diff-cpt-tcp-bind-bug-20060831
- 1.1.22 diff-cpt-ve-features-20060815
- 1.1.23 diff-cpt-veth-support-20060616
- 1.1.24 diff-cpt-wait-task-cleanup-20060908
- 1.1.25 diff-cpt-x86_64-debuginfo
- 1.1.26 diff-cpt-x8664-setpriority
- 1.1.27 diff-dbg-show-top-slabs-20060727
- 1.1.28 diff-dbg-show-top-slabs-fix-20060727
- 1.1.29 diff-fairsched-cpuinfo-20060710
- 1.1.30 diff-fairsched-cpuinfo-fix-20060908
- 1.1.31 diff-fairsched-dynvcpus-20060623
- 1.1.32 diff-fairsched-iowait-20060525
- 1.1.33 diff-fairsched-iowait-fix-20060809
- 1.1.34 diff-fairsched-ppcfix-20060828
- 1.1.35 diff-fairsched-ppc-syscalls-20060830
- 1.1.36 diff-fairsched-sparse-fixes-20060915
- 1.1.37 diff-merge-2.6.16.29-20060916
- 1.1.38 diff-ms-bind-mount-flags-20060816
- 1.1.39 diff-ms-nf-compat-non-x86-20060831
- 1.1.40 diff-powerpc-tif-freeze-20060905
- 1.1.41 diff-softirqd-sparse-20041008
- 1.1.42 diff-ubc-dcachecom-20060417
- 1.1.43 diff-ubc-dcacheopt-20060906
- 1.1.44 diff-ubc-fileopt-20060504
- 1.1.45 diff-ubc-fileopt-2-20060504
- 1.1.46 diff-ubc-fileopt-fix-20060908
- 1.1.47 diff-ubc-filkmemopt-20060907
- 1.1.48 diff-ubc-gfp-type-20060915
- 1.1.49 diff-ubc-kmemopt-20060504
- 1.1.50 diff-ubc-kmemopt-2-20060907
- 1.1.51 diff-ubc-kmemopt-caches-20060504
- 1.1.52 diff-ubc-kmemopt-fix-20060908
- 1.1.53 diff-ubc-kmem-ppcfix-20060828
- 1.1.54 diff-ubc-net-locking-20060727
- 1.1.55 diff-ubc-net-sparse-cleanup-20060916
- 1.1.56 diff-ubc-net-tcpsndbuf-charge-fix-20060721
- 1.1.57 diff-ubc-net-wait-mem-fix-20060823
- 1.1.58 diff-ubc-notopinl-20060907
- 1.1.59 diff-ubc-nrfiles-memset-after-charge-fix-20060911
- 1.1.60 diff-ubc-nrfiles-opt-fix-20060911
- 1.1.61 diff-ubc-nrfiles-rcu-race-20060916
- 1.1.62 diff-ubc-ppc-syscalls-20060830
- 1.1.63 diff-ubc-putwarn-20060525
- 1.1.64 diff-ubc-skbufopt-20060512
- 1.1.65 diff-ubc-skbufopt-2-20060907
- 1.1.66 diff-ubc-syscalls-ppcfix-20060828
- 1.1.67 diff-ubc-tcppage-20060525
- 1.1.68 diff-ubc-tcprcvopt-20060502
- 1.1.69 diff-ubc-tcpsndopt-20060906
- 1.1.70 diff-ubc-twcount-20060907
- 1.1.71 diff-ubc-twcount-fix-20060908
- 1.1.72 diff-ubc-user-attribute-20060815
- 1.1.73 diff-ubc-vmpages-ppcfix-20060828
- 1.1.74 diff-ubc-writespace-20060616
- 1.1.75 diff-ve-kstat-sparse-20060815
- 1.1.76 diff-ve-memleak-fib-hash-20060828
- 1.1.77 diff-ve-multi-cleanup-20060824
- 1.1.78 diff-venet-devprintk-20060719
- 1.1.79 diff-ve-net-dev-sysctl-20060821
- 1.1.80 diff-ve-net-fib-leak-fix-20060830
- 1.1.81 diff-ve-net-fib-sparse-20060916
- 1.1.82 diff-ve-net-loop-stat-20060821
- 1.1.83 diff-ve-net-mtu-20060828
- 1.1.84 diff-ve-net-rtcache-20060719
- 1.1.85 diff-ve-net-rtflush-20060719
- 1.1.86 diff-ve-net-veth-sparse-20060916
- 1.1.87 diff-ve-nf-allocsize-20060727
- 1.1.88 diff-ve-nf-compat-ppc64-20060831
- 1.1.89 diff-ve-portrange-20060907
- 1.1.90 diff-ve-sysfs-ptmxadd-20060907
- 1.1.91 diff-ve-sysfs-ptmx-fix-20060908
- 1.1.92 diff-ve-vecalls-sparse-20060915
- 1.1.93 diff-ve-venet-sparse-20060916
- 1.1.94 diff-ve-veowner-sparse-20060915
- 1.1.95 diff-ve-vpsdumpable-20060710
- 1.1.96 diff-ve-vzwdog-fix-20060908
- 1.1.97 diff-ve-vzwdog-sparse-20060916
- 1.1.98 diff-vzdq-fmt-quota-20060608
- 1.1.99 diff-vzdq-nougid-compile-20060917
- 1.1.100 diff-vzdq-quotaoff-EIO-20060705
- 1.1.101 diff-vzdq-sparse-20060916
- 1.1.102 diff-vzwdog-flat-mem-map-fix-20060828
- 1.1.103 diff-vzwdog-irq-20060807
- 1.1 Patches
Changes
- UBC optimisations
- CPT fixes and updates from stable branch.
- Dynamic VCPU control
- VE mass stop speedup
- Loopback statistics
- Compilations fixes
- sysfs ptmx virtualization.
- Mainstream update up to 2.6.16.29.
- Code cleanups from sparse.
Patches
diff-cpt-annoying-printk
Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] remove annoying printk
In 2.6.9 printk("=") in refrigerator() is commented out. We should remove printk(">\n") in cpt. The code with comment is not removed, but commented out to remember that we have to return this, if the printk in refrigerator() is uncommented.
diff-cpt-asmlinkage
Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] asmlinkage attribute was forgotten
This fixes CPT with CONFIG_REGPARAM compiled
diff-cpt-caps-fix-20060908
Patch from Pavel Emelianov <xemul@openvz.org>:
[CPT] capabilities check fixes
- namespace->sem is replaced with namespace_sem;
- task->used_math is replaced with tsk_used_math().
diff-cpt-checks-20060908
Patch from Andrey Mirkin <amirkin@openvz.org>:
This patch adds checking for unsupported CPT features.
diff-cpt-clone-zombie
Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] restoring threads with tsk->fs==NULL
If a nptl thread is ptraced, it does not die immediately and we can arrive to the state:
parent | main_thread -----> thread1 [ptraced] in TASK_ZOMBIE in TASK_ZOMBIE
To restore such configuration we do kernel_thread(CLONE_SIGNAL) in context of main_thread. But if it is exited, it has tsk->fs == NULL and kernel oopes.
Suggested fix is very simple: we just attach temporary fs_struct from init task of VE. Also, we have to delay initialization of tsk->group_exit, otherwise kernel will not allow us to clone.
This fix is pragmatic.
Better fix would be restructuring of restore to delay zombification until the last stage of restore. I.e. we could restore all the tree of alive processes with all the attributes of alive task (fs, mm etc). And after it is complete, we could make one more pass and collect garbage killing zombie tasks and clearing fs, mm etc. It would be cleaner and safer, but requires too much of changes.
Bug #65219.
diff-cpt-core-misc-2
Removed hunks after optimisation patches
diff-cpt-func-declaration-fix-20060916
Patch from Pavel Emelianov <xemul@openvz.org>:
[CPT] Don't leave function argument list empty - use 'void'
diff-cpt-ifindex-renumber-2.6.16-20060908
Patch from Andrey Mirkin <amirkin@openvz.org>:
This patch adds renumbering of netdev->ifindex'es on restore process. We can do this because network is suspended. All manipulations are protected with rtnl_lock().
diff-cpt-iptables-path
Patch from Andrey Mirkin <amirkin@openvz.org>:
This patch fixes iptables save/restore on SUSE.
Bug #62837.
diff-cpt-kernel-dpath-20060908
Patch from Pavel Emelianov <xemul@openvz.org>:
Export and unstatic __d_path() call for CPT capability checks.
diff-cpt-mm-eagain-20060817
Patch from Andrey Mirkin <amirkin@openvz.org>:
In tests we can see message: "mm_struct is referenced outside"
After that message checkpoint fails.
It seems that this situation is legal, so checkpoint could be restarted. So we return -EAGAIN to be able to restart checkpoint.
diff-cpt-net-ifindex-cleanup-20060908
Patch from Andrey Mirkin <amirkin@openvz.org>:
This patch removes renumbering of ifindexes of venet and loopback
devices on restore.
diff-cpt-net-lock-20060727
Patch from Andrey Mirkin <amirkin@openvz.org>:
Network devices list were not protected while checkpoining.
This patch adds necessary protection.
diff-cpt-ptraceme-20060908
Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] SMP race in detecting state of ptraced processes
When suspending VE, we test state of processes while they are still running. It is not a bug: we have to verify for invalid state before checkpointing, real state is saved after processes are scheduled out.
The impact is that we can see process in a bad state, f.e. stopped without any reasons. It is also not a bug, but this rersults in random failures of checkpointing. The only way to fix this is to order updates of state variables. The order is correct almost everywhere.
diff-cpt-restore-mnt-flags-20060831
Patch from Andrey Mirkin <amirkin@openvz.org>:
Mount point's mnt_flags (noexec,nosuid,nodev) were omitted and not restored correctly.
This patch should be applied with patch for bind mounts in other case we should do the following:
- Remove check for bind-mounts in do_remount() function
- Change procedure for restoring bind-mounts in next way:
do_mount(bind); do_remount(mnt_flags).
diff-cpt-rst-dir
Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] do not keep open cwd while restore
>>From the viewpoint of CPT, cwd/root are very similar to an open file, it is just pair dentry/mnt. Normally, when opening some file we store it and its inode in special object cache to resolve opening of the same inode, when some of its aliases (dentries) are deleted.
But it is useless for directories, which cannot be hardlinked ever. And this consumes numfile UBC, so that restore can fail easily. So, do not store cwd/root file, unless it is deleted. This does not solve problem with restoring VE hitting numfiles, but relieves it a lot.
Now we can temporarily increase numfile limit while cpt/rst by 2 and everything should be OK.
diff-cpt-rst-sigdfl-20060830
Patch from Alexey Kuznetsov <alexey@openvz.org>: [CPT] save/restore even SIG_DFL handlers
Linux has a funny feature: when SA_ONESHOT signal resets handler, flags are not set to default. And LTP tests verify this pathology.
diff-cpt-suid-dumpable
Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] restore mm->dumpable correctly
mm->dumpable is not boolean in >=2.6.9, but tri-state. Just save and restore raw value.
diff-cpt-suspend-cleanup
Patch from Kirill Korotaev <dev@openvz.org>:
Fix of compilation of diff-cpt-suspend-cleanup.
diff-cpt-susp-printk-20060908
Patch from Pavel Emelianov <xemul@openvz.org>:
[CPT] Remove printk("|\n") from refrigerator.
(#55914)
diff-cpt-tcp-bind-bug-20060831
Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] tcp sockets were bind()ed incorrectly during restore
This case was totally missed. Fortunately, this happens rarely.
If checkpoint happens after some listening socket was closed, but it left behind some children (including timewait buckets), restore fails to bind them, unless the service used SO_REUSEADDR.
Stress checkpointing of LTP tests did not catch this earlier only because... I repaired the tests not to fail upon exhaustion of port space some time ago. Before that they failed with obvious and harmless diagnosis long before the first binding conflict happened.
diff-cpt-ve-features-20060815
Patch from Andrey Mirkin <amirkin@openvz.org>:
Feature set were not saved in CPT, so VEs based on SUSE template could fail after restore (VE_FEATURE_SYSFS was lost). Save feature set in place which were not used before (cpt_os_version and cpt_os_features fields in image header).
diff-cpt-veth-support-20060616
Patch from Andrey Mirkin <amirkin@openvz.org>:
[CPT] This patch adds veth support in CPT
diff-cpt-wait-task-cleanup-20060908
Patch from Pavel Emelianov <xemul@openvz.org>:
[CPT] Remove ifdefs around wait_task_inactive()
diff-cpt-x86_64-debuginfo
Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] fix compilation with CONFIG_DEBUG_INFO
Just #undef it.
diff-cpt-x8664-setpriority
Patch from Alexey Kuznetsov <alexey@openvz.org>:
[CPT] process priority was restored incorrectly on x86_64
Ugly type casting bug. u32 was implicitly casted to long and on 64bit archs negative nice values were rejected as huge positive ones.
diff-dbg-show-top-slabs-20060727
Patch from Pavel Emelianov <xemul@openvz.org>:
Show info about the largest kmem caches in OOM killer and SysRq-M handler.
diff-dbg-show-top-slabs-fix-20060727
Patch from Pavel Emelianov <xemul@openvz.org>:
Show top slabs functionality comp fixes:
- lock w/o irqsave and flags;
- correct loop counter;
- names: objsize -> buffer_size.
diff-fairsched-cpuinfo-20060710
Patch from Andrey Mirkin <amirkin@openvz.org>:
This patch virtualizes /proc/cpuinfo.
Added sysctl to scale or not cpu frequency inside VE.
diff-fairsched-cpuinfo-fix-20060908
Patch from Pavel Emelianov <xemul@openvz.org>:
Add prototype for ve_scale_khz() in vsched.h (comp)
diff-fairsched-dynvcpus-20060623
Patch from Kirill Korotaev <dev@openvz.org>:
This patch adds new fairsched syscalls which allows to change number of
VCPUs inside VE dynamically on the fly.
TODO:
- per FS-node task list
- do_fairsched_vcpus: adjust rate
- __migrate_task doesn't return any error code and can fail
- empty flag in vcpu_del / synchronize optimization
- finish diff-cpuinfo
- /proc file with vcpus field?
diff-fairsched-iowait-20060525
Patch from Dmitry Mishin <dim@openvz.org>:
This patch fixes iowait_time statistics for both VE0 and VEs.
- removes redundant nr_iowait field in VE_CPU_STATS (bug noticed by Matt Loschert)
- after schedule task may be activated on the another processor.
Port on 2.6.16 by Xemul.
diff-fairsched-iowait-fix-20060809
Patch from Pavel Emelianov <xemul@openvz.org>:
Compilation fix for nr_iowait_ve() modifications.
diff-fairsched-ppcfix-20060828
Patch from Kir Kolyshkin <kir@openvz.org>:
[PPC] fixes the mistype and the formatting in powerpc's show_regs().
diff-fairsched-ppc-syscalls-20060830
Patch from Kir Kolyshkin <kir@openvz.org>:
[PPC] adds fairsched syscalls for powerpc
diff-fairsched-sparse-fixes-20060915
Patch from Pavel Emelianov <xemul@openvz.org>:
Cleanups in fairsched code found by sparse
- rq->push_vcpu = NULL;
- __user attribute in sysctl handler argument.
diff-merge-2.6.16.29-20060916
Patch from OpenVZ team <devel@openvz.org>:
Merged 2.6.16.29 from /linux/kernel/git/stable/linux-2.6.16.y
diff-ms-bind-mount-flags-20060816
Patch from Andrey Mirkin <amirkin@openvz.org>:
This patch adds support of 3 mount flags to bind mount Now we can do bind mounts with noexec, nosuid and nodev options w/o need to do remount.
diff-ms-nf-compat-non-x86-20060831
Patch from Patrick McHardy <kaber@trash.net>:
[NETFILTER] x_tables: fix compat related crash on non-x86
When iptables userspace adds an ipt_standard_target, it calculates the size of the entire entry as:
sizeof(struct ipt_entry) + XT_ALIGN(sizeof(struct ipt_standard_target))
ipt_standard_target looks like this:
struct xt_standard_target
{
struct xt_entry_target target;
int verdict;
};
xt_entry_target contains a pointer, so when compiled for 64 bit the structure gets an extra 4 byte of padding at the end. On 32 bit architectures where iptables aligns to 8 byte it will also have 4 byte padding at the end because it is only 36 bytes large.
The compat_ipt_standard_fn in the kernel adjusts the offsets by
sizeof(struct ipt_standard_target) -
sizeof(struct compat_ipt_standard_target),
which will always result in 4, even if the structure from userspace was already padded to a multiple of 8. On x86 this works out by accident because userspace only aligns to 4, on all other architectures this is broken and causes incorrect adjustments to the size and following offsets.
Thanks to Linus for lots of debugging help and testing.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
diff-powerpc-tif-freeze-20060905
Patch from Kir Kolyshkin <kir@openvz.org>:
[PPC] adds needed TIF_FREEZE define to powerpc
diff-softirqd-sparse-20041008
Patch from Pavel Emelianov <xemul@openvz.org>:
Added __user attribute to sysctl handler's args in softirqd disabling code
Found by sparse.
diff-ubc-dcachecom-20060417
Patch from Andrey Savochkin <saw@openvz.org>:
This patch fixes currently incorrect comments about locking in dcache.
diff-ubc-dcacheopt-20060906
Patch from Andrey Savochkin <saw@openvz.org>:
Dcachesize accounting optimization.
The accounting becomes conditional, and dentries start to be accounted only when a given fraction of normal zone is consumed by dcache. On switching accounting on and off, all dentries are walked in stop_machine and charged to ub0 or uncharged.
Port for 2.6.16 by Pavel Emelianov <xemul@openvz.org>
diff-ubc-fileopt-20060504
Patch from Andrey Savochkin <saw@openvz.org>:
Main part of file accounting optimization.
- files are charged by quants;
- pre-charged but not used amount is kept in task_beancounter.
diff-ubc-fileopt-2-20060504
Patch from Andrey Savochkin <saw@openvz.org>:
Additional optimizations of file and kmemsize accounting, fixes.
- files are now charged to kmemsize explicitly, not through SLAB_UBC;
- certain amount of numfile and their kmemsize is precharged at fork;
- poll tables of small size are not charged at all;
- get_beancounter_batch and put_beancounter_batch are introduced to adjust refcounts at precharge/uncharge time, in batches, instead of at each allocation/deallocation.
diff-ubc-fileopt-fix-20060908
Patch from Pavel Emelianov <xemul@openvz.org>:
Take kmem memory usage for file_cachep directly fro cachep.
diff-ubc-filkmemopt-20060907
Patch from Andrey Savochkin <saw@openvz.org>:
More file/kmemsize accounting fixes related to charges/uncharges to wrong beancounters, as seen when testing optimisation.
diff-ubc-gfp-type-20060915
Patch from Pavel Emelianov <xemul@openvz.org>:
[UBC] Use gfp_t type where appropriate in ub_mem.c
Found by sparse.
diff-ubc-kmemopt-20060504
Patch from Andrey Savochkin <saw@openvz.org>:
Start of kmemsize accounting optimization.
- kmemsize is accounted by quants;
- per-charged amounts are kept in task_beancounter for faster and lockless charge/uncharge operations.
diff-ubc-kmemopt-2-20060907
Patch from Andrey Savochkin <saw@openvz.org>:
File and kmemsize accounting optimization fixes and improvements.
- missing uncharge added;
- a lot of likely/unlikely added;
- files are really charged into kmemsize;
- the problem of atomicity of per-task field is resolved by shifting irq_disable/enable around kmemsize charge calls.
diff-ubc-kmemopt-caches-20060504
Patch from Andrey Savochkin <saw@openvz.org>:
Another small but important optimization of kmemsize charges.
The maintenance of SLAB_UBC infrastructure is costly, so kmalloc caches were duplicated, one for !SLAB_UBC allocations and one for SLAB_UBC ones. Deallocations in the former avoid the extra work of checking whether the object was charged.
diff-ubc-kmemopt-fix-20060908
Patch from Pavel Emelianov <xemul@openvz.org>:
Typo in mm/slab.c after kmem optimisation patch port.
diff-ubc-kmem-ppcfix-20060828
Patch from Kir Kolyshkin <kir@openvz.org>:
[PPC] fixes the following compilation issue on ppc platform
In file included from include/asm/tlb.h:20, from arch/powerpc/platforms/pseries/lpar.c:37: include/asm/pgalloc.h:97: error: conflicting types for '__pte_alloc' include/linux/mm.h:819: error: previous declaration of '__pte_alloc' was here make[2]: *** [arch/powerpc/platforms/pseries/lpar.o] Error 1
diff-ubc-net-locking-20060727
Patch from Pavel Emelianov <xemul@openvz.org>:
UBC socket buffers accounting locking fix.
All sock beancounters are stored in the list, starting at top beancounter, and thus top's lock must be used to protect the list.
diff-ubc-net-sparse-cleanup-20060916
Patch from Pavel Emelianov <xemul@openvz.org>:
[UBC] Cleanups in networking accounting
- remove unused gfp var from sock_alloc_send_skb2
- gfp_t type in ub_skb_alloc_bc()
diff-ubc-net-tcpsndbuf-charge-fix-20060721
Patch from Pavel Emelianov <xemul@openvz.org>:
Network buffers (un)charging logic is
- work with top beancounter
- update all the rest witl (un)charge_beancounter_notop
In ub_sock_tcp_chargesend() it was broken (#65495)
diff-ubc-net-wait-mem-fix-20060823
Patch from Pavel Emelianov <xemul@openvz.org>:
Return sk_stream_wait_memory() prototype to original state to make inifiniband driver (and any other caller) compile. Places that use new version call __sk_stream_wait_memory().
diff-ubc-notopinl-20060907
Patch from Andrey Savochkin <saw@openvz.org>:
Make (un)charge_xxx_notop functions inline to avoid call and IRQ disabling for top beancounters. Spotted in profiles by Den.
diff-ubc-nrfiles-memset-after-charge-fix-20060911
Patch from Pavel Emelianov <xemul@openvz.org>:
Memset file to 0 before charging it to prevent f_ub erasing.
diff-ubc-nrfiles-opt-fix-20060911
Patch from Pavel Emelianov <xemul@openvz.org>:
Fix of nrfiles accounting.
Since file_cachep is not SLAB_UBC after Andrey's optimisations slab_ub(file) will BUG_ON inside slab_ub_ref. Use file->f_ub instead.
diff-ubc-nrfiles-rcu-race-20060916
Patch from Pavel Emelianov <xemul@openvz.org>:
[UBC] Fix UB_NUMFILE accounting optimisation leak
In 2.6.16 files are put via RCU, so ub_file_uncharge() is called in IRQ context. Thus non-atomic decrement of file_precharged must be done with IRQs disabled.
diff-ubc-ppc-syscalls-20060830
Patch from Kir Kolyshkin <kir@openvz.org>:
[PPC] fix ubc syscalls declaration for powerpc
diff-ubc-putwarn-20060525
Patch from Andrey Savochkin <saw@openvz.org>:
This patch prints more sensible warning on bad refcounter in
__put_beancounter.
diff-ubc-skbufopt-20060512
Patch from Andrey Savochkin <saw@openvz.org>:
Various changes in socket buffer accounting.
- likely/unlikely added;
- internal code organization improved;
- skb->sk never follows for netlink sockets (it's almost always wrong);
- ub_wcharged and optimizations should never be used for netlink sockets.
diff-ubc-skbufopt-2-20060907
Patch from Andrey Savochkin <saw@openvz.org>:
This patch removes skb accounting speed-up for UNIX sockets. It doesn't work (kfree_skb is called in a different socket's context). Along with this, charge severity fixed in tcp_chargepage (#63650)
diff-ubc-syscalls-ppcfix-20060828
Patch from Kir Kolyshkin <kir@openvz.org>:
[PPC] asm-powerpc/unistd.h mistype fix
diff-ubc-tcppage-20060525
Patch from Andrey Savochkin <saw@openvz.org>:
This patch fixes an apparent bug in accounting in ub_sock_tcp_chargepage. Should help problems at DefenderHosting.
diff-ubc-tcprcvopt-20060502
Patch from Andrey Savochkin <saw@openvz.org>:
Optimization of tcprcvbuf accounting.
Keep pre-charged amount in per-socket forw_space.
diff-ubc-tcpsndopt-20060906
Patch from Andrey Savochkin <saw@openvz.org>:
Tcpsndbuf optimization.
- Keep more in per-socket poll_reserve, do not hurry to return to beancounter if limits are high enough;
- Certain unification and streamlining of charge/uncharge functions;
minor: severity renamed to ub_severity, to keep this name in proper namespace.
diff-ubc-twcount-20060907
Patch from Denis Lunev <den@openvz.org>:
Per-UB limitation to the number of TCP timewait buckets.
This is done to disallow to eat VE kernel memory by them completely. Unfortunately, virtualized sysctl can't help, as TW buckets live after actual VE death, so the counter on UB is used.
So, the number of TW buckets is limited by
- number of buckets allowed for a UB
- the fraction of kernel memory limit (in 1024th)
which one is reached first (#61789)
Ported on 2.6.16 by Xemul.
diff-ubc-twcount-fix-20060908
Patch from Pavel Emelianov <xemul@openvz.org>:
Fix ub_timewait_check() to get kmem_cache objuse directly
and from correct slab.
diff-ubc-user-attribute-20060815
Patch from Pavel Emelianov <xemul@openvz.org>:
[UBC] Added __user attribute to UBC syscalls arguments
Found by sparse.
diff-ubc-vmpages-ppcfix-20060828
Patch from Kir Kolyshkin <kir@openvz.org>:
[PPC] adding MAP_EXECPRIO define for powerpc
diff-ubc-writespace-20060616
Patch from Denis Lunev <den@openvz.org>:
Deadlock on beancounter lock.
sk_stream_write_space() sends signal to a task, so it can take a beancounter lock. ub_tcp_snd_wakeup()/ub_sock_snd_wakeup() was called with a lock held.
diff-ve-kstat-sparse-20060815
Patch from Pavel Emelianov <xemul@openvz.org>:
Use gfp_t type in __alloc_collect_stats()
Found by sparse.
diff-ve-memleak-fib-hash-20060828
Patch from Alexey Kuznetsov <alexey@openvz.org>:
[PATCH] memory leakage in fib_hash
FIB hash tables and zone structs were never freed. Each time, when VE is stopped, they leak.
vzctl chkpnt/restore tests bring a system with 4G of ram quite soon. Of course, vzctl start/stop is not so fast to bring down a system with decent amount of RAM, but hundreds of thousands of slab entries are still well visible.
The patch solves leakage in size-128 and most of leakage in size-64.
We still leak two objects in size-64 and 6 entries in size-32.
diff-ve-multi-cleanup-20060824
Patch from Pavel Emelianov <xemul@openvz.org>:
Try to cleanup each VE in a separate thread. This alows simultaneous stop of many VEs at once (#60673)
diff-venet-devprintk-20060719
Patch from Andrey Savochkin <saw@openvz.org>:
Better print message on promiscuous mode change by ve_printk (possible DoS?)
diff-ve-net-dev-sysctl-20060821
Patch from Dmitry Mishin <dim@openvz.org>:
This patch allows VE owner to use net.ipv4.conf.<net_device>.xxx sysctls.
Bug #66842.
diff-ve-net-fib-leak-fix-20060830
Patch from Pavel Emelianov <xemul@openvz.org>:
Fix memory leak in case of CONFIG_VE_NETDEV=n
Do not create fib rules if we're not going to use them.
diff-ve-net-fib-sparse-20060916
Patch from Pavel Emelianov <xemul@openvz.org>:
void argument in declarations of fib_rules_create()/destroy()
diff-ve-net-loop-stat-20060821
Patch from Dmitry Mishin <dim@openvz.org>:
Virtualized loopback_stats
Bug #66571.
diff-ve-net-mtu-20060828
Patch from Dmitry Mishin <dim@openvz.org>:
MTU manipulations on VE's devices
- removed mtu restore logic for moved devices
- added posibility to set mtu > 1500 for veth devices (#66836)
diff-ve-net-rtcache-20060719
Patch from Andrey Savochkin <saw@openvz.org>:
Fix of broken virtualization of /proc/net/rt_cache.
Bug #65528.
diff-ve-net-rtflush-20060719
Patch from Andrey Savochkin <saw@openvz.org>:
Fix for accidently broken /proc/sys/net/ipv4/route/flush.
Fixes permissions as well.
diff-ve-net-veth-sparse-20060916
Patch from Pavel Emelianov <xemul@openvz.org>:
[VETH] Add __user attribute to the 2nd copy_from_user()'s argument
Found by sparse.
diff-ve-nf-allocsize-20060727
Patch from Vasily Tarasov <vtaras@openvz.org>:
Since size can change in ipt_flush_table() xt_free_table_info() will fail to free memory then.
OpenVZ Bug #191.
Bug #65721.
Port on 2.6.16 by Xemul.
diff-ve-nf-compat-ppc64-20060831
Patch from Dmitry Mishin <dim@openvz.org>:
[PPC] enabled usage of ip_tables compat layer on ppc64
diff-ve-portrange-20060907
Patch from Denis Lunev <den@openvz.org>:
This patch virtualizes ip_local_port_range sysctl to allow specification of different port range for auto-binding inside VE.
diff-ve-sysfs-ptmxadd-20060907
Patch from Vasily Tarasov <vtaras@openvz.org>:
Add /sys/class/tty/ptmx device
It's necessary, 'cause otherwise udev doesn't create /dev/ptmx
Ported patch from Umka by Vasily.
diff-ve-sysfs-ptmx-fix-20060908
Patch from Pavel Emelianov <xemul@openvz.org>:
Add prototypes for init/fini_ve_tty_class() calls.
diff-ve-vecalls-sparse-20060915
Patch from Pavel Emelianov <xemul@openvz.org>:
Cleanups in vecalls.c and vzcalluser.h
- C99 syntax in structures init;
- __user attribute where appropriate;
- pass NULL as pointer arg, not 0.
Also define an empty __user macro for userspace in vzcalluser.h
Found by sparse.
diff-ve-venet-sparse-20060916
Patch from Pavel Emelianov <xemul@openvz.org>:
Small venet cleanups
- C99 syntax in structures declarations
- __user attribute
Found by sparse.
diff-ve-veowner-sparse-20060915
Patch from Pavel Emelianov <xemul@openvz.org>: Cleanups in veowner.c
- use C99 syntax in struct fields initialization;
- use NULL instead of 0 for pointer arg.
Found by sparse.
diff-ve-vpsdumpable-20060710
Patch from Denis Lunev <den@openvz.org>:
This patch fixes small potential information leak, i.e. here we should protect against core dump of VE0 process not inside VE, but against core dump of VE0 process inside VE filesystem. So, lets prevent coredump of such process at all.
diff-ve-vzwdog-fix-20060908
Patch from Vasily Averin <vvs@openvz.org>:
/proc/interrupt file should be closed if kernel_thread() fails
Bug #68096.
diff-ve-vzwdog-sparse-20060916
Patch from Pavel Emelianov <xemul@openvz.org>:
vfs_read() wants the 2nd argument to have __user attribute
Found by sparse.
diff-vzdq-fmt-quota-20060608
Patch from Vasily Tarasov <vtaras@openvz.org>:
[VZDQ] OOPS due to vzquota format operations are not implemented.
If usual quota is launched it uses usual vfs_quota_on which utilize format operations == NULL and it causes oops.
diff-vzdq-nougid-compile-20060917
Patch from Pavel Emelianov <xemul@openvz.org>:
[VZDQ] Compilation fix for CONFIG_VZ_QUOTA_UGID=n case
- ifdefs in a couple of places;
- moved some code out of compiled-out file;
- 'ifdef' instead of 'if defined'.
diff-vzdq-quotaoff-EIO-20060705
Patch from Vasily Tarasov <vtaras@openvz.org>:
Turns off quota in spite of errors while syncing inodes.
Bug #65186.
diff-vzdq-sparse-20060916
Patch from Pavel Emelianov <xemul@openvz.org>:
[VZDQ] Cleanups in vzquota code
- C99 syntax in structures initialization
- __user attribute where appropriate
Found by sparse.
diff-vzwdog-flat-mem-map-fix-20060828
Patch from Kir Kolyshkin <kir@openvz.org>:
Fixes vzwdog compilation in case CONFIG_FLAT_NODE_MEM_MAP is not set.
diff-vzwdog-irq-20060807
Patch from Andrey Savochkin <saw@openvz.org>:
Restore showing IRQ information in vzwdog.