All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Juri Lelli <juri.lelli@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Dietmar Eggemann <dietmar.eggemann@arm.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
	Daniel Bristot de Oliveira <bristot@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Borislav Petkov <bp@alien8.de>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: [GIT PULL] scheduler updates for v5.18
Date: Mon, 21 Mar 2022 11:54:09 +0100	[thread overview]
Message-ID: <YjhZUezhnamHAl0H@gmail.com> (raw)


Linus,

Please pull the latest sched/core git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-2022-03-21

   # HEAD: 3387ce4d8a5f2956fab827edf499fe6780e83faa headers/prep: Fix header to build standalone: <linux/psi.h>

Changes in this cycle were:

 - Cleanups for SCHED_DEADLINE
 - Tracing updates/fixes
 - CPU Accounting fixes
 - First wave of changes to optimize the overhead of the scheduler build,
   from the fast-headers tree - including placeholder *_api.h headers for
   later header split-ups.
 - Preempt-dynamic using static_branch() for ARM64
 - Isolation housekeeping mask rework; preperatory for further changes
 - NUMA-balancing: deal with CPU-less nodes
 - NUMA-balancing: tune systems that have multiple LLC cache domains per node (eg. AMD)
 - Updates to RSEQ UAPI in preparation for glibc usage
 - Lots of RSEQ/selftests, for same
 - Add Suren as PSI co-maintainer

 Thanks,

	Ingo

------------------>
Bharata B Rao (1):
      sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa

Chengming Zhou (4):
      sched/cpuacct: Fix charge percpu cpuusage
      sched/cpuacct: Optimize away RCU read lock
      sched/cpuacct: Remove redundant RCU read lock
      cgroup: Fix suspicious rcu_dereference_check() usage warning

Dietmar Eggemann (6):
      sched/deadline: Remove unused def_dl_bandwidth
      sched/deadline: Move bandwidth mgmt and reclaim functions into sched class source file
      sched/deadline: Merge dl_task_can_attach() and dl_cpu_busy()
      sched/deadline: Use __node_2_[pdl|dle]() and rb_first_cached() consistently
      sched/deadline,rt: Remove unused functions for !CONFIG_SMP
      sched/deadline,rt: Remove unused parameter from pick_next_[rt|dl]_entity()

Frederic Weisbecker (9):
      pci: Decouple HK_FLAG_WQ and HK_FLAG_DOMAIN cpumask fetch
      workqueue: Decouple HK_FLAG_WQ and HK_FLAG_DOMAIN cpumask fetch
      net: Decouple HK_FLAG_WQ and HK_FLAG_DOMAIN cpumask fetch
      sched/isolation: Use single feature type while referring to housekeeping cpumask
      sched/isolation: Consolidate check for housekeeping minimum service
      sched/isolation: Consolidate error handling
      sched/isolation: Fix housekeeping_mask memory leak
      sched/isolation: Split housekeeping cpumask per isolation features
      sched/preempt: Tell about PREEMPT_DYNAMIC on kernel headers

Honglei Wang (1):
      sched/numa: initialize numa statistics when forking new task

Huang Ying (3):
      sched/numa-balancing: Move some document to make it consistent with the code
      sched/numa: Fix NUMA topology for systems with CPU-less nodes
      sched/numa: Avoid migrating task to CPU-less node

Ingo Molnar (17):
      sched/headers: Fix header to build standalone: <linux/sched_clock.h>
      sched/headers: Add header guard to kernel/sched/sched.h
      sched/headers: Add header guard to kernel/sched/stats.h and kernel/sched/autogroup.h
      sched/headers: sched/clock: Mark all functions 'notrace', remove CC_FLAGS_FTRACE build asymmetry
      sched/headers: Add initial new headers as identity mappings
      sched/headers: Fix comment typo in kernel/sched/cpudeadline.c
      sched/headers: Make the <linux/sched/deadline.h> header build standalone
      sched/headers: Introduce kernel/sched/build_utility.c and build multiple .c files there
      sched/headers: Introduce kernel/sched/build_policy.c and build multiple .c files there
      sched/headers: Standardize kernel/sched/sched.h header dependencies
      sched/headers: Reorganize, clean up and optimize kernel/sched/core.c dependencies
      sched/headers: Reorganize, clean up and optimize kernel/sched/fair.c dependencies
      sched/headers: Reorganize, clean up and optimize kernel/sched/build_policy.c dependencies
      sched/headers: Reorganize, clean up and optimize kernel/sched/build_utility.c dependencies
      sched/headers: Reorganize, clean up and optimize kernel/sched/sched.h dependencies
      sched/headers: Only include <linux/entry-common.h> when CONFIG_GENERIC_ENTRY=y
      headers/prep: Fix header to build standalone: <linux/psi.h>

Johannes Weiner (1):
      MAINTAINERS: add Suren as psi co-maintainer

K Prateek Nayak (1):
      sched/topology: Remove redundant variable and fix incorrect type in build_sched_domains

Mark Rutland (7):
      sched/preempt: Move PREEMPT_DYNAMIC logic later
      sched/preempt: Refactor sched_dynamic_update()
      sched/preempt: Simplify irqentry_exit_cond_resched() callers
      sched/preempt: Decouple HAVE_PREEMPT_DYNAMIC from GENERIC_ENTRY
      sched/preempt: Add PREEMPT_DYNAMIC using static keys
      arm64: entry: Centralize preemption decision
      arm64: Support PREEMPT_DYNAMIC

Mathieu Desnoyers (16):
      selftests/rseq: introduce own copy of rseq uapi header
      rseq: Remove broken uapi field layout on 32-bit little endian
      selftests/rseq: Remove useless assignment to cpu variable
      selftests/rseq: Remove volatile from __rseq_abi
      selftests/rseq: Introduce rseq_get_abi() helper
      selftests/rseq: Introduce thread pointer getters
      selftests/rseq: Uplift rseq selftests for compatibility with glibc-2.35
      selftests/rseq: Fix ppc32: wrong rseq_cs 32-bit field pointer on big endian
      selftests/rseq: Fix ppc32 missing instruction selection "u" and "x" for load/store
      selftests/rseq: Fix ppc32 offsets by using long rather than off_t
      selftests/rseq: Fix warnings about #if checks of undefined tokens
      selftests/rseq: Remove arm/mips asm goto compiler work-around
      selftests/rseq: Fix: work-around asm goto compiler bugs
      selftests/rseq: x86-64: use %fs segment selector for accessing rseq thread area
      selftests/rseq: x86-32: use %gs segment selector for accessing rseq thread area
      selftests/rseq: Change type of rseq_offset to ptrdiff_t

Mel Gorman (2):
      sched/fair: Improve consistency of allowed NUMA balance calculations
      sched/fair: Adjust the allowed NUMA imbalance when SD_NUMA spans multiple LLCs

Qais Yousef (3):
      sched/core: Export pelt_thermal_tp
      sched/sugov: Ignore 'busy' filter when rq is capped by uclamp_max
      sched/uclamp: Fix iowait boost escaping uclamp restriction

Suren Baghdasaryan (2):
      psi: Fix "defined but not used" warnings when CONFIG_PROC_FS=n
      psi: Fix "no previous prototype" warnings when CONFIG_CGROUPS=n

Valentin Schneider (3):
      sched/rt: Plug rt_mutex_setprio() vs push_rt_task() race
      sched/tracing: Don't re-read p->state when emitting sched_switch event
      sched/tracing: Report TASK_RTLOCK_WAIT tasks as TASK_UNINTERRUPTIBLE

Yury Norov (1):
      sched: replace cpumask_weight with cpumask_empty where appropriate

Zhaoyang Huang (1):
      psi: fix possible trigger missing in the window

Zhen Ni (1):
      sched: move autogroup sysctls into its own file


 Documentation/admin-guide/sysctl/kernel.rst        |  46 +-
 Documentation/scheduler/index.rst                  |   1 +
 Documentation/scheduler/sched-debug.rst            |  54 +++
 MAINTAINERS                                        |   1 +
 arch/Kconfig                                       |  37 +-
 arch/arm64/Kconfig                                 |   1 +
 arch/arm64/include/asm/paravirt_api_clock.h        |   1 +
 arch/arm64/include/asm/preempt.h                   |  19 +-
 arch/arm64/kernel/entry-common.c                   |  28 +-
 arch/x86/Kconfig                                   |   2 +-
 arch/x86/include/asm/paravirt_api_clock.h          |   1 +
 arch/x86/include/asm/preempt.h                     |  10 +-
 arch/x86/kernel/cpu/aperfmperf.c                   |   6 +-
 arch/x86/kvm/x86.c                                 |   2 +-
 drivers/base/cpu.c                                 |   2 +-
 drivers/pci/pci-driver.c                           |  21 +-
 include/linux/cgroup.h                             |   5 +-
 include/linux/cgroup_api.h                         |   1 +
 include/linux/cpumask_api.h                        |   1 +
 include/linux/entry-common.h                       |  15 +-
 include/linux/fs_api.h                             |   1 +
 include/linux/gfp_api.h                            |   1 +
 include/linux/hashtable_api.h                      |   1 +
 include/linux/hrtimer_api.h                        |   1 +
 include/linux/kernel.h                             |   7 +-
 include/linux/kobject_api.h                        |   1 +
 include/linux/kref_api.h                           |   1 +
 include/linux/ktime_api.h                          |   1 +
 include/linux/llist_api.h                          |   1 +
 include/linux/lockdep_api.h                        |   1 +
 include/linux/mm_api.h                             |   1 +
 include/linux/mutex_api.h                          |   1 +
 include/linux/perf_event_api.h                     |   1 +
 include/linux/pgtable_api.h                        |   1 +
 include/linux/psi.h                                |   1 +
 include/linux/psi_types.h                          |   3 +
 include/linux/ptrace_api.h                         |   1 +
 include/linux/rcuwait_api.h                        |   1 +
 include/linux/refcount_api.h                       |   1 +
 include/linux/sched.h                              |  29 +-
 include/linux/sched/affinity.h                     |   1 +
 include/linux/sched/cond_resched.h                 |   1 +
 include/linux/sched/deadline.h                     |   2 +
 include/linux/sched/isolation.h                    |  43 +-
 include/linux/sched/posix-timers.h                 |   1 +
 include/linux/sched/rseq_api.h                     |   1 +
 include/linux/sched/sysctl.h                       |   4 -
 include/linux/sched/task_flags.h                   |   1 +
 include/linux/sched/thread_info_api.h              |   1 +
 include/linux/sched/topology.h                     |   1 +
 include/linux/sched_clock.h                        |   2 +
 include/linux/seqlock_api.h                        |   1 +
 include/linux/softirq.h                            |   1 +
 include/linux/spinlock_api.h                       |   1 +
 include/linux/swait_api.h                          |   1 +
 include/linux/syscalls_api.h                       |   1 +
 include/linux/u64_stats_sync_api.h                 |   1 +
 include/linux/wait_api.h                           |   1 +
 include/linux/workqueue_api.h                      |   1 +
 include/trace/events/sched.h                       |  11 +-
 include/uapi/linux/rseq.h                          |  20 +-
 init/Makefile                                      |   3 +-
 kernel/Kconfig.preempt                             |   3 +-
 kernel/cgroup/cpuset.c                             |   6 +-
 kernel/cpu.c                                       |   4 +-
 kernel/entry/common.c                              |  23 +-
 kernel/irq/cpuhotplug.c                            |   4 +-
 kernel/irq/manage.c                                |   4 +-
 kernel/kthread.c                                   |   4 +-
 kernel/rcu/tasks.h                                 |   2 +-
 kernel/rcu/tree_plugin.h                           |   6 +-
 kernel/rseq.c                                      |   8 +-
 kernel/sched/Makefile                              |  28 +-
 kernel/sched/autogroup.c                           |  26 +-
 kernel/sched/autogroup.h                           |   6 +
 kernel/sched/build_policy.c                        |  52 +++
 kernel/sched/build_utility.c                       | 109 +++++
 kernel/sched/clock.c                               |  44 +-
 kernel/sched/completion.c                          |   2 +-
 kernel/sched/core.c                                | 466 +++++++++++++--------
 kernel/sched/core_sched.c                          |   3 -
 kernel/sched/cpuacct.c                             |  12 +-
 kernel/sched/cpudeadline.c                         |   3 +-
 kernel/sched/cpufreq.c                             |   3 -
 kernel/sched/cpufreq_schedutil.c                   |  18 +-
 kernel/sched/cpupri.c                              |   1 -
 kernel/sched/cputime.c                             |   1 -
 kernel/sched/deadline.c                            | 155 +++----
 kernel/sched/debug.c                               |  11 -
 kernel/sched/fair.c                                | 113 +++--
 kernel/sched/idle.c                                |   3 -
 kernel/sched/isolation.c                           | 163 ++++---
 kernel/sched/loadavg.c                             |   1 -
 kernel/sched/membarrier.c                          |   1 -
 kernel/sched/pelt.c                                |   4 -
 kernel/sched/psi.c                                 |  61 ++-
 kernel/sched/rt.c                                  |  51 ++-
 kernel/sched/sched.h                               | 354 ++++++++--------
 kernel/sched/stats.c                               |   1 -
 kernel/sched/stats.h                               |   4 +
 kernel/sched/stop_task.c                           |   1 -
 kernel/sched/swait.c                               |   1 -
 kernel/sched/topology.c                            | 268 ++++++++----
 kernel/sched/wait.c                                |   1 -
 kernel/sched/wait_bit.c                            |   2 +-
 kernel/sysctl.c                                    |  11 -
 kernel/trace/fgraph.c                              |   4 +-
 kernel/trace/ftrace.c                              |   4 +-
 kernel/trace/trace_events.c                        |   8 +-
 kernel/trace/trace_osnoise.c                       |   4 +-
 kernel/trace/trace_sched_switch.c                  |   1 +
 kernel/trace/trace_sched_wakeup.c                  |   1 +
 kernel/watchdog.c                                  |   2 +-
 kernel/workqueue.c                                 |   4 +-
 net/core/net-sysfs.c                               |   6 +-
 scripts/mkcompile_h                                |  17 +-
 tools/testing/selftests/rseq/Makefile              |   2 +-
 .../testing/selftests/rseq/basic_percpu_ops_test.c |   2 +-
 tools/testing/selftests/rseq/compiler.h            |  30 ++
 tools/testing/selftests/rseq/param_test.c          |   8 +-
 tools/testing/selftests/rseq/rseq-abi.h            | 151 +++++++
 tools/testing/selftests/rseq/rseq-arm.h            | 110 ++---
 tools/testing/selftests/rseq/rseq-arm64.h          |  79 +++-
 .../selftests/rseq/rseq-generic-thread-pointer.h   |  25 ++
 tools/testing/selftests/rseq/rseq-mips.h           |  71 +---
 .../selftests/rseq/rseq-ppc-thread-pointer.h       |  30 ++
 tools/testing/selftests/rseq/rseq-ppc.h            | 128 ++++--
 tools/testing/selftests/rseq/rseq-s390.h           |  55 ++-
 tools/testing/selftests/rseq/rseq-skip.h           |   2 +-
 tools/testing/selftests/rseq/rseq-thread-pointer.h |  19 +
 .../selftests/rseq/rseq-x86-thread-pointer.h       |  40 ++
 tools/testing/selftests/rseq/rseq-x86.h            | 200 ++++++---
 tools/testing/selftests/rseq/rseq.c                | 164 ++++----
 tools/testing/selftests/rseq/rseq.h                |  30 +-
 134 files changed, 2344 insertions(+), 1307 deletions(-)
 create mode 100644 Documentation/scheduler/sched-debug.rst
 create mode 100644 arch/arm64/include/asm/paravirt_api_clock.h
 create mode 100644 arch/x86/include/asm/paravirt_api_clock.h
 create mode 100644 include/linux/cgroup_api.h
 create mode 100644 include/linux/cpumask_api.h
 create mode 100644 include/linux/fs_api.h
 create mode 100644 include/linux/gfp_api.h
 create mode 100644 include/linux/hashtable_api.h
 create mode 100644 include/linux/hrtimer_api.h
 create mode 100644 include/linux/kobject_api.h
 create mode 100644 include/linux/kref_api.h
 create mode 100644 include/linux/ktime_api.h
 create mode 100644 include/linux/llist_api.h
 create mode 100644 include/linux/lockdep_api.h
 create mode 100644 include/linux/mm_api.h
 create mode 100644 include/linux/mutex_api.h
 create mode 100644 include/linux/perf_event_api.h
 create mode 100644 include/linux/pgtable_api.h
 create mode 100644 include/linux/ptrace_api.h
 create mode 100644 include/linux/rcuwait_api.h
 create mode 100644 include/linux/refcount_api.h
 create mode 100644 include/linux/sched/affinity.h
 create mode 100644 include/linux/sched/cond_resched.h
 create mode 100644 include/linux/sched/posix-timers.h
 create mode 100644 include/linux/sched/rseq_api.h
 create mode 100644 include/linux/sched/task_flags.h
 create mode 100644 include/linux/sched/thread_info_api.h
 create mode 100644 include/linux/seqlock_api.h
 create mode 100644 include/linux/softirq.h
 create mode 100644 include/linux/spinlock_api.h
 create mode 100644 include/linux/swait_api.h
 create mode 100644 include/linux/syscalls_api.h
 create mode 100644 include/linux/u64_stats_sync_api.h
 create mode 100644 include/linux/wait_api.h
 create mode 100644 include/linux/workqueue_api.h
 create mode 100644 kernel/sched/build_policy.c
 create mode 100644 kernel/sched/build_utility.c
 create mode 100644 tools/testing/selftests/rseq/compiler.h
 create mode 100644 tools/testing/selftests/rseq/rseq-abi.h
 create mode 100644 tools/testing/selftests/rseq/rseq-generic-thread-pointer.h
 create mode 100644 tools/testing/selftests/rseq/rseq-ppc-thread-pointer.h
 create mode 100644 tools/testing/selftests/rseq/rseq-thread-pointer.h
 create mode 100644 tools/testing/selftests/rseq/rseq-x86-thread-pointer.h


             reply	other threads:[~2022-03-21 10:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-21 10:54 Ingo Molnar [this message]
2022-03-21 13:13 ` [GIT PULL] scheduler updates for v5.18 Qian Cai
2022-03-21 23:59   ` Huang, Ying
2022-03-22  0:18   ` Linus Torvalds
2022-03-22  0:54     ` Huang, Ying
2022-03-22  1:08       ` Linus Torvalds
2022-03-22  7:35     ` Ingo Molnar
2022-03-22  7:48       ` Ingo Molnar
2022-03-22  8:18         ` Huang, Ying
2022-03-22 11:07           ` Ingo Molnar
2022-03-21 15:44 ` Nathan Chancellor
2022-03-22  7:54   ` Ingo Molnar
2022-03-22 15:32     ` Nathan Chancellor
2022-03-22 15:39       ` Randy Dunlap
2022-03-22 11:10 ` [GIT PULL -v2] " Ingo Molnar
2022-03-22 23:27   ` pr-tracker-bot
2022-03-22 23:27 ` [GIT PULL] " pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YjhZUezhnamHAl0H@gmail.com \
    --to=mingo@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=bristot@redhat.com \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=vincent.guittot@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.