Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fix from Thomas Gleixner: "Handle the worker management in situations where a task is scheduled out on a PI lock contention correctly and schedule a new worker if possible" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/core: Schedule new worker even if PI-blocked
This commit is contained in:
@@ -3904,7 +3904,7 @@ void __noreturn do_task_dead(void)
|
|||||||
|
|
||||||
static inline void sched_submit_work(struct task_struct *tsk)
|
static inline void sched_submit_work(struct task_struct *tsk)
|
||||||
{
|
{
|
||||||
if (!tsk->state || tsk_is_pi_blocked(tsk))
|
if (!tsk->state)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -3920,6 +3920,9 @@ static inline void sched_submit_work(struct task_struct *tsk)
|
|||||||
preempt_enable_no_resched();
|
preempt_enable_no_resched();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tsk_is_pi_blocked(tsk))
|
||||||
|
return;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we are going to sleep and we have plugged IO queued,
|
* If we are going to sleep and we have plugged IO queued,
|
||||||
* make sure to submit it to avoid deadlocks.
|
* make sure to submit it to avoid deadlocks.
|
||||||
|
|||||||
Reference in New Issue
Block a user