twx-linux/drivers
Linus Torvalds 88264981f2 sched_ext: Initial pull request for v6.12
This is the initial pull request of sched_ext. The v7 patchset
 (https://lkml.kernel.org/r/20240618212056.2833381-1-tj@kernel.org) is
 applied on top of tip/sched/core + bpf/master as of Jun 18th.
 
   tip/sched/core 793a62823d1c ("sched/core: Drop spinlocks on contention iff kernel is preempti
 ble")
   bpf/master f6afdaf72af7 ("Merge branch 'bpf-support-resilient-split-btf'")
 
 Since then, the following pulls were made:
 
 - v6.11-rc1 is pulled to keep up with the mainline.
 
 - tip/sched/core was pulled several times:
 
   - 7b9f6c864a34, 0df340ceae2e, 5ac998574f93, 0b1777f0fa04: To resolve
     conflicts. See each commit for details on conflicts and their
     resolutions.
 
   - d7b01aef9dbd: To receive fd03c5b85855 ("sched: Rework pick_next_task()")
     and related commits. @prev in added to sched_class->put_prev_task() and
     put_prev_task() is reordered after ->pick_task(), which makes
     sched_class->switch_class() unnecessary. The follow-up commits update
     sched_ext accordingly and drop sched_class->switch_class().
 
 - bpf/master was pulled to receive baebe9aaba1e ("bpf: allow passing struct
   bpf_iter_<type> as kfunc arguments") and related changes in preparation
   for the DSQ iterator patchset
 
 To obtain the net sched_ext changes, diff against:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git for-6.12-base
 
 which is the merge of:
 
   tip/sched/core bc9057da1a22 ("sched/cpufreq: Use NSEC_PER_MSEC for deadline task")
   bpf/master 2ad6d23f465 ("selftests/bpf: Do not update vmlinux.h unnecessarily")
 
 Since the v7 patchset, the following changes were made:
 
 - cpuperf support which was a part of the v6 patchset was posted separately
   and then applied after reviews.
 
 - cgroup support which was a part of the v6 patchset was posted seprately,
   iterated and then applied.
 
 - Improve integration with sched core.
 
 - Double locking usage in migration paths dropped. Depend on
   TASK_ON_RQ_MIGRATING synchronization instead.
 
 - The BPF scheduler couldn't directly dispatch to the local DSQ of another
   CPU using a SCX_DSQ_LOCAL_ON verdict. This caused difficulties around
   handling non-wakeup enqueues. Updated so that SCX_DSQ_LOCAL_ON can be used
   in the enqueue path too.
 
 - DSQ iterator which was a part of the v6 patchset was posted separately.
   The iterator itself was applied after a couple revisions. The associated
   selective consumption kfunc can use further improvements and is still
   being worked on.
 
 - scx_bpf_dispatch[_vtime]_from_dsq() added to increase flexibility. A task
   can now be transferred between two DSQs from almost any context. This
   involved significant refactoring of migration code.
 
 - Various fixes and improvements.
 
 As the branch is based on top of tip/sched/core + bpf/master, please merge
 after both are applied.
 -----BEGIN PGP SIGNATURE-----
 
 iIQEABYKACwWIQTfIjM1kS57o3GsC/uxYfJx3gVYGQUCZuOSuA4cdGpAa2VybmVs
 Lm9yZwAKCRCxYfJx3gVYGVZyAQDBU3WPkYKB8gl6a6YQ+/PzBXorOK7mioS9A2iJ
 vBR3FgEAg1vtcss1S+2juWmVq7ItiFNWCqtXzUr/bVmL9CqqDwA=
 =bOOC
 -----END PGP SIGNATURE-----

Merge tag 'sched_ext-for-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext

Pull sched_ext support from Tejun Heo:
 "This implements a new scheduler class called ‘ext_sched_class’, or
  sched_ext, which allows scheduling policies to be implemented as BPF
  programs.

  The goals of this are:

   - Ease of experimentation and exploration: Enabling rapid iteration
     of new scheduling policies.

   - Customization: Building application-specific schedulers which
     implement policies that are not applicable to general-purpose
     schedulers.

   - Rapid scheduler deployments: Non-disruptive swap outs of scheduling
     policies in production environments"

See individual commits for more documentation, but also the cover letter
for the latest series:

Link: https://lore.kernel.org/all/20240618212056.2833381-1-tj@kernel.org/

* tag 'sched_ext-for-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext: (110 commits)
  sched: Move update_other_load_avgs() to kernel/sched/pelt.c
  sched_ext: Don't trigger ops.quiescent/runnable() on migrations
  sched_ext: Synchronize bypass state changes with rq lock
  scx_qmap: Implement highpri boosting
  sched_ext: Implement scx_bpf_dispatch[_vtime]_from_dsq()
  sched_ext: Compact struct bpf_iter_scx_dsq_kern
  sched_ext: Replace consume_local_task() with move_local_task_to_local_dsq()
  sched_ext: Move consume_local_task() upward
  sched_ext: Move sanity check and dsq_mod_nr() into task_unlink_from_dsq()
  sched_ext: Reorder args for consume_local/remote_task()
  sched_ext: Restructure dispatch_to_local_dsq()
  sched_ext: Fix processs_ddsp_deferred_locals() by unifying DTL_INVALID handling
  sched_ext: Make find_dsq_for_dispatch() handle SCX_DSQ_LOCAL_ON
  sched_ext: Refactor consume_remote_task()
  sched_ext: Rename scx_kfunc_set_sleepable to unlocked and relocate
  sched_ext: Add missing static to scx_dump_data
  sched_ext: Add missing static to scx_has_op[]
  sched_ext: Temporarily work around pick_task_scx() being called without balance_scx()
  sched_ext: Add a cgroup scheduler which uses flattened hierarchy
  sched_ext: Add cgroup support
  ...
2024-09-21 09:44:57 -07:00
..
accel dma-mapping updates for linux 6.12 2024-09-19 11:12:49 +02:00
accessibility
acpi ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
amba
android
ata ata changes for 6.12 2024-09-19 09:49:10 +02:00
atm
auxdisplay
base ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
bcma
block ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
bluetooth Bluetooth: btintel_pcie: Allocate memory for driver private data 2024-09-12 17:32:42 -04:00
bus soc: driver updates for 6.12 2024-09-17 10:48:09 +02:00
cache
cdrom
cdx
char Hi, 2024-09-19 09:38:34 +02:00
clk clk: qcom: clk-alpha-pll: Simplify the zonda_pll_adjust_l_val() 2024-09-09 14:06:07 -07:00
clocksource Updates for x86 timers: 2024-09-17 15:27:01 +02:00
comedi
connector
counter
cpufreq In the v6.12 scheduler development cycle we had 63 commits from 18 contributors: 2024-09-19 15:55:58 +02:00
cpuidle pmdomain core: 2024-09-18 10:49:45 +02:00
crypto s390 updates for 6.12 merge window 2024-09-21 09:02:54 -07:00
cxl
dax
dca
devfreq
dio
dma dma-mapping updates for linux 6.12 2024-09-19 11:12:49 +02:00
dma-buf drm next for 6.12-rc1 2024-09-19 10:18:15 +02:00
dpll
edac - Drop a now obsolete ppc4xx_edac driver 2024-09-16 06:36:37 +02:00
eisa
extcon power supply and reset changes for the 6.12 series 2024-09-18 10:24:22 +02:00
firewire
firmware ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
fpga
fsi
gnss
gpio gpio updates for v6.12-rc1 2024-09-18 10:43:07 +02:00
gpu Many singleton patches - please see the various changelogs for details. 2024-09-21 08:20:50 -07:00
greybus
hid hid-for-linus-2024091602 2024-09-19 09:42:21 +02:00
hsi
hte
hv drm next for 6.12-rc1 2024-09-19 10:18:15 +02:00
hwmon platform-drivers-x86 for v6.12-1 2024-09-19 09:16:04 +02:00
hwspinlock
hwtracing
i2c i2c: qcom-geni: Use IRQF_NO_AUTOEN flag in request_irq() 2024-09-12 09:08:22 +02:00
i3c
idle
iio
infiniband treewide: correct the typo 'retun' 2024-09-09 16:47:43 -07:00
input Many singleton patches - please see the various changelogs for details. 2024-09-21 08:20:50 -07:00
interconnect
iommu Many singleton patches - please see the various changelogs for details. 2024-09-21 08:20:50 -07:00
ipack
irqchip Updates for the interrupt subsystem: 2024-09-17 07:09:17 +02:00
isdn treewide: Fix wrong singular form of jiffies in comments 2024-09-08 20:47:40 +02:00
leds
macintosh dma-mapping updates for linux 6.12 2024-09-19 11:12:49 +02:00
mailbox
mcb
md lsm/stable-6.12 PR 20240911 2024-09-16 18:19:47 +02:00
media dma-mapping updates for linux 6.12 2024-09-19 11:12:49 +02:00
memory
memstick
message
mfd platform-drivers-x86 for v6.12-1 2024-09-19 09:16:04 +02:00
misc Many singleton patches - please see the various changelogs for details. 2024-09-21 08:20:50 -07:00
mmc dma-mapping updates for linux 6.12 2024-09-19 11:12:49 +02:00
most
mtd Many singleton patches - please see the various changelogs for details. 2024-09-21 08:20:50 -07:00
mux
net dma-mapping updates for linux 6.12 2024-09-19 11:12:49 +02:00
nfc
ntb
nubus
nvdimm
nvme Many singleton patches - please see the various changelogs for details. 2024-09-21 08:20:50 -07:00
nvmem
of ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
opp Merge branches 'pm-sleep', 'pm-opp' and 'pm-tools' 2024-09-11 19:02:23 +02:00
parisc parisc: pdc_stable: Constify struct kobj_type 2024-09-09 08:53:17 +02:00
parport
pci IOMMU Updates for Linux v6.12 2024-09-18 12:45:52 +02:00
pcmcia
peci
perf arm64 updates for 6.12 2024-09-16 06:55:07 +02:00
phy power supply and reset changes for the 6.12 series 2024-09-18 10:24:22 +02:00
pinctrl pinctrl: pinctrl-cy8c95x0: Fix regcache 2024-09-13 13:14:18 +02:00
platform platform-drivers-x86 for v6.12-1 2024-09-19 09:16:04 +02:00
pmdomain pmdomain: core: Reduce debug summary table width 2024-09-13 13:41:33 +02:00
pnp
power power sequencing updates for v6.12-rc1 2024-09-18 10:46:27 +02:00
powercap
pps
ps3
ptp ptp: ptp_ines: Remove setting of RX software timestamp 2024-09-09 17:44:42 -07:00
pwm pwm: stm32: Fix a typo 2024-09-16 15:24:59 +02:00
rapidio
ras
regulator regulator: sm5703: Remove because it is unused and fails to build 2024-09-13 19:08:14 +01:00
remoteproc
reset
rpmsg
rtc
s390 s390 updates for 6.12 merge window 2024-09-21 09:02:54 -07:00
sbus
scsi Many singleton patches - please see the various changelogs for details. 2024-09-21 08:20:50 -07:00
sh
siox
slimbus
soc soc: driver updates for 6.12 2024-09-17 10:48:09 +02:00
soundwire soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps" 2024-09-11 13:05:43 +05:30
spi spi: Updates for v6.12 2024-09-17 10:31:31 +02:00
spmi
ssb
staging Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-09-12 17:11:24 -07:00
target
tc
tee optee: Fix a NULL vs IS_ERR() check 2024-09-09 12:22:06 +02:00
thermal - Add power domain DT bindings for new Amlogic SoCs (Georges Stark) 2024-09-10 10:54:15 +02:00
thunderbolt
tty sched_ext: Initial pull request for v6.12 2024-09-21 09:44:57 -07:00
ufs Many singleton patches - please see the various changelogs for details. 2024-09-21 08:20:50 -07:00
uio
usb platform-drivers-x86 for v6.12-1 2024-09-19 09:16:04 +02:00
vdpa ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
vfio vfio/pci: implement huge_fault support 2024-09-17 01:07:00 -07:00
vhost
video drm next for 6.12-rc1 2024-09-19 10:18:15 +02:00
virt ALong with the usual shower of singleton patches, notable patch series in 2024-09-21 07:29:05 -07:00
virtio
w1
watchdog platform/x86: intel_scu_wdt: Move intel_scu_wdt.h to x86 subfolder 2024-09-11 14:26:08 +02:00
xen dma-mapping updates for linux 6.12 2024-09-19 11:12:49 +02:00
zorro
Kconfig
Makefile