Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c415b92 authored by Arun R Bharadwaj's avatar Arun R Bharadwaj Committed by Ingo Molnar
Browse files

sched: add uid information to sched_debug for CONFIG_USER_SCHED



Impact: extend information in /proc/sched_debug

This patch adds uid information in sched_debug for CONFIG_USER_SCHED

Signed-off-by: default avatarArun R Bharadwaj <arun@linux.vnet.ibm.com>
Acked-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 70574a99
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2218,6 +2218,7 @@ extern void normalize_rt_tasks(void);
extern struct task_group init_task_group;
#ifdef CONFIG_USER_SCHED
extern struct task_group root_task_group;
extern void set_tg_uid(struct user_struct *user);
#endif

extern struct task_group *sched_create_group(struct task_group *parent);
+10 −0
Original line number Diff line number Diff line
@@ -261,6 +261,10 @@ struct task_group {
	struct cgroup_subsys_state css;
#endif

#ifdef CONFIG_USER_SCHED
	uid_t uid;
#endif

#ifdef CONFIG_FAIR_GROUP_SCHED
	/* schedulable entities of this group on each cpu */
	struct sched_entity **se;
@@ -286,6 +290,12 @@ struct task_group {

#ifdef CONFIG_USER_SCHED

/* Helper function to pass uid information to create_sched_user() */
void set_tg_uid(struct user_struct *user)
{
	user->tg->uid = user->uid;
}

/*
 * Root task group.
 * 	Every UID task group (including init_task_group aka UID-0) will
+5 −1
Original line number Diff line number Diff line
@@ -160,10 +160,14 @@ void print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq)
	cgroup_path(tg->css.cgroup, path, sizeof(path));

	SEQ_printf(m, "\ncfs_rq[%d]:%s\n", cpu, path);
#elif defined(CONFIG_USER_SCHED) && defined(CONFIG_FAIR_GROUP_SCHED)
	{
		uid_t uid = cfs_rq->tg->uid;
		SEQ_printf(m, "\ncfs_rq[%d] for UID: %u\n", cpu, uid);
	}
#else
	SEQ_printf(m, "\ncfs_rq[%d]:\n", cpu);
#endif

	SEQ_printf(m, "  .%-30s: %Ld.%06ld\n", "exec_clock",
			SPLIT_NS(cfs_rq->exec_clock));

+2 −0
Original line number Diff line number Diff line
@@ -101,6 +101,8 @@ static int sched_create_user(struct user_struct *up)
	if (IS_ERR(up->tg))
		rc = -ENOMEM;

	set_tg_uid(up);

	return rc;
}