|
@@ -404,6 +404,37 @@ static const struct file_operations proc_lstats_operations = {
|
|
|
|
|
|
#endif
|
|
|
|
|
|
+#ifdef CONFIG_CGROUPS
|
|
|
+static int cgroup_open(struct inode *inode, struct file *file)
|
|
|
+{
|
|
|
+ struct pid *pid = PROC_I(inode)->pid;
|
|
|
+ return single_open(file, proc_cgroup_show, pid);
|
|
|
+}
|
|
|
+
|
|
|
+static const struct file_operations proc_cgroup_operations = {
|
|
|
+ .open = cgroup_open,
|
|
|
+ .read = seq_read,
|
|
|
+ .llseek = seq_lseek,
|
|
|
+ .release = single_release,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
+#ifdef CONFIG_PROC_PID_CPUSET
|
|
|
+
|
|
|
+static int cpuset_open(struct inode *inode, struct file *file)
|
|
|
+{
|
|
|
+ struct pid *pid = PROC_I(inode)->pid;
|
|
|
+ return single_open(file, proc_cpuset_show, pid);
|
|
|
+}
|
|
|
+
|
|
|
+static const struct file_operations proc_cpuset_operations = {
|
|
|
+ .open = cpuset_open,
|
|
|
+ .read = seq_read,
|
|
|
+ .llseek = seq_lseek,
|
|
|
+ .release = single_release,
|
|
|
+};
|
|
|
+#endif
|
|
|
+
|
|
|
static int proc_oom_score(struct task_struct *task, char *buffer)
|
|
|
{
|
|
|
unsigned long totalpages = totalram_pages + total_swap_pages;
|