This source file includes following definitions.
- sys_sysinfo
1
2
3
4
5
6
7
8
9 #include <asm/segment.h>
10
11 #include <linux/sched.h>
12 #include <linux/string.h>
13 #include <linux/unistd.h>
14 #include <linux/types.h>
15 #include <linux/mm.h>
16
17 int sys_sysinfo(struct sysinfo *info)
18 {
19 struct sysinfo val;
20 struct task_struct **p;
21
22 verify_area(info, sizeof(struct sysinfo));
23 memset((char *)&val, 0, sizeof(struct sysinfo));
24
25 val.uptime = (jiffies + jiffies_offset) / HZ;
26
27 val.loads[0] = avenrun[0] << (SI_LOAD_SHIFT - FSHIFT);
28 val.loads[1] = avenrun[1] << (SI_LOAD_SHIFT - FSHIFT);
29 val.loads[2] = avenrun[2] << (SI_LOAD_SHIFT - FSHIFT);
30
31 for (p = &LAST_TASK; p > &FIRST_TASK; p--)
32 if (*p) val.procs++;
33
34 si_meminfo(&val);
35 si_swapinfo(&val);
36
37 memcpy_tofs(info, &val, sizeof(struct sysinfo));
38 return 0;
39 }