patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / kernel / vserver / cvirt.c
1 /*
2  *  linux/kernel/vserver/cvirt.c
3  *
4  *  Virtual Server: Context Virtualization
5  *
6  *  Copyright (C) 2004  Herbert Pƶtzl
7  *
8  *  V0.01  broken out from limit.c
9  *
10  */
11
12 #include <linux/config.h>
13 #include <linux/vserver/cvirt.h>
14 #include <linux/vserver/context.h>
15 #include <linux/vserver/switch.h>
16 #include <linux/vs_base.h>
17 #include <linux/vs_context.h>
18 #include <linux/vs_cvirt.h>
19
20 #include <asm/errno.h>
21 #include <asm/uaccess.h>
22
23
24 void vx_vsi_uptime(struct timespec *uptime, struct timespec *idle)
25 {
26         struct vx_info *vxi = current->vx_info;
27
28         set_normalized_timespec(uptime,
29                 uptime->tv_sec - vxi->cvirt.bias_tp.tv_sec,
30                 uptime->tv_nsec - vxi->cvirt.bias_tp.tv_nsec);
31         if (!idle)
32                 return;
33         set_normalized_timespec(idle,
34                 idle->tv_sec - vxi->cvirt.bias_idle.tv_sec,
35                 idle->tv_nsec - vxi->cvirt.bias_idle.tv_nsec);
36         return;
37 }
38
39 uint64_t vx_idle_jiffies()
40 {
41         return init_task.utime + init_task.stime;
42 }
43