|
@@ -22,6 +22,7 @@
|
|
|
#include <linux/nsproxy.h>
|
|
|
#include <linux/user_namespace.h>
|
|
|
#include <linux/refcount.h>
|
|
|
+#include <linux/kernel_stat.h>
|
|
|
|
|
|
#include <linux/cgroup-defs.h>
|
|
|
|
|
@@ -688,6 +689,43 @@ static inline void cgroup_path_from_kernfs_id(const union kernfs_node_id *id,
|
|
|
char *buf, size_t buflen) {}
|
|
|
#endif /* !CONFIG_CGROUPS */
|
|
|
|
|
|
+/*
|
|
|
+ * Basic resource stats.
|
|
|
+ */
|
|
|
+#ifdef CONFIG_CGROUPS
|
|
|
+
|
|
|
+#ifdef CONFIG_CGROUP_CPUACCT
|
|
|
+void cpuacct_charge(struct task_struct *tsk, u64 cputime);
|
|
|
+void cpuacct_account_field(struct task_struct *tsk, int index, u64 val);
|
|
|
+#else
|
|
|
+static inline void cpuacct_charge(struct task_struct *tsk, u64 cputime) {}
|
|
|
+static inline void cpuacct_account_field(struct task_struct *tsk, int index,
|
|
|
+ u64 val) {}
|
|
|
+#endif
|
|
|
+
|
|
|
+static inline void cgroup_account_cputime(struct task_struct *task,
|
|
|
+ u64 delta_exec)
|
|
|
+{
|
|
|
+ cpuacct_charge(task, delta_exec);
|
|
|
+}
|
|
|
+
|
|
|
+static inline void cgroup_account_cputime_field(struct task_struct *task,
|
|
|
+ enum cpu_usage_stat index,
|
|
|
+ u64 delta_exec)
|
|
|
+{
|
|
|
+ cpuacct_account_field(task, index, delta_exec);
|
|
|
+}
|
|
|
+
|
|
|
+#else /* CONFIG_CGROUPS */
|
|
|
+
|
|
|
+static inline void cgroup_account_cputime(struct task_struct *task,
|
|
|
+ u64 delta_exec) {}
|
|
|
+static inline void cgroup_account_cputime_field(struct task_struct *task,
|
|
|
+ enum cpu_usage_stat index,
|
|
|
+ u64 delta_exec) {}
|
|
|
+
|
|
|
+#endif /* CONFIG_CGROUPS */
|
|
|
+
|
|
|
/*
|
|
|
* sock->sk_cgrp_data handling. For more info, see sock_cgroup_data
|
|
|
* definition in cgroup-defs.h.
|