File tree Expand file tree Collapse file tree 1 file changed +11
-10
lines changed Expand file tree Collapse file tree 1 file changed +11
-10
lines changed Original file line number Diff line number Diff line change @@ -6770,16 +6770,21 @@ static void sched_update_worker(struct task_struct *tsk)
6770
6770
}
6771
6771
}
6772
6772
6773
- asmlinkage __visible void __sched schedule ( void )
6773
+ static __always_inline void __schedule_loop ( unsigned int sched_mode )
6774
6774
{
6775
- struct task_struct * tsk = current ;
6776
-
6777
- sched_submit_work (tsk );
6778
6775
do {
6779
6776
preempt_disable ();
6780
- __schedule (SM_NONE );
6777
+ __schedule (sched_mode );
6781
6778
sched_preempt_enable_no_resched ();
6782
6779
} while (need_resched ());
6780
+ }
6781
+
6782
+ asmlinkage __visible void __sched schedule (void )
6783
+ {
6784
+ struct task_struct * tsk = current ;
6785
+
6786
+ sched_submit_work (tsk );
6787
+ __schedule_loop (SM_NONE );
6783
6788
sched_update_worker (tsk );
6784
6789
}
6785
6790
EXPORT_SYMBOL (schedule );
@@ -6843,11 +6848,7 @@ void __sched schedule_preempt_disabled(void)
6843
6848
#ifdef CONFIG_PREEMPT_RT
6844
6849
void __sched notrace schedule_rtlock (void )
6845
6850
{
6846
- do {
6847
- preempt_disable ();
6848
- __schedule (SM_RTLOCK_WAIT );
6849
- sched_preempt_enable_no_resched ();
6850
- } while (need_resched ());
6851
+ __schedule_loop (SM_RTLOCK_WAIT );
6851
6852
}
6852
6853
NOKPROBE_SYMBOL (schedule_rtlock );
6853
6854
#endif
You can’t perform that action at this time.
0 commit comments