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"
45 ,atomic_read(&cvirt->nr_threads)
46 ,atomic_read(&cvirt->nr_running)
47 ,atomic_read(&cvirt->nr_uninterruptible)
48 ,atomic_read(&cvirt->nr_onhold)
49 ,atomic_read(&cvirt->load_updates)
50 ,LOAD_INT(a), LOAD_FRAC(a)
51 ,LOAD_INT(b), LOAD_FRAC(b)
52 ,LOAD_INT(c), LOAD_FRAC(c)
53 ,atomic_read(&cvirt->total_forks)
59 static inline long vx_sock_count(struct _vx_cacct *cacct, int type, int pos)
61 return atomic_read(&cacct->sock[type][pos].count);
65 static inline long vx_sock_total(struct _vx_cacct *cacct, int type, int pos)
67 return atomic_read(&cacct->sock[type][pos].total);
70 static inline int vx_info_proc_cacct(struct _vx_cacct *cacct, char *buffer)
73 static char *type[] = { "UNSPEC", "UNIX", "INET", "INET6", "OTHER" };
76 length += sprintf(buffer + length,
79 length += sprintf(buffer + length,
81 ,vx_sock_count(cacct, i, j)
82 ,vx_sock_total(cacct, i, j)
85 buffer[length++] = '\n';
87 length += sprintf(buffer + length,
88 "forks:\t%lu\n", cacct->total_forks);
92 #endif /* _VX_CVIRT_PROC_H */