1 #ifndef _VX_CVIRT_PROC_H
2 #define _VX_CVIRT_PROC_H
4 #include <linux/sched.h>
7 #define LOAD_INT(x) ((x) >> FSHIFT)
8 #define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100)
10 static inline int vx_info_proc_cvirt(struct _vx_cvirt *cvirt, char *buffer)
15 length += sprintf(buffer + length,
16 "BiasUptime:\t%lu.%02lu\n",
17 (unsigned long)cvirt->bias_uptime.tv_sec,
18 (cvirt->bias_uptime.tv_nsec / (NSEC_PER_SEC / 100)));
19 length += sprintf(buffer + length,
26 ,__NEW_UTS_LEN, cvirt->utsname.sysname
27 ,__NEW_UTS_LEN, cvirt->utsname.nodename
28 ,__NEW_UTS_LEN, cvirt->utsname.release
29 ,__NEW_UTS_LEN, cvirt->utsname.version
30 ,__NEW_UTS_LEN, cvirt->utsname.machine
31 ,__NEW_UTS_LEN, cvirt->utsname.domainname
34 a = cvirt->load[0] + (FIXED_1/200);
35 b = cvirt->load[1] + (FIXED_1/200);
36 c = cvirt->load[2] + (FIXED_1/200);
37 length += sprintf(buffer + length,
43 "loadavg:\t%d.%02d %d.%02d %d.%02d\n"
44 ,atomic_read(&cvirt->nr_threads)
45 ,atomic_read(&cvirt->nr_running)
46 ,atomic_read(&cvirt->nr_uninterruptible)
47 ,atomic_read(&cvirt->nr_onhold)
48 ,atomic_read(&cvirt->load_updates)
49 ,LOAD_INT(a), LOAD_FRAC(a)
50 ,LOAD_INT(b), LOAD_FRAC(b)
51 ,LOAD_INT(c), LOAD_FRAC(c)
57 static inline long vx_sock_count(struct _vx_cacct *cacct, int type, int pos)
59 return atomic_read(&cacct->sock[type][pos].count);
63 static inline long vx_sock_total(struct _vx_cacct *cacct, int type, int pos)
65 return atomic_read(&cacct->sock[type][pos].total);
68 static inline int vx_info_proc_cacct(struct _vx_cacct *cacct, char *buffer)
71 static char *type[] = { "UNSPEC", "UNIX", "INET", "INET6", "OTHER" };
74 length += sprintf(buffer + length,
77 length += sprintf(buffer + length,
79 ,vx_sock_count(cacct, i, j)
80 ,vx_sock_total(cacct, i, j)
83 buffer[length++] = '\n';
85 length += sprintf(buffer + length,
86 "forks:\t%lu\n", cacct->total_forks);
90 #endif /* _VX_CVIRT_PROC_H */