[GIT PULL] scheduler changes for v5.3

From: Ingo Molnar
Date: Mon Jul 08 2019 - 07:53:57 EST


Linus,

Please pull the latest sched-core-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-for-linus

# HEAD: af24bde8df2029f067dc46aff0393c8f18ff6e2f sched/uclamp: Add uclamp support to energy_compute()

The main changes in this cycle were:

- Remove the unused per rq load array and all its infrastructure,
by Dietmar Eggemann.

- Add utilization clamping support by Patrick Bellasi. This is a
refinement of the energy aware scheduling framework with support for
boosting of interactive and capping of background workloads: to make
sure critical GUI threads get maximum frequency ASAP, and to make sure
background processing doesn't unnecessarily move to cpufreq governor
to higher frequencies and less energy efficient CPU modes.

- Add the bare minimum of tracepoints required for LISA EAS regression
testing, by Qais Yousef - which allows automated testing of various
power management features, including energy aware scheduling.

- Restructure the former tsk_nr_cpus_allowed() facility that the -rt
kernel used to modify the scheduler's CPU affinity logic such as
migrate_disable() - introduce the task->cpus_ptr value instead of
taking the address of &task->cpus_allowed directly - by Sebastian
Andrzej Siewior.

- Misc optimizations, fixes, cleanups and small enhancements - see the
Git log for details.

Thanks,

Ingo

------------------>
Dietmar Eggemann (8):
sched/fair: Remove rq->load
sched/fair: Remove the rq->cpu_load[] update code
sched/fair: Replace source_load() & target_load() with weighted_cpuload()
sched/debug: Remove sd->*_idx range on sysctl
sched/core: Remove rq->cpu_load[]
sched/core: Remove sd->*_idx
sched/fair: Remove sgs->sum_weighted_load
sched/fair: Rename weighted_cpuload() to cpu_runnable_load()

Gao Xiang (1):
sched/core: Add __sched tag for io_schedule()

Patrick Bellasi (11):
sched/uclamp: Add CPU's clamp buckets refcounting
sched/uclamp: Add bucket local max tracking
sched/uclamp: Enforce last task's UCLAMP_MAX
sched/uclamp: Add system default clamps
sched/core: Allow sched_setattr() to use the current policy
sched/uclamp: Extend sched_setattr() to support utilization clamping
sched/uclamp: Reset uclamp values on RESET_ON_FORK
sched/uclamp: Set default clamps for RT tasks
sched/cpufreq, sched/uclamp: Add clamps for FAIR and RT tasks
sched/uclamp: Add uclamp_util_with()
sched/uclamp: Add uclamp support to energy_compute()

Pavel Begunkov (1):
sched/wait: Deduplicate code with do-while

Peter Zijlstra (1):
sched/core: Optimize try_to_wake_up() for local wakeups

Qais Yousef (6):
sched/autogroup: Make autogroup_path() always available
sched/debug: Add a new sched_trace_*() helper functions
sched/debug: Add new tracepoints to track PELT at rq level
sched/debug: Add new tracepoint to track PELT at se level
sched/debug: Add sched_overutilized tracepoint
sched/debug: Export the newly added tracepoints

Qian Cai (1):
sched/fair: Fix "runnable_avg_yN_inv" not used warnings

Sebastian Andrzej Siewior (1):
sched/core: Provide a pointer to the valid CPU mask

Valentin Schneider (1):
sched/fair: Clean up definition of NOHZ blocked load functions

Vincent Guittot (1):
sched/topology: Remove unused 'sd' parameter from arch_scale_cpu_capacity()

bsegall@xxxxxxxxxx (1):
sched/fair: Don't push cfs_bandwith slack timers forward


Documentation/scheduler/sched-pelt.c | 3 +-
arch/arm/kernel/topology.c | 2 +-
arch/ia64/kernel/mca.c | 2 +-
arch/mips/include/asm/switch_to.h | 4 +-
arch/mips/kernel/mips-mt-fpaff.c | 2 +-
arch/mips/kernel/traps.c | 6 +-
arch/powerpc/platforms/cell/spufs/sched.c | 2 +-
arch/x86/kernel/cpu/resctrl/pseudo_lock.c | 2 +-
drivers/base/arch_topology.c | 6 +-
drivers/infiniband/hw/hfi1/affinity.c | 6 +-
drivers/infiniband/hw/hfi1/sdma.c | 3 +-
drivers/infiniband/hw/qib/qib_file_ops.c | 7 +-
fs/proc/array.c | 4 +-
include/linux/arch_topology.h | 2 +-
include/linux/energy_model.h | 2 +-
include/linux/log2.h | 34 ++
include/linux/sched.h | 79 +++-
include/linux/sched/nohz.h | 8 -
include/linux/sched/sysctl.h | 11 +
include/linux/sched/topology.h | 25 +-
include/trace/events/sched.h | 31 ++
include/uapi/linux/sched.h | 14 +-
include/uapi/linux/sched/types.h | 66 ++-
init/Kconfig | 53 +++
init/init_task.c | 3 +-
kernel/cgroup/cpuset.c | 2 +-
kernel/fork.c | 2 +
kernel/power/energy_model.c | 2 +-
kernel/sched/autogroup.c | 2 -
kernel/sched/core.c | 533 ++++++++++++++++++++++--
kernel/sched/cpudeadline.c | 4 +-
kernel/sched/cpufreq_schedutil.c | 24 +-
kernel/sched/cpupri.c | 4 +-
kernel/sched/deadline.c | 8 +-
kernel/sched/debug.c | 43 +-
kernel/sched/fair.c | 623 ++++++++++-------------------
kernel/sched/features.h | 1 -
kernel/sched/pelt.c | 13 +-
kernel/sched/pelt.h | 2 +-
kernel/sched/rt.c | 8 +-
kernel/sched/sched-pelt.h | 2 +-
kernel/sched/sched.h | 134 +++++--
kernel/sched/topology.c | 18 +-
kernel/sched/wait.c | 8 +-
kernel/sysctl.c | 16 +
kernel/time/tick-sched.c | 2 -
kernel/trace/trace_hwlat.c | 2 +-
lib/smp_processor_id.c | 2 +-
samples/trace_events/trace-events-sample.c | 2 +-
49 files changed, 1216 insertions(+), 618 deletions(-)