mirror of
https://github.com/torvalds/linux.git
synced 2024-12-12 14:12:51 +00:00
7d9d077c78
This pull request contains the following branches: doc.2022.06.21a: Documentation updates. fixes.2022.07.19a: Miscellaneous fixes. nocb.2022.07.19a: Callback-offload updates, perhaps most notably a new RCU_NOCB_CPU_DEFAULT_ALL Kconfig option that causes all CPUs to be offloaded at boot time, regardless of kernel boot parameters. This is useful to battery-powered systems such as ChromeOS and Android. In addition, a new RCU_NOCB_CPU_CB_BOOST kernel boot parameter prevents offloaded callbacks from interfering with real-time workloads and with energy-efficiency mechanisms. poll.2022.07.21a: Polled grace-period updates, perhaps most notably making these APIs account for both normal and expedited grace periods. rcu-tasks.2022.06.21a: Tasks RCU updates, perhaps most notably reducing the CPU overhead of RCU tasks trace grace periods by more than a factor of two on a system with 15,000 tasks. The reduction is expected to increase with the number of tasks, so it seems reasonable to hypothesize that a system with 150,000 tasks might see a 20-fold reduction in CPU overhead. torture.2022.06.21a: Torture-test updates. ctxt.2022.07.05a: Updates that merge RCU's dyntick-idle tracking into context tracking, thus reducing the overhead of transitioning to kernel mode from either idle or nohz_full userspace execution for kernels that track context independently of RCU. This is expected to be helpful primarily for kernels built with CONFIG_NO_HZ_FULL=y. -----BEGIN PGP SIGNATURE----- iQJHBAABCgAxFiEEbK7UrM+RBIrCoViJnr8S83LZ+4wFAmLgMcgTHHBhdWxtY2tA a2VybmVsLm9yZwAKCRCevxLzctn7jArXD/0fjbCwqpRjHVTzjMY8jN4zDkqZZD6m g8Fx27hZ4ToNFwRptyHwNezrNj14skjAJEXfdjaVw32W62ivXvf0HINvSzsTLCSq k2kWyBdXLc9CwY5p5W4smnpn5VoAScjg5PoPL59INoZ/Zziji323C7Zepl/1DYJt 0T6bPCQjo1ZQoDUCyVpSjDmAqxnderWG0MeJVt74GkLqmnYLANg0GH8c7mH4+9LL kVGlLp5nlPgNJ4FEoFdMwNU8T/ETmaVld/m2dkiawjkXjJzB2XKtBigU91DDmXz5 7DIdV4ABrxiy4kGNqtIe/jFgnKyVD7xiDpyfjd6KTeDr/rDS8u2ZH7+1iHsyz3g0 Np/tS3vcd0KR+gI/d0eXxPbgm5sKlCmKw/nU2eArpW/+4LmVXBUfHTG9Jg+LJmBc JrUh6aEdIZJZHgv/nOQBNig7GJW43IG50rjuJxAuzcxiZNEG5lUSS23ysaA9CPCL PxRWKSxIEfK3kdmvVO5IIbKTQmIBGWlcWMTcYictFSVfBgcCXpPAksGvqA5JiUkc egW+xLFo/7K+E158vSKsVqlWZcEeUbsNJ88QOlpqnRgH++I2Yv/LhK41XfJfpH+Y ALxVaDd+mAq6v+qSHNVq9wT3ozXIPy/zK1hDlMIqx40h2YvaEsH4je+521oSoN9r vX60+QNxvUBLwA== =vUNm -----END PGP SIGNATURE----- Merge tag 'rcu.2022.07.26a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu Pull RCU updates from Paul McKenney: - Documentation updates - Miscellaneous fixes - Callback-offload updates, perhaps most notably a new RCU_NOCB_CPU_DEFAULT_ALL Kconfig option that causes all CPUs to be offloaded at boot time, regardless of kernel boot parameters. This is useful to battery-powered systems such as ChromeOS and Android. In addition, a new RCU_NOCB_CPU_CB_BOOST kernel boot parameter prevents offloaded callbacks from interfering with real-time workloads and with energy-efficiency mechanisms - Polled grace-period updates, perhaps most notably making these APIs account for both normal and expedited grace periods - Tasks RCU updates, perhaps most notably reducing the CPU overhead of RCU tasks trace grace periods by more than a factor of two on a system with 15,000 tasks. The reduction is expected to increase with the number of tasks, so it seems reasonable to hypothesize that a system with 150,000 tasks might see a 20-fold reduction in CPU overhead - Torture-test updates - Updates that merge RCU's dyntick-idle tracking into context tracking, thus reducing the overhead of transitioning to kernel mode from either idle or nohz_full userspace execution for kernels that track context independently of RCU. This is expected to be helpful primarily for kernels built with CONFIG_NO_HZ_FULL=y * tag 'rcu.2022.07.26a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (98 commits) rcu: Add irqs-disabled indicator to expedited RCU CPU stall warnings rcu: Diagnose extended sync_rcu_do_polled_gp() loops rcu: Put panic_on_rcu_stall() after expedited RCU CPU stall warnings rcutorture: Test polled expedited grace-period primitives rcu: Add polled expedited grace-period primitives rcutorture: Verify that polled GP API sees synchronous grace periods rcu: Make Tiny RCU grace periods visible to polled APIs rcu: Make polled grace-period API account for expedited grace periods rcu: Switch polled grace-period APIs to ->gp_seq_polled rcu/nocb: Avoid polling when my_rdp->nocb_head_rdp list is empty rcu/nocb: Add option to opt rcuo kthreads out of RT priority rcu: Add nocb_cb_kthread check to rcu_is_callbacks_kthread() rcu/nocb: Add an option to offload all CPUs on boot rcu/nocb: Fix NOCB kthreads spawn failure with rcu_nocb_rdp_deoffload() direct call rcu/nocb: Invert rcu_state.barrier_mutex VS hotplug lock locking order rcu/nocb: Add/del rdp to iterate from rcuog itself rcu/tree: Add comment to describe GP-done condition in fqs loop rcu: Initialize first_gp_fqs at declaration in rcu_gp_fqs() rcu/kvfree: Remove useless monitor_todo flag rcu: Cleanup RCU urgency state for offline CPU ... |
||
---|---|---|
.. | ||
syscalls | ||
.gitignore | ||
adi_64.c | ||
apc.c | ||
asm-offsets.c | ||
audit.c | ||
auxio_32.c | ||
auxio_64.c | ||
btext.c | ||
central.c | ||
cherrs.S | ||
chmc.c | ||
compat_audit.c | ||
cpu.c | ||
cpumap.c | ||
cpumap.h | ||
devices.c | ||
ds.c | ||
dtlb_miss.S | ||
dtlb_prot.S | ||
ebus.c | ||
entry.h | ||
entry.S | ||
etrap_32.S | ||
etrap_64.S | ||
fpu_traps.S | ||
ftrace.c | ||
getsetcc.S | ||
head_32.S | ||
head_64.S | ||
helpers.S | ||
hvapi.c | ||
hvcalls.S | ||
hvtramp.S | ||
idprom.c | ||
iommu_common.h | ||
iommu-common.c | ||
iommu.c | ||
ioport.c | ||
irq_32.c | ||
irq_64.c | ||
irq.h | ||
itlb_miss.S | ||
ivec.S | ||
jump_label.c | ||
kernel.h | ||
kgdb_32.c | ||
kgdb_64.c | ||
kprobes.c | ||
kstack.h | ||
ktlb.S | ||
ldc.c | ||
led.c | ||
leon_kernel.c | ||
leon_pci_grpci1.c | ||
leon_pci_grpci2.c | ||
leon_pci.c | ||
leon_pmc.c | ||
leon_smp.c | ||
Makefile | ||
mdesc.c | ||
misctrap.S | ||
module.c | ||
nmi.c | ||
of_device_32.c | ||
of_device_64.c | ||
of_device_common.c | ||
of_device_common.h | ||
pci_common.c | ||
pci_fire.c | ||
pci_impl.h | ||
pci_msi.c | ||
pci_psycho.c | ||
pci_sabre.c | ||
pci_schizo.c | ||
pci_sun4v_asm.S | ||
pci_sun4v.c | ||
pci_sun4v.h | ||
pci.c | ||
pcic.c | ||
pcr.c | ||
perf_event.c | ||
pmc.c | ||
power.c | ||
process_32.c | ||
process_64.c | ||
process.c | ||
prom_32.c | ||
prom_64.c | ||
prom_common.c | ||
prom_irqtrans.c | ||
prom.h | ||
psycho_common.c | ||
psycho_common.h | ||
ptrace_32.c | ||
ptrace_64.c | ||
reboot.c | ||
rtrap_32.S | ||
rtrap_64.S | ||
sbus.c | ||
setup_32.c | ||
setup_64.c | ||
signal32.c | ||
signal_32.c | ||
signal_64.c | ||
sigutil_32.c | ||
sigutil_64.c | ||
sigutil.h | ||
smp_32.c | ||
smp_64.c | ||
sparc_ksyms.c | ||
spiterrs.S | ||
sstate.c | ||
stacktrace.c | ||
starfire.c | ||
sun4d_irq.c | ||
sun4d_smp.c | ||
sun4m_irq.c | ||
sun4m_smp.c | ||
sun4v_ivec.S | ||
sun4v_mcd.S | ||
sun4v_tlb_miss.S | ||
sys32.S | ||
sys_sparc32.c | ||
sys_sparc_32.c | ||
sys_sparc_64.c | ||
syscalls.S | ||
sysfs.c | ||
systbls_32.S | ||
systbls_64.S | ||
systbls.h | ||
time_32.c | ||
time_64.c | ||
trampoline_32.S | ||
trampoline_64.S | ||
traps_32.c | ||
traps_64.c | ||
tsb.S | ||
ttable_32.S | ||
ttable_64.S | ||
una_asm_32.S | ||
una_asm_64.S | ||
unaligned_32.c | ||
unaligned_64.c | ||
uprobes.c | ||
urtt_fill.S | ||
utrap.S | ||
vdso.c | ||
vio.c | ||
viohs.c | ||
visemul.c | ||
vmlinux.lds.S | ||
windows.c | ||
winfixup.S | ||
wof.S | ||
wuf.S |