Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler updates from Ingo Molnar: "These were the main changes in this cycle: - More -rt motivated separation of CONFIG_PREEMPT and CONFIG_PREEMPTION. - Add more low level scheduling topology sanity checks and warnings to filter out nonsensical topologies that break scheduling. - Extend uclamp constraints to influence wakeup CPU placement - Make the RT scheduler more aware of asymmetric topologies and CPU capacities, via uclamp metrics, if CONFIG_UCLAMP_TASK=y - Make idle CPU selection more consistent - Various fixes, smaller cleanups, updates and enhancements - please see the git log for details" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (58 commits) sched/fair: Define sched_idle_cpu() only for SMP configurations sched/topology: Assert non-NUMA topology masks don't (partially) overlap idle: fix spelling mistake "iterrupts" -> "interrupts" sched/fair: Remove redundant call to cpufreq_update_util() sched/psi: create /proc/pressure and /proc/pressure/{io|memory|cpu} only when psi enabled sched/fair: Fix sgc->{min,max}_capacity calculation for SD_OVERLAP sched/fair: calculate delta runnable load only when it's needed sched/cputime: move rq parameter in irqtime_account_process_tick stop_machine: Make stop_cpus() static sched/debug: Reset watchdog on all CPUs while processing sysrq-t sched/core: Fix size of rq::uclamp initialization sched/uclamp: Fix a bug in propagating uclamp value in new cgroups sched/fair: Load balance aggressively for SCHED_IDLE CPUs sched/fair : Improve update_sd_pick_busiest for spare capacity case watchdog: Remove soft_lockup_hrtimer_cnt and related code sched/rt: Make RT capacity-aware sched/fair: Make EAS wakeup placement consider uclamp restrictions sched/fair: Make task_fits_capacity() consider uclamp restrictions sched/uclamp: Rename uclamp_util_with() into uclamp_rq_util_with() sched/uclamp: Make uclamp util helpers use and return UL values ...
This commit is contained in:
@@ -940,14 +940,14 @@ intr_restore:
|
||||
rfi
|
||||
nop
|
||||
|
||||
#ifndef CONFIG_PREEMPT
|
||||
#ifndef CONFIG_PREEMPTION
|
||||
# define intr_do_preempt intr_restore
|
||||
#endif /* !CONFIG_PREEMPT */
|
||||
#endif /* !CONFIG_PREEMPTION */
|
||||
|
||||
.import schedule,code
|
||||
intr_do_resched:
|
||||
/* Only call schedule on return to userspace. If we're returning
|
||||
* to kernel space, we may schedule if CONFIG_PREEMPT, otherwise
|
||||
* to kernel space, we may schedule if CONFIG_PREEMPTION, otherwise
|
||||
* we jump back to intr_restore.
|
||||
*/
|
||||
LDREG PT_IASQ0(%r16), %r20
|
||||
@@ -979,7 +979,7 @@ intr_do_resched:
|
||||
* and preempt_count is 0. otherwise, we continue on
|
||||
* our merry way back to the current running task.
|
||||
*/
|
||||
#ifdef CONFIG_PREEMPT
|
||||
#ifdef CONFIG_PREEMPTION
|
||||
.import preempt_schedule_irq,code
|
||||
intr_do_preempt:
|
||||
rsm PSW_SM_I, %r0 /* disable interrupts */
|
||||
@@ -999,7 +999,7 @@ intr_do_preempt:
|
||||
nop
|
||||
|
||||
b,n intr_restore /* ssm PSW_SM_I done by intr_restore */
|
||||
#endif /* CONFIG_PREEMPT */
|
||||
#endif /* CONFIG_PREEMPTION */
|
||||
|
||||
/*
|
||||
* External interrupts.
|
||||
|
Reference in New Issue
Block a user