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 |
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: