← Back to archive

Daily update · Sep 27–28, 2026

Linux 7.3-rc5: scheduler and perf fixes lead the update

Cache-aware scheduler fixes and Intel PEBS corrections land in 7.3-rc5.

In brief

Linux 7.3-rc5 is out. The main stories this week are a batch of cache-aware scheduler fixes and a large set of Intel PEBS/perf corrections. Several smaller fixes touch cpuset, workqueue, i2c, and x86 machine-check handling.

Bug fixes

Cache-aware scheduler fixes

LLC stands for last-level cache. These patches fix cache-aware load balancing: counters for LLC-preferring tasks now match the runnable set, active load balance honors the migrate_llc_task migration type, the cache group is decoupled from mm_struct to avoid a use-after-free, kernel threads are skipped, and LLC capacity is refreshed after CPU hotplug.

Why it matters: Prevents tasks from being moved away from their preferred LLC and avoids a scheduler use-after-free on multi-cache systems.

0d6526f82c3cd6013e2465d928f9c0e0a0b9b636fef85bda65efcccddc833cb0243767fd

Intel PEBS constraints and data-source corrections

PEBS is Intel's precise event-based sampling. This set fixes load/store direction for latency events on Gracemont, Crestmont, and Darkmont, removes incorrect data-source constraints on Lion Cove and Panther Cove, corrects Panther Cove snoop states, adds missing extra-register scheduling for precise memory events on DMR/NVL, constrains Panther Cove UOPS_DISPATCHED events, and renames offcore_rsp to offmodule_rsp on DMR/NVL.

Why it matters: Profiling samples from recent Intel CPUs should classify loads/stores and data sources more accurately, and the sysfs rename avoids tooling confusion.

89dc568e8c0be961d6db42d18302c5f475fa7c944595cc439f93d33ad65a0ac5d6ca2c3b04a7ef3b7aa3ff1621adfdd70102c8c7fdfcd4d9ccbad527

perf/core: task-context and branch-record fixes

Fixes a NULL pmu_ctx passed to armv8pmu_sched_task, makes sched_task() run for PMUs with only CPU-wide events so branch records do not leak across task boundaries, fills perf_branch_entry fields with one assignment to avoid uninitialized data in BRBE records, and fixes a refcount leak in attach_perf_ctx_data(). BRBE is Arm's hardware branch recording.

Why it matters: Prevents crashes and stale or uninitialized branch sampling data on Arm and x86.

36bb85cf36ca3d8d7410095424b620729e53cca4980630b3

perf/x86/intel: KVM guest PEBS MSR handling

When PEBS MSRs are switched between host and guest, the new code masks PERF_GLOBAL_CTRL with perf's desired value, avoids writing PEBS_ENABLED on CPUs that isolate PEBS, and skips DS_AREA/PEBS_DATA_CFG loads when PEBS is unused in the guest.

Why it matters: Avoids reserved bits and stuck PEBS_ENABLED states on VM-Entry/VM-Exit, and removes unnecessary MSR writes on VMX transitions.

cec38d5c098a4b64dbdc5861d06260e99eb9

x86/mce: preserve hardware debug registers across migration

The machine-check entry path saved and restored DR7 around user handling, but if the task migrated during scheduling, the restore ran on the wrong CPU. The save/restore pair is now CPU-local.

Why it matters: Prevents the new CPU's DR7 from being corrupted and the old CPU's DR7 from being left disabled.

b8d1d5b63a8e

sched/core: charge PSI IRQ time to the execution context

PSI stands for Pressure Stall Information. In proxy execution, the scheduling context can be a blocked donor while a different task burns CPU. IRQ time was charged to the donor's cgroup; it is now charged to rq->curr, the task actually running.

Why it matters: Makes PSI IRQ pressure attribution match the cgroup that is actually consuming CPU time.

a0bb6fac53fa

cgroup/cpuset: reject conflicting remote partitions

A remote partition created under a local partition could warn and then enable on CPUs already owned by the ancestor's subpartitions. It now returns PERR_NOCPUS instead of proceeding.

Why it matters: Prevents invalid exclusive-CPU partition configurations from being enabled.

31c88350b7dd

workqueue: avoid NULL current_pwq deref in flush dependency check

check_flush_dependency() can run on a kworker that is not currently executing a work item, such as when the worker thread is acting as pool manager during an OOM allocation. current_pwq is NULL in that state, so the dereference is now guarded.

Why it matters: Fixes a possible NULL pointer fault during memory-pressure handling.

db6365ced4d5

i2c: qcom-geni: select correct clock performance index

The Qualcomm GENI I2C driver wrote a hardcoded 0 into SE_GENI_CLK_SEL, which always selects the first clock performance-table entry. It now resolves the index that matches the actual source clock.

Why it matters: Avoids incorrect I2C bus frequencies on platforms where the matching entry is not at index 0.

cb97bf3d4f91

sched_ext: make BPF topology struct size-safe

scx_bpf_cid_topo() now takes a buffer size and copies the smaller of the BPF-provided buffer and the kernel's struct, with CO-RE relocation, so struct scx_cid_topo can grow without breaking existing BPF schedulers.

Why it matters: Prevents load failures or buffer overruns when the kernel-side struct grows.

94480606a677

debugfs: quiet false 'not initialized' warnings

Ref-tracker files created before debugfs is mounted triggered warnings even though the files appear later under /sys/kernel/debug/ref_tracker/. The warning is now suppressed for the error-parent case.

Why it matters: Removes two confusing boot-time errors on debugfs/ref_tracker builds.

77be3641f3e3

x86/sev: make vTPM SVSM calls preemption-safe

SVSM vTPM calls fetched the per-CPU calling-area address without disabling preemption. The fetch now happens inside the interrupt-disabled call protocol, so migration cannot leave the call using a stale per-CPU address.

Why it matters: Prevents wrong-CPU SVSM calls on AMD SEV-SNP systems using vTPM.

6c43c72748ff

Release

Linux 7.3-rc5

The Makefile version bump marks the 7.3-rc5 tag.

Why it matters: This is the latest mainline release candidate.

72d3fcf802c4

Source commits35 entries +
36bb85cf36ca

perf/core: Fix NULL pmu_ctx passed to pmu->sched_task()

Puranjay Mohan · Aug 10, 2026 · 1 files

3d8d74100954

perf/core: Run sched_task() for PMUs with only CPU-wide events

Puranjay Mohan · Aug 10, 2026 · 1 files

24b620729e53

perf/core: Fill branch entries with a single assignment

Puranjay Mohan · Aug 10, 2026 · 5 files

77be3641f3e3

debugfs: don't warn about uninitialized debugfs for an error parent

Mikhail Gavrilov · Sep 3, 2026 · 1 files

6c43c72748ff

x86/sev: Make vTPM SVSM calls preemption-safe

Melody Wang · Sep 14, 2026 · 1 files

89dc568e8c0b

perf/x86/intel: Fix GRT PEBS load/store direction for latency events, to fix sample classification

Dapeng Mi · Sep 17, 2026 · 1 files

e961d6db42d1

perf/x86/intel: Fix CMT PEBS load/store direction for latency events, to fix sample classification

Dapeng Mi · Sep 17, 2026 · 1 files

8302c5f475fa

perf/x86/intel: Fix DKT PEBS load/store direction for latency events, to fix sample classification

Dapeng Mi · Sep 17, 2026 · 2 files

335b0642812e

perf/x86/intel: Update arw_latency_data() mem-op direction handling

Dapeng Mi · Sep 17, 2026 · 1 files

7c944595cc43

perf/x86/intel: Remove incorrect LionCove PEBS data-source constraints

Dapeng Mi · Sep 17, 2026 · 1 files

9f93d33ad65a

perf/x86/intel: Remove incorrect Panther Cove PEBS data-source constraints

Dapeng Mi · Sep 17, 2026 · 1 files

0ac5d6ca2c3b

perf/x86/intel: Fix Panther Cove PEBS data-source snoop states

Dapeng Mi · Sep 17, 2026 · 1 files

858b37ca19d3

perf/x86/intel: Delete dead NVL PEBS data-source initcall

Dapeng Mi · Sep 17, 2026 · 1 files

04a7ef3b7aa3

perf/x86/intel: Constrain Panther Cove UOPS_DISPATCHED events to PMCs 0-3

Dapeng Mi · Sep 17, 2026 · 1 files

ff1621adfdd7

perf/x86/intel: Fix precise OMR event scheduling for DMR/NVL

Dapeng Mi · Sep 17, 2026 · 1 files

0102c8c7fdfc

perf/x86/intel: Rename DMR offcore_rsp attribute to offmodule_rsp

Dapeng Mi · Sep 17, 2026 · 1 files

d4d9ccbad527

perf/x86/intel: Rename NVL offcore_rsp attribute to offmodule_rsp

Dapeng Mi · Sep 17, 2026 · 1 files

a0bb6fac53fa

sched/core: Account PSI IRQ time to the execution context, not the scheduling context

Zhan Xusheng · Sep 18, 2026 · 1 files

cca4980630b3

perf/core: Fix a refcount leak in attach_perf_ctx_data()

Namhyung Kim · Sep 20, 2026 · 1 files

cb97bf3d4f91

i2c: qcom-geni: Fix hardcoded clock index in SE_GENI_CLK_SEL

Viken Dadhaniya · Sep 21, 2026 · 1 files

cec38d5c098a

perf/x86/intel: Ensure KVM guest PEBS path doesn't set unwanted PERF_GLOBAL_CTRL bits

Sean Christopherson · Sep 21, 2026 · 1 files

4b64dbdc5861

perf/x86/intel: Don't write PEBS_ENABLED on host<=>guest xfers if CPU has PEBS isolation, to fix stuck PEBS_ENABLED

Sean Christopherson · Sep 21, 2026 · 1 files

d06260e99eb9

perf/x86/intel: Don't pointlessly context switch DS_AREA (and PEBS config) if PEBS is unused

Sean Christopherson · Sep 21, 2026 · 1 files

a391618e1d56

perf/x86/intel: Make @data a mandatory param for intel_guest_get_msrs()

Sean Christopherson · Sep 21, 2026 · 1 files

0d6526f82c3c

sched/cache: Keep nr_pref_llc_running in the runnable domain, to fix LLC mis-scheduling bug

Tim Chen · Sep 22, 2026 · 1 files

d6013e2465d9

sched/cache: Honor migrate_llc_task semantics in active load balance, to fix LLC mis-scheduling bug

Lu Wang · Sep 22, 2026 · 1 files

28f9c0e0a0b9

sched/cache: Decouple sched_cache_group from mm to fix UAF

Tim Chen · Sep 22, 2026 · 4 files

b636fef85bda

sched/cache: Introduce task_struct->sched_cache_grp to fix UAF

Tim Chen · Sep 22, 2026 · 5 files

65efcccddc83

sched/cache: Skip kernel threads for cache aware scheduling to rubustify the code

Chen Yu · Sep 22, 2026 · 1 files

3cb0243767fd

sched/cache: Refresh LLC capacity across CPU hotplug, to fix capacity underestimation bug

Davi Chaves Azevedo · Sep 22, 2026 · 3 files

b8d1d5b63a8e

x86/mce: Fix hardware debug register corruption on task migration

Masami Hiramatsu (Google) · Sep 22, 2026 · 1 files

31c88350b7dd

cgroup/cpuset: Return PERR_NOCPUS in remote_partition_enable() on subpartitions_cpus conflict

Hui Peng · Sep 24, 2026 · 2 files

db6365ced4d5

workqueue: Fix NULL current_pwq deref in flush dependency check

Pavankumar Kondeti · Sep 25, 2026 · 1 files

94480606a677

sched_ext: Add a size argument to scx_bpf_cid_topo() so struct scx_cid_topo can grow

Tejun Heo · Sep 26, 2026 · 3 files

72d3fcf802c4

Linux 7.3-rc5

Linus Torvalds · Sep 27, 2026 · 1 files