summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch380
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>