Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


cgroupstats.h
01: /* cgroupstats.h - exporting per-cgroup statistics
02:  *
03:  * Copyright IBM Corporation, 2007
04:  * Author Balbir Singh <balbir@linux.vnet.ibm.com>
05:  *
06:  * This program is free software; you can redistribute it and/or modify it
07:  * under the terms of version 2.1 of the GNU Lesser General Public License
08:  * as published by the Free Software Foundation.
09:  *
10:  * This program is distributed in the hope that it would be useful, but
11:  * WITHOUT ANY WARRANTY; without even the implied warranty of
12:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13:  */
14: 
15: #ifndef _LINUX_CGROUPSTATS_H
16: #define _LINUX_CGROUPSTATS_H
17: 
18: #include <linux/types.h>
19: #include <linux/taskstats.h>
20: 
21: /*
22:  * Data shared between user space and kernel space on a per cgroup
23:  * basis. This data is shared using taskstats.
24:  *
25:  * Most of these states are derived by looking at the task->state value
26:  * For the nr_io_wait state, a flag in the delay accounting structure
27:  * indicates that the task is waiting on IO
28:  *
29:  * Each member is aligned to a 8 byte boundary.
30:  */
31: struct cgroupstats {
32:         __u64   nr_sleeping;            /* Number of tasks sleeping */
33:         __u64   nr_running;             /* Number of tasks running */
34:         __u64   nr_stopped;             /* Number of tasks in stopped state */
35:         __u64   nr_uninterruptible;     /* Number of tasks in uninterruptible */
36:                                         /* state */
37:         __u64   nr_io_wait;             /* Number of tasks waiting on IO */
38: };
39: 
40: /*
41:  * Commands sent from userspace
42:  * Not versioned. New commands should only be inserted at the enum's end
43:  * prior to __CGROUPSTATS_CMD_MAX
44:  */
45: 
46: enum {
47:         CGROUPSTATS_CMD_UNSPEC = __TASKSTATS_CMD_MAX,   /* Reserved */
48:         CGROUPSTATS_CMD_GET,            /* user->kernel request/get-response */
49:         CGROUPSTATS_CMD_NEW,            /* kernel->user event */
50:         __CGROUPSTATS_CMD_MAX,
51: };
52: 
53: #define CGROUPSTATS_CMD_MAX (__CGROUPSTATS_CMD_MAX - 1)
54: 
55: enum {
56:         CGROUPSTATS_TYPE_UNSPEC = 0,    /* Reserved */
57:         CGROUPSTATS_TYPE_CGROUP_STATS,  /* contains name + stats */
58:         __CGROUPSTATS_TYPE_MAX,
59: };
60: 
61: #define CGROUPSTATS_TYPE_MAX (__CGROUPSTATS_TYPE_MAX - 1)
62: 
63: enum {
64:         CGROUPSTATS_CMD_ATTR_UNSPEC = 0,
65:         CGROUPSTATS_CMD_ATTR_FD,
66:         __CGROUPSTATS_CMD_ATTR_MAX,
67: };
68: 
69: #define CGROUPSTATS_CMD_ATTR_MAX (__CGROUPSTATS_CMD_ATTR_MAX - 1)
70: 
71: #endif /* _LINUX_CGROUPSTATS_H */
72: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/