Blame view

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