diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/include/linux/vserver/cacct_cmd.h linux-2.6.17.7-vs2.1.1-rc27.7/include/linux/vserver/cacct_cmd.h --- linux-2.6.17.7-vs2.1.1-rc27.6/include/linux/vserver/cacct_cmd.h 1970-01-01 01:00:00 +0100 +++ linux-2.6.17.7-vs2.1.1-rc27.7/include/linux/vserver/cacct_cmd.h 2006-07-30 17:03:00 +0200 @@ -0,0 +1,4 @@ +#ifndef _VX_CACCT_CMD_H +#define _VX_CACCT_CMD_H + +#endif /* _VX_CACCT_CMD_H */ diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/include/linux/vserver/cacct_def.h linux-2.6.17.7-vs2.1.1-rc27.7/include/linux/vserver/cacct_def.h --- linux-2.6.17.7-vs2.1.1-rc27.6/include/linux/vserver/cacct_def.h 1970-01-01 01:00:00 +0100 +++ linux-2.6.17.7-vs2.1.1-rc27.7/include/linux/vserver/cacct_def.h 2006-07-30 16:49:23 +0200 @@ -0,0 +1,42 @@ +#ifndef _VX_CACCT_DEF_H +#define _VX_CACCT_DEF_H + +#include + + +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 */ diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/include/linux/vserver/context.h linux-2.6.17.7-vs2.1.1-rc27.7/include/linux/vserver/context.h --- linux-2.6.17.7-vs2.1.1-rc27.6/include/linux/vserver/context.h 2006-07-30 03:19:01 +0200 +++ linux-2.6.17.7-vs2.1.1-rc27.7/include/linux/vserver/context.h 2006-07-30 16:50:15 +0200 @@ -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; diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/include/linux/vserver/cvirt_def.h linux-2.6.17.7-vs2.1.1-rc27.7/include/linux/vserver/cvirt_def.h --- linux-2.6.17.7-vs2.1.1-rc27.6/include/linux/vserver/cvirt_def.h 2006-07-09 23:05:48 +0200 +++ linux-2.6.17.7-vs2.1.1-rc27.7/include/linux/vserver/cvirt_def.h 2006-07-30 16:48:35 +0200 @@ -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 */ diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/cacct_init.h linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/cacct_init.h --- linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/cacct_init.h 1970-01-01 01:00:00 +0100 +++ linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/cacct_init.h 2006-07-30 16:52:43 +0200 @@ -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; +} + diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/cacct_proc.h linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/cacct_proc.h --- linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/cacct_proc.h 1970-01-01 01:00:00 +0100 +++ linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/cacct_proc.h 2006-07-30 17:01:23 +0200 @@ -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 */ diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/context.c linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/context.c --- linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/context.c 2006-07-30 03:14:46 +0200 +++ linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/context.c 2006-07-30 16:51:25 +0200 @@ -41,6 +41,7 @@ #include #include "cvirt_init.h" +#include "cacct_init.h" #include "limit_init.h" #include "sched_init.h" diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/cvirt.c linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/cvirt.c --- linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/cvirt.c 2006-07-27 19:45:26 +0200 +++ linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/cvirt.c 2006-07-30 16:50:56 +0200 @@ -18,6 +18,7 @@ #include #include #include +#include #include #include diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/cvirt_init.h linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/cvirt_init.h --- linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/cvirt_init.h 2006-07-09 23:06:16 +0200 +++ linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/cvirt_init.h 2006-07-30 16:52:39 +0200 @@ -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; -} - diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/cvirt_proc.h linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/cvirt_proc.h --- linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/cvirt_proc.h 2006-07-10 01:53:57 +0200 +++ linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/cvirt_proc.h 2006-07-30 17:01:29 +0200 @@ -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 */ diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/debug.c linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/debug.c --- linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/debug.c 2006-07-09 17:07:14 +0200 +++ linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/debug.c 2006-07-30 16:50:27 +0200 @@ -12,6 +12,7 @@ #include #include +#include #include #include diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/proc.c linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/proc.c --- linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/proc.c 2006-07-09 17:07:14 +0200 +++ linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/proc.c 2006-07-30 17:07:36 +0200 @@ -29,6 +29,7 @@ #include #include "cvirt_proc.h" +#include "cacct_proc.h" #include "limit_proc.h" #include "sched_proc.h" #include "vci_config.h" diff -NurpP --minimal linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/switch.c linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/switch.c --- linux-2.6.17.7-vs2.1.1-rc27.6/kernel/vserver/switch.c 2006-07-30 03:19:49 +0200 +++ linux-2.6.17.7-vs2.1.1-rc27.7/kernel/vserver/switch.c 2006-07-30 16:51:10 +0200 @@ -45,6 +45,7 @@ int vc_get_vci(uint32_t id) #include #include +#include #include #include #include