Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched: Fix lockup by limiting load-balance retries on lock-break sched: Fix CONFIG_CGROUP_SCHED dependency sched: Remove empty #ifdefs
This commit is contained in:
@@ -713,7 +713,6 @@ config CGROUP_PERF
|
|||||||
|
|
||||||
menuconfig CGROUP_SCHED
|
menuconfig CGROUP_SCHED
|
||||||
bool "Group CPU scheduler"
|
bool "Group CPU scheduler"
|
||||||
depends on EXPERIMENTAL
|
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This feature lets CPU scheduler recognize task groups and control CPU
|
This feature lets CPU scheduler recognize task groups and control CPU
|
||||||
|
@@ -7134,10 +7134,6 @@ void set_curr_task(int cpu, struct task_struct *p)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_RT_GROUP_SCHED
|
|
||||||
#else /* !CONFIG_RT_GROUP_SCHED */
|
|
||||||
#endif /* CONFIG_RT_GROUP_SCHED */
|
|
||||||
|
|
||||||
#ifdef CONFIG_CGROUP_SCHED
|
#ifdef CONFIG_CGROUP_SCHED
|
||||||
/* task_group_lock serializes the addition/removal of task groups */
|
/* task_group_lock serializes the addition/removal of task groups */
|
||||||
static DEFINE_SPINLOCK(task_group_lock);
|
static DEFINE_SPINLOCK(task_group_lock);
|
||||||
@@ -7246,9 +7242,6 @@ void sched_move_task(struct task_struct *tsk)
|
|||||||
}
|
}
|
||||||
#endif /* CONFIG_CGROUP_SCHED */
|
#endif /* CONFIG_CGROUP_SCHED */
|
||||||
|
|
||||||
#ifdef CONFIG_FAIR_GROUP_SCHED
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(CONFIG_RT_GROUP_SCHED) || defined(CONFIG_CFS_BANDWIDTH)
|
#if defined(CONFIG_RT_GROUP_SCHED) || defined(CONFIG_CFS_BANDWIDTH)
|
||||||
static unsigned long to_ratio(u64 period, u64 runtime)
|
static unsigned long to_ratio(u64 period, u64 runtime)
|
||||||
{
|
{
|
||||||
|
@@ -3130,8 +3130,10 @@ task_hot(struct task_struct *p, u64 now, struct sched_domain *sd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define LBF_ALL_PINNED 0x01
|
#define LBF_ALL_PINNED 0x01
|
||||||
#define LBF_NEED_BREAK 0x02
|
#define LBF_NEED_BREAK 0x02 /* clears into HAD_BREAK */
|
||||||
#define LBF_ABORT 0x04
|
#define LBF_HAD_BREAK 0x04
|
||||||
|
#define LBF_HAD_BREAKS 0x0C /* count HAD_BREAKs overflows into ABORT */
|
||||||
|
#define LBF_ABORT 0x10
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* can_migrate_task - may task p from runqueue rq be migrated to this_cpu?
|
* can_migrate_task - may task p from runqueue rq be migrated to this_cpu?
|
||||||
@@ -4508,7 +4510,9 @@ redo:
|
|||||||
goto out_balanced;
|
goto out_balanced;
|
||||||
|
|
||||||
if (lb_flags & LBF_NEED_BREAK) {
|
if (lb_flags & LBF_NEED_BREAK) {
|
||||||
lb_flags &= ~LBF_NEED_BREAK;
|
lb_flags += LBF_HAD_BREAK - LBF_NEED_BREAK;
|
||||||
|
if (lb_flags & LBF_ABORT)
|
||||||
|
goto out_balanced;
|
||||||
goto redo;
|
goto redo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user