linux/arch/s390/include/asm
Linus Torvalds 54a728dc5e Scheduler udpates for this cycle:
- Changes to core scheduling facilities:
 
     - Add "Core Scheduling" via CONFIG_SCHED_CORE=y, which enables
       coordinated scheduling across SMT siblings. This is a much
       requested feature for cloud computing platforms, to allow
       the flexible utilization of SMT siblings, without exposing
       untrusted domains to information leaks & side channels, plus
       to ensure more deterministic computing performance on SMT
       systems used by heterogenous workloads.
 
       There's new prctls to set core scheduling groups, which
       allows more flexible management of workloads that can share
       siblings.
 
     - Fix task->state access anti-patterns that may result in missed
       wakeups and rename it to ->__state in the process to catch new
       abuses.
 
  - Load-balancing changes:
 
      - Tweak newidle_balance for fair-sched, to improve
        'memcache'-like workloads.
 
      - "Age" (decay) average idle time, to better track & improve workloads
        such as 'tbench'.
 
      - Fix & improve energy-aware (EAS) balancing logic & metrics.
 
      - Fix & improve the uclamp metrics.
 
      - Fix task migration (taskset) corner case on !CONFIG_CPUSET.
 
      - Fix RT and deadline utilization tracking across policy changes
 
      - Introduce a "burstable" CFS controller via cgroups, which allows
        bursty CPU-bound workloads to borrow a bit against their future
        quota to improve overall latencies & batching. Can be tweaked
        via /sys/fs/cgroup/cpu/<X>/cpu.cfs_burst_us.
 
      - Rework assymetric topology/capacity detection & handling.
 
  - Scheduler statistics & tooling:
 
      - Disable delayacct by default, but add a sysctl to enable
        it at runtime if tooling needs it. Use static keys and
        other optimizations to make it more palatable.
 
      - Use sched_clock() in delayacct, instead of ktime_get_ns().
 
  - Misc cleanups and fixes.
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmDZcPoRHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1g3yw//WfhIqy7Psa9d/MBMjQDRGbTuO4+w22Dj
 vmWFU44Q4KJxQHWeIgUlrK+dzvYWvNmflUs2CUUOiDVzxFTHMIyBtL4qCBUbx4Ns
 vKAcB9wsWZge2o3WzZqpProRhdoRaSKw8egUr2q7rACVBkckY7eGP/OjWxXU8BdA
 b7D0LPWwuIBFfN4pFYeCDLn32Dqr9s6Chyj+ZecabdG7EE6Gu+f1diVcxy7JE/mc
 4WWL0D1RqdgpGrBEuMJIxPYekdrZiuy4jtEbztz5gbTBteN1cj3BLfqn0Pc/e6rO
 Vyuc5mXCAmzRVi18z6g6bsVl+IA/nrbErENB2OHOhOYtqiZxqGTd4GPWZszMyY17
 5AsEO5+5pcaBsy4gyp09qURggBu9zhJnMVmOI3rIHZkmkhwzc6uUJlyhDCTiFWOz
 3ZF3LjbZEyCKodMD8qMHbs3axIBpIfZqjzkvSKyFnvfXEGVytVse7NUuWtQ36u92
 GnURxVeYY1TDVXvE1Y8owNKMxknKQ6YRlypP7Dtbeo/qG6hShp0xmS7qDLDi0ybZ
 ZlK+bDECiVoDf3nvJo+8v5M82IJ3CBt4UYldeRJsa1YCK/FsbK8tp91fkEfnXVue
 +U6LPX0AmMpXacR5HaZfb3uBIKRw/QMdP/7RFtBPhpV6jqCrEmuqHnpPQiEVtxwO
 UmG7bt94Trk=
 =3VDr
 -----END PGP SIGNATURE-----

Merge tag 'sched-core-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler udpates from Ingo Molnar:

 - Changes to core scheduling facilities:

    - Add "Core Scheduling" via CONFIG_SCHED_CORE=y, which enables
      coordinated scheduling across SMT siblings. This is a much
      requested feature for cloud computing platforms, to allow the
      flexible utilization of SMT siblings, without exposing untrusted
      domains to information leaks & side channels, plus to ensure more
      deterministic computing performance on SMT systems used by
      heterogenous workloads.

      There are new prctls to set core scheduling groups, which allows
      more flexible management of workloads that can share siblings.

    - Fix task->state access anti-patterns that may result in missed
      wakeups and rename it to ->__state in the process to catch new
      abuses.

 - Load-balancing changes:

    - Tweak newidle_balance for fair-sched, to improve 'memcache'-like
      workloads.

    - "Age" (decay) average idle time, to better track & improve
      workloads such as 'tbench'.

    - Fix & improve energy-aware (EAS) balancing logic & metrics.

    - Fix & improve the uclamp metrics.

    - Fix task migration (taskset) corner case on !CONFIG_CPUSET.

    - Fix RT and deadline utilization tracking across policy changes

    - Introduce a "burstable" CFS controller via cgroups, which allows
      bursty CPU-bound workloads to borrow a bit against their future
      quota to improve overall latencies & batching. Can be tweaked via
      /sys/fs/cgroup/cpu/<X>/cpu.cfs_burst_us.

    - Rework assymetric topology/capacity detection & handling.

 - Scheduler statistics & tooling:

    - Disable delayacct by default, but add a sysctl to enable it at
      runtime if tooling needs it. Use static keys and other
      optimizations to make it more palatable.

    - Use sched_clock() in delayacct, instead of ktime_get_ns().

 - Misc cleanups and fixes.

* tag 'sched-core-2021-06-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (72 commits)
  sched/doc: Update the CPU capacity asymmetry bits
  sched/topology: Rework CPU capacity asymmetry detection
  sched/core: Introduce SD_ASYM_CPUCAPACITY_FULL sched_domain flag
  psi: Fix race between psi_trigger_create/destroy
  sched/fair: Introduce the burstable CFS controller
  sched/uclamp: Fix uclamp_tg_restrict()
  sched/rt: Fix Deadline utilization tracking during policy change
  sched/rt: Fix RT utilization tracking during policy change
  sched: Change task_struct::state
  sched,arch: Remove unused TASK_STATE offsets
  sched,timer: Use __set_current_state()
  sched: Add get_current_state()
  sched,perf,kvm: Fix preemption condition
  sched: Introduce task_is_running()
  sched: Unbreak wakeups
  sched/fair: Age the average idle time
  sched/cpufreq: Consider reduced CPU capacity in energy calculation
  sched/fair: Take thermal pressure into account while estimating energy
  thermal/cpufreq_cooling: Update offline CPUs per-cpu thermal_pressure
  sched/fair: Return early from update_tg_cfs_load() if delta == 0
  ...
2021-06-28 12:14:19 -07:00
..
fpu s390: convert to generic entry 2021-01-19 12:29:26 +01:00
trace
vdso powerpc updates for 5.13 2021-04-30 12:22:28 -07:00
airq.h s390/airq: use DMA memory for adapter interrupts 2019-06-15 12:25:05 +02:00
alternative-asm.h
alternative.h s390/alternatives: add alternative_input() / alternative_io() 2021-02-09 15:57:06 +01:00
ap.h s390/ap: remove unneeded semicolon 2021-02-09 15:57:04 +01:00
appldata.h
archrandom.h s390/crypto: add arch_get_random_long() support 2020-12-10 21:02:08 +01:00
asm-const.h s390/kernel: unify EX_TABLE* implementations 2020-07-20 10:55:45 +02:00
asm-prototypes.h
atomic_ops.h s390/atomic,cmpxchg: make constraints work with old compilers 2021-04-15 17:47:42 +02:00
atomic.h locking/atomic: make ARCH_ATOMIC a Kconfig symbol 2021-05-26 13:20:49 +02:00
barrier.h
bitops.h s390/bitops: make bitops only work on longs 2021-04-12 12:46:42 +02:00
boot_data.h s390/ipl: read IPL report at early boot 2019-04-26 12:34:05 +02:00
bug.h printk: Make linux/printk.h self-contained 2020-07-27 17:46:24 +09:00
bugs.h
cache.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
ccwdev.h s390/cio: remove duplicate struct ccw1 declaration 2021-04-05 11:30:57 +02:00
ccwgroup.h s390/net: remove pm ops from ccwgroup drivers 2020-05-19 12:48:39 -07:00
checksum.h s390 updates for the 5.10 merge window 2020-10-16 12:36:38 -07:00
chpid.h
chsc.h s390/cio: Add new Operation Code OC3 to PNSO 2020-09-15 13:21:46 -07:00
cio.h for-5.11/drivers-2020-12-14 2020-12-16 13:09:32 -08:00
clocksource.h s390: convert to GENERIC_VDSO 2020-08-26 18:47:21 +02:00
clp.h s390/pci: Implement ioremap_wc/prot() with MIO 2020-09-14 10:30:07 +02:00
cmb.h
cmpxchg.h s390/atomic,cmpxchg: always inline __xchg/__cmpxchg 2021-04-18 21:32:02 +02:00
compat.h compat: lift compat_s64 and compat_u64 to <asm-generic/compat.h> 2020-09-17 13:00:46 -04:00
cpacf.h s390: mark __cpacf_query() as __always_inline 2019-10-04 16:37:33 +02:00
cpcmd.h
cpu_mcf.h s390/cpumf: move counter set size calculation to common place 2021-04-30 17:17:00 +02:00
cpu_mf-insn.h s390/cpu_mf: add store cpu counter multiple instruction support 2019-02-22 09:19:52 +01:00
cpu_mf.h s390/cpum_sf: Replace function name in debug statements 2019-11-30 10:52:46 +01:00
cpu.h
cpufeature.h
cputime.h s390: convert to generic entry 2021-01-19 12:29:26 +01:00
crw.h
css_chars.h s390/cio: Add new Operation Code OC3 to PNSO 2020-09-15 13:21:46 -07:00
ctl_reg.h s390/early: move control registers setup in C code 2019-11-20 12:58:12 +01:00
current.h
debug.h s390/debug: debug feature version 3 2020-08-11 18:16:43 +02:00
delay.h s390/delay: remove udelay_simple() 2020-12-16 14:55:49 +01:00
diag.h s390/setup: diag 318: refactor struct 2020-06-23 09:16:48 +02:00
dis.h
dma.h
dwarf.h
eadm.h
ebcdic.h s390: fix clang -Wpointer-sign warnigns in boot code 2019-05-03 17:17:58 +02:00
elf.h s390: convert to generic entry 2021-01-19 12:29:26 +01:00
entry-common.h s390/entry: add support for syscall stack randomization 2021-04-30 17:20:39 +02:00
exec.h
extable.h s390/kernel: expand exception table logic to allow new handling options 2020-07-20 10:55:50 +02:00
extmem.h
facility.h Fix "ordering" comment typos 2021-01-29 10:12:33 -06:00
fcx.h
ftrace.h s390/ftrace: assume -mhotpatch or -mrecord-mcount always available 2020-11-20 19:19:11 +01:00
futex.h s390/mm: remove set_fs / rework address space handling 2020-11-23 12:01:12 +01:00
gmap.h s390: remove orphaned function declarations 2020-09-30 12:09:54 +02:00
hardirq.h softirq: Move __ARCH_HAS_DO_SOFTIRQ to Kconfig 2021-02-10 23:34:16 +01:00
hugetlb.h mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
hw_irq.h s390/irq: make init_ext_interrupts static 2020-03-11 14:18:44 +01:00
idals.h s390/idal: use struct_size() in kmalloc() 2019-06-04 15:03:18 +02:00
idle.h s390/time,idle: get rid of unsigned long long 2021-03-08 10:46:27 +01:00
io.h mm: remove xlate_dev_kmem_ptr() 2021-05-07 00:26:34 -07:00
ipl.h s390/nvme: support firmware-assisted dump to NVMe disks 2020-10-02 14:40:48 +02:00
irq_work.h s390/smp: implement arch_irq_work_raise() 2021-02-24 00:31:22 +01:00
irq.h s390/pci: gather statistics for floating vs directed irqs 2019-04-29 10:47:01 +02:00
irqflags.h
isc.h KVM: s390: add gib_alert_irq_handler() 2019-02-05 14:29:23 +01:00
itcw.h
jump_label.h s390/jump_label: use "i" constraint for clang 2020-01-22 13:05:35 +01:00
kasan.h s390/kasan: move memory needs estimation into a function 2020-11-09 11:20:59 +01:00
Kbuild local64.h: make <asm/local64.h> mandatory 2020-12-29 15:36:49 -08:00
kdebug.h
kexec.h s390/kernel: build a relocatable kernel 2019-04-29 10:47:10 +02:00
kprobes.h s390: support KPROBES_ON_FTRACE 2020-01-30 13:07:55 +01:00
kvm_host.h KVM: s390x: implement KVM_CAP_SET_GUEST_DEBUG2 2021-04-17 08:31:03 -04:00
kvm_para.h
linkage.h s390/kernel: expand exception table logic to allow new handling options 2020-07-20 10:55:50 +02:00
livepatch.h livepatch: Use the default ftrace_ops instead of REGS when ARGS is available 2020-11-13 12:15:28 -05:00
lowcore.h s390: add stack for machine check handler 2021-02-13 17:17:53 +01:00
mem_detect.h s390/mem_detect: provide single get_mem_detect_end 2019-08-26 12:51:18 +02:00
mem_encrypt.h s390/mm: Remove sev_active() function 2019-08-09 22:52:11 +10:00
mmu_context.h asm-generic: mmu-context cleanup 2020-12-15 23:58:04 -08:00
mmu.h s390 updates for the 5.7 merge window 2020-04-04 09:45:50 -07:00
mmzone.h
module.h
nmi.h s390: convert to generic entry 2021-01-19 12:29:26 +01:00
nospec-branch.h
nospec-insn.h s390/nospec: rename assembler generated expoline thunks 2019-05-02 13:54:11 +02:00
numa.h s390/mm: remove fake numa support 2020-02-27 16:02:21 +01:00
os_info.h
page-states.h
page.h mm/vma: define a default value for VM_DATA_DEFAULT_FLAGS 2020-04-10 15:36:21 -07:00
pci_clp.h s390/pci: Implement ioremap_wc/prot() with MIO 2020-09-14 10:30:07 +02:00
pci_debug.h
pci_dma.h s390/pci: remove unused functions 2020-06-29 16:32:09 +02:00
pci_insn.h s390: fix setting of mio addressing control 2019-07-11 20:40:02 +02:00
pci_io.h s390/pci: Fix s390_mmio_read/write with MIO 2020-05-14 23:21:37 +02:00
pci.h s390/pci: rename zpci_configure_device() 2021-04-30 17:17:00 +02:00
percpu.h s390: don't trace preemption in percpu macros 2020-08-26 18:07:04 +02:00
perf_event.h s390: implement perf_arch_fetch_caller_regs 2019-11-30 10:52:44 +01:00
pgalloc.h s390/mm: fix phys vs virt confusion in pgtable allocation routines 2021-02-24 00:31:22 +01:00
pgtable.h s390/mm: fix invalid __pa() usage in pfn_pXd() macros 2021-02-24 00:31:22 +01:00
pkey.h s390/pkey: pkey cleanup: narrow in-kernel API, fix some variable types 2019-08-21 12:58:53 +02:00
pnet.h s390/net: move pnet constants 2019-02-07 18:06:18 -08:00
preempt.h sched/core: Initialize the idle task with preemption disabled 2021-05-12 13:01:45 +02:00
processor.h s390: pass struct pt_regs instead of registers to syscalls 2021-01-19 12:29:27 +01:00
ptdump.h s390: add ARCH_HAS_DEBUG_WX support 2020-09-14 11:38:35 +02:00
ptrace.h s390: convert to generic entry 2021-01-19 12:29:26 +01:00
purgatory.h
qdio.h s390/qdio: let driver manage the QAOB 2021-03-22 11:36:05 +01:00
runtime_instr.h
schid.h
sclp.h s390/sclp: provide extended sccb support 2020-11-18 12:16:02 +01:00
scsw.h s390: Simplify the calculation of variables 2021-02-09 15:57:04 +01:00
seccomp.h s390: Enable seccomp architecture tracking 2020-11-20 11:16:35 -08:00
sections.h s390: correct __bootdata / __bootdata_preserved macros 2020-10-26 14:18:01 +01:00
serial.h
set_memory.h s390/mm,ptdump: hold cpa mutex while walking for kernel page table dump 2020-09-14 11:38:34 +02:00
setup.h s390: unify identity mapping limits handling 2020-11-20 19:19:10 +01:00
shmparam.h
signal.h
sigp.h
smp.h KVM: s390: diag9c (directed yield) forwarding 2021-03-09 10:16:26 +01:00
sparsemem.h
spinlock_types.h s390/spinlock: remove align attribute from arch_spinlock_t 2021-03-28 20:23:54 +02:00
spinlock.h s390/spinlock: use R constraint in inline assembly 2021-04-12 12:46:43 +02:00
stacktrace.h s390/stack: fix possible register corruption with stack switch helper 2021-06-21 11:19:18 +02:00
stp.h s390/stp: add support for leap seconds 2020-09-26 15:51:21 +02:00
string.h s390/kasan: provide uninstrumented __strlen 2019-08-21 12:58:52 +02:00
switch_to.h
syscall_wrapper.h s390: pass struct pt_regs instead of registers to syscalls 2021-01-19 12:29:27 +01:00
syscall.h s390: convert to generic entry 2021-01-19 12:29:26 +01:00
sysinfo.h
termios.h
thread_info.h s390/thread_info.h: fix task_struct declaration warning 2021-02-09 15:57:04 +01:00
timex.h s390/time,idle: get rid of unsigned long long 2021-03-08 10:46:27 +01:00
tlb.h s390/tlb: make cleared_pXs flags consistent with generic code 2021-01-19 12:29:25 +01:00
tlbflush.h s390: remove orphaned function declarations 2020-09-30 12:09:54 +02:00
topology.h s390/numa: set node distance to LOCAL_DISTANCE 2020-08-11 18:16:35 +02:00
uaccess.h s390: convert to generic entry 2021-01-19 12:29:26 +01:00
unistd.h s390: wire up clone3 system call 2019-07-23 10:45:53 +02:00
unwind.h s390/unwind: start unwinding from reliable state 2019-11-30 10:52:48 +01:00
uprobes.h
user.h
uv.h s390: uv: Fix sysfs max number of VCPUs reporting 2021-01-27 13:00:04 +01:00
vdso.h s390/vdso: implement generic vdso time namespace support 2021-02-09 15:57:05 +01:00
vga.h
vmalloc.h mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h> 2019-12-10 10:12:55 +01:00
vmlinux.lds.h s390: introduce .boot.preserved.data section 2019-04-10 17:47:09 +02:00
vtime.h s390: convert to generic entry 2021-01-19 12:29:26 +01:00
vtimer.h s390: remove orphaned function declarations 2020-09-30 12:09:54 +02:00
vx-insn.h s390: add alignment hints to vector load and store 2019-02-07 11:57:10 +01:00
xor.h