diff options
Diffstat (limited to 'vserver-sources/old/2.1.1_rc27/4417_vs2.1.1-caact-clean01.patch')
-rw-r--r-- | vserver-sources/old/2.1.1_rc27/4417_vs2.1.1-caact-clean01.patch | 380 |
1 files changed, 380 insertions, 0 deletions
diff --git a/vserver-sources/old/2.1.1_rc27/4417_vs2.1.1-caact-clean01.patch b/vserver-sources/old/2.1.1_rc27/4417_vs2.1.1-caact-clean01.patch new file mode 100644 index 0000000..7253eca --- /dev/null +++ b/vserver-sources/old/2.1.1_rc27/4417_vs2.1.1-caact-clean01.patch @@ -0,0 +1,380 @@ +Index: linux-2.6.17/include/linux/vserver/cacct_cmd.h +=================================================================== +--- /dev/null ++++ linux-2.6.17/include/linux/vserver/cacct_cmd.h +@@ -0,0 +1,4 @@ ++#ifndef _VX_CACCT_CMD_H ++#define _VX_CACCT_CMD_H ++ ++#endif /* _VX_CACCT_CMD_H */ +Index: linux-2.6.17/include/linux/vserver/cacct_def.h +=================================================================== +--- /dev/null ++++ linux-2.6.17/include/linux/vserver/cacct_def.h +@@ -0,0 +1,42 @@ ++#ifndef _VX_CACCT_DEF_H ++#define _VX_CACCT_DEF_H ++ ++#include <asm/atomic.h> ++ ++ ++struct _vx_sock_acc { ++ atomic_t count; ++ atomic_t total; ++}; ++ ++/* context sub struct */ ++ ++struct _vx_cacct { ++ struct _vx_sock_acc sock[6][3]; ++ atomic_t slab[8]; ++ atomic_t page[6][8]; ++}; ++ ++#ifdef CONFIG_VSERVER_DEBUG ++ ++static inline void __dump_vx_cacct(struct _vx_cacct *cacct) ++{ ++ int i,j; ++ ++ printk("\t_vx_cacct:"); ++ for (i=0; i<6; i++) { ++ struct _vx_sock_acc *ptr = cacct->sock[i]; ++ ++ printk("\t [%d] =", i); ++ for (j=0; j<3; j++) { ++ printk(" [%d] = %8d, %8d", j, ++ atomic_read(&ptr[j].count), ++ atomic_read(&ptr[j].total)); ++ } ++ printk("\n"); ++ } ++} ++ ++#endif ++ ++#endif /* _VX_CACCT_DEF_H */ +Index: linux-2.6.17/include/linux/vserver/context.h +=================================================================== +--- linux-2.6.17.orig/include/linux/vserver/context.h ++++ linux-2.6.17/include/linux/vserver/context.h +@@ -100,6 +100,7 @@ enum { + #include "limit_def.h" + #include "sched_def.h" + #include "cvirt_def.h" ++#include "cacct_def.h" + + struct _vx_info_pc { + struct _vx_sched_pc sched_pc; +Index: linux-2.6.17/include/linux/vserver/cvirt_def.h +=================================================================== +--- linux-2.6.17.orig/include/linux/vserver/cvirt_def.h ++++ linux-2.6.17/include/linux/vserver/cvirt_def.h +@@ -81,40 +81,4 @@ static inline void __dump_vx_cvirt(struc + + #endif + +- +-struct _vx_sock_acc { +- atomic_t count; +- atomic_t total; +-}; +- +-/* context sub struct */ +- +-struct _vx_cacct { +- struct _vx_sock_acc sock[6][3]; +- atomic_t slab[8]; +- atomic_t page[6][8]; +-}; +- +-#ifdef CONFIG_VSERVER_DEBUG +- +-static inline void __dump_vx_cacct(struct _vx_cacct *cacct) +-{ +- int i,j; +- +- printk("\t_vx_cacct:"); +- for (i=0; i<6; i++) { +- struct _vx_sock_acc *ptr = cacct->sock[i]; +- +- printk("\t [%d] =", i); +- for (j=0; j<3; j++) { +- printk(" [%d] = %8d, %8d", j, +- atomic_read(&ptr[j].count), +- atomic_read(&ptr[j].total)); +- } +- printk("\n"); +- } +-} +- +-#endif +- + #endif /* _VX_CVIRT_DEF_H */ +Index: linux-2.6.17/kernel/vserver/cacct_init.h +=================================================================== +--- /dev/null ++++ linux-2.6.17/kernel/vserver/cacct_init.h +@@ -0,0 +1,25 @@ ++ ++ ++static inline void vx_info_init_cacct(struct _vx_cacct *cacct) ++{ ++ int i,j; ++ ++ ++ for (i=0; i<6; i++) { ++ for (j=0; j<3; j++) { ++ atomic_set(&cacct->sock[i][j].count, 0); ++ atomic_set(&cacct->sock[i][j].total, 0); ++ } ++ } ++ for (i=0; i<8; i++) ++ atomic_set(&cacct->slab[i], 0); ++ for (i=0; i<5; i++) ++ for (j=0; j<4; j++) ++ atomic_set(&cacct->page[i][j], 0); ++} ++ ++static inline void vx_info_exit_cacct(struct _vx_cacct *cacct) ++{ ++ return; ++} ++ +Index: linux-2.6.17/kernel/vserver/cacct_proc.h +=================================================================== +--- /dev/null ++++ linux-2.6.17/kernel/vserver/cacct_proc.h +@@ -0,0 +1,68 @@ ++#ifndef _VX_CACCT_PROC_H ++#define _VX_CACCT_PROC_H ++ ++ ++static inline long vx_sock_count(struct _vx_cacct *cacct, int type, int pos) ++{ ++ return atomic_read(&cacct->sock[type][pos].count); ++} ++ ++ ++static inline long vx_sock_total(struct _vx_cacct *cacct, int type, int pos) ++{ ++ return atomic_read(&cacct->sock[type][pos].total); ++} ++ ++ ++#define VX_SOCKA_TOP \ ++ "Type\t recv #/bytes\t\t send #/bytes\t\t fail #/bytes\n" ++ ++static inline int vx_info_proc_cacct(struct _vx_cacct *cacct, char *buffer) ++{ ++ int i,j, length = 0; ++ static char *type[] = { ++ "UNSPEC", "UNIX", "INET", "INET6", "PACKET", "OTHER" }; ++ ++ length += sprintf(buffer + length, VX_SOCKA_TOP); ++ for (i=0; i<6; i++) { ++ length += sprintf(buffer + length, ++ "%s:", type[i]); ++ for (j=0; j<3; j++) { ++ length += sprintf(buffer + length, ++ "\t%10lu/%-10lu" ++ ,vx_sock_count(cacct, i, j) ++ ,vx_sock_total(cacct, i, j) ++ ); ++ } ++ buffer[length++] = '\n'; ++ } ++ ++ length += sprintf(buffer + length, "\n"); ++ length += sprintf(buffer + length, ++ "slab:\t %8u %8u %8u %8u\n" ++ ,atomic_read(&cacct->slab[1]) ++ ,atomic_read(&cacct->slab[4]) ++ ,atomic_read(&cacct->slab[0]) ++ ,atomic_read(&cacct->slab[2]) ++ ); ++ ++ length += sprintf(buffer + length, "\n"); ++ for (i=0; i<5; i++) { ++ length += sprintf(buffer + length, ++ "page[%d]: %8u %8u %8u %8u\t %8u %8u %8u %8u\n" ++ ,i ++ ,atomic_read(&cacct->page[i][0]) ++ ,atomic_read(&cacct->page[i][1]) ++ ,atomic_read(&cacct->page[i][2]) ++ ,atomic_read(&cacct->page[i][3]) ++ ,atomic_read(&cacct->page[i][4]) ++ ,atomic_read(&cacct->page[i][5]) ++ ,atomic_read(&cacct->page[i][6]) ++ ,atomic_read(&cacct->page[i][7]) ++ ); ++ } ++ ++ return length; ++} ++ ++#endif /* _VX_CACCT_PROC_H */ +Index: linux-2.6.17/kernel/vserver/context.c +=================================================================== +--- linux-2.6.17.orig/kernel/vserver/context.c ++++ linux-2.6.17/kernel/vserver/context.c +@@ -41,6 +41,7 @@ + #include <asm/errno.h> + + #include "cvirt_init.h" ++#include "cacct_init.h" + #include "limit_init.h" + #include "sched_init.h" + +Index: linux-2.6.17/kernel/vserver/cvirt.c +=================================================================== +--- linux-2.6.17.orig/kernel/vserver/cvirt.c ++++ linux-2.6.17/kernel/vserver/cvirt.c +@@ -18,6 +18,7 @@ + #include <linux/vs_cvirt.h> + #include <linux/vserver/switch.h> + #include <linux/vserver/cvirt_cmd.h> ++#include <linux/vserver/cacct_cmd.h> + + #include <asm/errno.h> + #include <asm/uaccess.h> +Index: linux-2.6.17/kernel/vserver/cvirt_init.h +=================================================================== +--- linux-2.6.17.orig/kernel/vserver/cvirt_init.h ++++ linux-2.6.17/kernel/vserver/cvirt_init.h +@@ -73,27 +73,3 @@ void vx_info_exit_cvirt_pc(struct _vx_cv + return; + } + +- +-static inline void vx_info_init_cacct(struct _vx_cacct *cacct) +-{ +- int i,j; +- +- +- for (i=0; i<6; i++) { +- for (j=0; j<3; j++) { +- atomic_set(&cacct->sock[i][j].count, 0); +- atomic_set(&cacct->sock[i][j].total, 0); +- } +- } +- for (i=0; i<8; i++) +- atomic_set(&cacct->slab[i], 0); +- for (i=0; i<5; i++) +- for (j=0; j<4; j++) +- atomic_set(&cacct->page[i][j], 0); +-} +- +-static inline void vx_info_exit_cacct(struct _vx_cacct *cacct) +-{ +- return; +-} +- +Index: linux-2.6.17/kernel/vserver/cvirt_proc.h +=================================================================== +--- linux-2.6.17.orig/kernel/vserver/cvirt_proc.h ++++ linux-2.6.17/kernel/vserver/cvirt_proc.h +@@ -64,67 +64,4 @@ int vx_info_proc_cvirt_pc(struct _vx_cvi + return length; + } + +-static inline long vx_sock_count(struct _vx_cacct *cacct, int type, int pos) +-{ +- return atomic_read(&cacct->sock[type][pos].count); +-} +- +- +-static inline long vx_sock_total(struct _vx_cacct *cacct, int type, int pos) +-{ +- return atomic_read(&cacct->sock[type][pos].total); +-} +- +- +-#define VX_SOCKA_TOP \ +- "Type\t recv #/bytes\t\t send #/bytes\t\t fail #/bytes\n" +- +-static inline int vx_info_proc_cacct(struct _vx_cacct *cacct, char *buffer) +-{ +- int i,j, length = 0; +- static char *type[] = { +- "UNSPEC", "UNIX", "INET", "INET6", "PACKET", "OTHER" }; +- +- length += sprintf(buffer + length, VX_SOCKA_TOP); +- for (i=0; i<6; i++) { +- length += sprintf(buffer + length, +- "%s:", type[i]); +- for (j=0; j<3; j++) { +- length += sprintf(buffer + length, +- "\t%10lu/%-10lu" +- ,vx_sock_count(cacct, i, j) +- ,vx_sock_total(cacct, i, j) +- ); +- } +- buffer[length++] = '\n'; +- } +- +- length += sprintf(buffer + length, "\n"); +- length += sprintf(buffer + length, +- "slab:\t %8u %8u %8u %8u\n" +- ,atomic_read(&cacct->slab[1]) +- ,atomic_read(&cacct->slab[4]) +- ,atomic_read(&cacct->slab[0]) +- ,atomic_read(&cacct->slab[2]) +- ); +- +- length += sprintf(buffer + length, "\n"); +- for (i=0; i<5; i++) { +- length += sprintf(buffer + length, +- "page[%d]: %8u %8u %8u %8u\t %8u %8u %8u %8u\n" +- ,i +- ,atomic_read(&cacct->page[i][0]) +- ,atomic_read(&cacct->page[i][1]) +- ,atomic_read(&cacct->page[i][2]) +- ,atomic_read(&cacct->page[i][3]) +- ,atomic_read(&cacct->page[i][4]) +- ,atomic_read(&cacct->page[i][5]) +- ,atomic_read(&cacct->page[i][6]) +- ,atomic_read(&cacct->page[i][7]) +- ); +- } +- +- return length; +-} +- + #endif /* _VX_CVIRT_PROC_H */ +Index: linux-2.6.17/kernel/vserver/debug.c +=================================================================== +--- linux-2.6.17.orig/kernel/vserver/debug.c ++++ linux-2.6.17/kernel/vserver/debug.c +@@ -12,6 +12,7 @@ + #include <linux/module.h> + + #include <linux/vserver/cvirt_def.h> ++#include <linux/vserver/cacct_def.h> + #include <linux/vserver/limit_def.h> + #include <linux/vserver/sched_def.h> + +Index: linux-2.6.17/kernel/vserver/proc.c +=================================================================== +--- linux-2.6.17.orig/kernel/vserver/proc.c ++++ linux-2.6.17/kernel/vserver/proc.c +@@ -29,6 +29,7 @@ + #include <asm/unistd.h> + + #include "cvirt_proc.h" ++#include "cacct_proc.h" + #include "limit_proc.h" + #include "sched_proc.h" + #include "vci_config.h" +Index: linux-2.6.17/kernel/vserver/switch.c +=================================================================== +--- linux-2.6.17.orig/kernel/vserver/switch.c ++++ linux-2.6.17/kernel/vserver/switch.c +@@ -45,6 +45,7 @@ int vc_get_vci(uint32_t id) + + #include <linux/vserver/context_cmd.h> + #include <linux/vserver/cvirt_cmd.h> ++#include <linux/vserver/cacct_cmd.h> + #include <linux/vserver/limit_cmd.h> + #include <linux/vserver/network_cmd.h> + #include <linux/vserver/sched_cmd.h> |