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

Commit c100548d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'sched-fixes-for-linus' of...

Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  sched: scale sysctl_sched_shares_ratelimit with nr_cpus
  sched: fix rt-bandwidth hotplug race
  sched: fix the race between walk_tg_tree and sched_create_group
parents 0473b799 55cd5340
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -808,9 +808,9 @@ const_debug unsigned int sysctl_sched_nr_migrate = 32;

/*
 * ratelimit for updating the group shares.
 * default: 0.5ms
 * default: 0.25ms
 */
const_debug unsigned int sysctl_sched_shares_ratelimit = 500000;
unsigned int sysctl_sched_shares_ratelimit = 250000;

/*
 * period over which we measure -rt task cpu usage in us.
@@ -5786,6 +5786,8 @@ static inline void sched_init_granularity(void)
		sysctl_sched_latency = limit;

	sysctl_sched_wakeup_granularity *= factor;

	sysctl_sched_shares_ratelimit *= factor;
}

#ifdef CONFIG_SMP
@@ -8508,8 +8510,8 @@ struct task_group *sched_create_group(struct task_group *parent)
	WARN_ON(!parent); /* root should already exist */

	tg->parent = parent;
	list_add_rcu(&tg->siblings, &parent->children);
	INIT_LIST_HEAD(&tg->children);
	list_add_rcu(&tg->siblings, &parent->children);
	spin_unlock_irqrestore(&task_group_lock, flags);

	return tg;
+1 −1
Original line number Diff line number Diff line
@@ -298,7 +298,7 @@ static void __disable_runtime(struct rq *rq)
			struct rt_rq *iter = sched_rt_period_rt_rq(rt_b, i);
			s64 diff;

			if (iter == rt_rq)
			if (iter == rt_rq || iter->rt_runtime == RUNTIME_INF)
				continue;

			spin_lock(&iter->rt_runtime_lock);