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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Source commits35 entries +
perf/core: Fix NULL pmu_ctx passed to pmu->sched_task()
Puranjay Mohan · Aug 10, 2026 · 1 files
perf/core: Run sched_task() for PMUs with only CPU-wide events
Puranjay Mohan · Aug 10, 2026 · 1 files
perf/core: Fill branch entries with a single assignment
Puranjay Mohan · Aug 10, 2026 · 5 files
debugfs: don't warn about uninitialized debugfs for an error parent
Mikhail Gavrilov · Sep 3, 2026 · 1 files
x86/sev: Make vTPM SVSM calls preemption-safe
Melody Wang · Sep 14, 2026 · 1 files
perf/x86/intel: Fix GRT PEBS load/store direction for latency events, to fix sample classification
Dapeng Mi · Sep 17, 2026 · 1 files
perf/x86/intel: Fix CMT PEBS load/store direction for latency events, to fix sample classification
Dapeng Mi · Sep 17, 2026 · 1 files
perf/x86/intel: Fix DKT PEBS load/store direction for latency events, to fix sample classification
Dapeng Mi · Sep 17, 2026 · 2 files
perf/x86/intel: Update arw_latency_data() mem-op direction handling
Dapeng Mi · Sep 17, 2026 · 1 files
perf/x86/intel: Remove incorrect LionCove PEBS data-source constraints
Dapeng Mi · Sep 17, 2026 · 1 files
perf/x86/intel: Remove incorrect Panther Cove PEBS data-source constraints
Dapeng Mi · Sep 17, 2026 · 1 files
perf/x86/intel: Fix Panther Cove PEBS data-source snoop states
Dapeng Mi · Sep 17, 2026 · 1 files
perf/x86/intel: Delete dead NVL PEBS data-source initcall
Dapeng Mi · Sep 17, 2026 · 1 files
perf/x86/intel: Constrain Panther Cove UOPS_DISPATCHED events to PMCs 0-3
Dapeng Mi · Sep 17, 2026 · 1 files
perf/x86/intel: Fix precise OMR event scheduling for DMR/NVL
Dapeng Mi · Sep 17, 2026 · 1 files
perf/x86/intel: Rename DMR offcore_rsp attribute to offmodule_rsp
Dapeng Mi · Sep 17, 2026 · 1 files
perf/x86/intel: Rename NVL offcore_rsp attribute to offmodule_rsp
Dapeng Mi · Sep 17, 2026 · 1 files
sched/core: Account PSI IRQ time to the execution context, not the scheduling context
Zhan Xusheng · Sep 18, 2026 · 1 files
perf/core: Fix a refcount leak in attach_perf_ctx_data()
Namhyung Kim · Sep 20, 2026 · 1 files
i2c: qcom-geni: Fix hardcoded clock index in SE_GENI_CLK_SEL
Viken Dadhaniya · Sep 21, 2026 · 1 files
perf/x86/intel: Ensure KVM guest PEBS path doesn't set unwanted PERF_GLOBAL_CTRL bits
Sean Christopherson · Sep 21, 2026 · 1 files
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
perf/x86/intel: Don't pointlessly context switch DS_AREA (and PEBS config) if PEBS is unused
Sean Christopherson · Sep 21, 2026 · 1 files
perf/x86/intel: Make @data a mandatory param for intel_guest_get_msrs()
Sean Christopherson · Sep 21, 2026 · 1 files
sched/cache: Keep nr_pref_llc_running in the runnable domain, to fix LLC mis-scheduling bug
Tim Chen · Sep 22, 2026 · 1 files
sched/cache: Honor migrate_llc_task semantics in active load balance, to fix LLC mis-scheduling bug
Lu Wang · Sep 22, 2026 · 1 files
sched/cache: Decouple sched_cache_group from mm to fix UAF
Tim Chen · Sep 22, 2026 · 4 files
sched/cache: Introduce task_struct->sched_cache_grp to fix UAF
Tim Chen · Sep 22, 2026 · 5 files
sched/cache: Skip kernel threads for cache aware scheduling to rubustify the code
Chen Yu · Sep 22, 2026 · 1 files
sched/cache: Refresh LLC capacity across CPU hotplug, to fix capacity underestimation bug
Davi Chaves Azevedo · Sep 22, 2026 · 3 files
x86/mce: Fix hardware debug register corruption on task migration
Masami Hiramatsu (Google) · Sep 22, 2026 · 1 files
cgroup/cpuset: Return PERR_NOCPUS in remote_partition_enable() on subpartitions_cpus conflict
Hui Peng · Sep 24, 2026 · 2 files
workqueue: Fix NULL current_pwq deref in flush dependency check
Pavankumar Kondeti · Sep 25, 2026 · 1 files
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
Linux 7.3-rc5
Linus Torvalds · Sep 27, 2026 · 1 files