fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / kernel / vserver / cvirt_init.h
1
2
3 extern uint64_t vx_idle_jiffies(void);
4
5 static inline void vx_info_init_cvirt(struct _vx_cvirt *cvirt)
6 {
7         uint64_t idle_jiffies = vx_idle_jiffies();
8         uint64_t nsuptime;
9
10         do_posix_clock_monotonic_gettime(&cvirt->bias_uptime);
11         nsuptime = (unsigned long long)cvirt->bias_uptime.tv_sec
12                 * NSEC_PER_SEC + cvirt->bias_uptime.tv_nsec;
13         cvirt->bias_clock = nsec_to_clock_t(nsuptime);
14         cvirt->bias_tv.tv_sec = 0;
15         cvirt->bias_tv.tv_usec = 0;
16
17         jiffies_to_timespec(idle_jiffies, &cvirt->bias_idle);
18         atomic_set(&cvirt->nr_threads, 0);
19         atomic_set(&cvirt->nr_running, 0);
20         atomic_set(&cvirt->nr_uninterruptible, 0);
21         atomic_set(&cvirt->nr_onhold, 0);
22
23         spin_lock_init(&cvirt->load_lock);
24         cvirt->load_last = jiffies;
25         atomic_set(&cvirt->load_updates, 0);
26         cvirt->load[0] = 0;
27         cvirt->load[1] = 0;
28         cvirt->load[2] = 0;
29         atomic_set(&cvirt->total_forks, 0);
30
31         spin_lock_init(&cvirt->syslog.logbuf_lock);
32         init_waitqueue_head(&cvirt->syslog.log_wait);
33         cvirt->syslog.log_start = 0;
34         cvirt->syslog.log_end = 0;
35         cvirt->syslog.con_start = 0;
36         cvirt->syslog.logged_chars = 0;
37 }
38
39 static inline
40 void vx_info_init_cvirt_pc(struct _vx_cvirt_pc *cvirt_pc, int cpu)
41 {
42         // cvirt_pc->cpustat = { 0 };
43 }
44
45 static inline void vx_info_exit_cvirt(struct _vx_cvirt *cvirt)
46 {
47         int value;
48
49         vxwprintk((value = atomic_read(&cvirt->nr_threads)),
50                 "!!! cvirt: %p[nr_threads] = %d on exit.",
51                 cvirt, value);
52         vxwprintk((value = atomic_read(&cvirt->nr_running)),
53                 "!!! cvirt: %p[nr_running] = %d on exit.",
54                 cvirt, value);
55         vxwprintk((value = atomic_read(&cvirt->nr_uninterruptible)),
56                 "!!! cvirt: %p[nr_uninterruptible] = %d on exit.",
57                 cvirt, value);
58         vxwprintk((value = atomic_read(&cvirt->nr_onhold)),
59                 "!!! cvirt: %p[nr_onhold] = %d on exit.",
60                 cvirt, value);
61         return;
62 }
63
64 static inline
65 void vx_info_exit_cvirt_pc(struct _vx_cvirt_pc *cvirt_pc, int cpu)
66 {
67         return;
68 }
69