linux/kernel/sched
Eric Kim e81ee06308 sched/fair: Reset NUMA fault locality after scan period update
When updating the task scan period for NUMA locality checks,
update_task_scan_period() checks whether there were no faults or failed
migration on the last scan window, at which it prolongs the scan period.

However, p->numa_faults_locality, which is used to check for migration
failure and number of faults at the previous scan window is not cleared
after changing the scan period, which unintentionally increases
numa_scan_period up to numa_scan_period_max even when there were no
migration failures or no faults at previous scan.

Fix this by jumping to the out label on early exit at this case to
ensure p->numa_faults_locality is always cleared before returning.

Closes: https://lore.kernel.org/all/20250404095354.311156-1-qlsdnjs236@chungbuk.ac.kr/
Reported-by: Binwon Song <qlsdnjs236@chungbuk.ac.kr>
Signed-off-by: Eric Kim <seohyun.kim@outlook.kr>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/Message-ID:
2026-09-10 11:01:30 +02:00
..
ext sched_ext: Merge branch 'for-7.3-arena-args' into for-7.3 2026-08-17 11:20:34 -10:00
autogroup.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
autogroup.h
build_policy.c sched_ext: Move scx_dispatch_sched() to a new inlines.h 2026-07-15 13:37:59 -10:00
build_utility.c
clock.c sched/clock: Avoid false sharing for sched_clock_irqtime 2026-02-03 12:04:19 +01:00
completion.c
core_sched.c sched: Unify SMT active check via sched_smt_active() 2026-05-19 12:17:37 +02:00
core.c sched: dynamic: Fix preemption model strings 2026-09-02 12:54:21 +02:00
cpuacct.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cpudeadline.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cpudeadline.h sched/deadline: only set free_cpus for online runqueues 2025-10-16 11:13:49 +02:00
cpufreq_schedutil.c cpufreq: schedutil: Fix rate limit overflow 2026-08-15 19:00:11 +02:00
cpufreq.c
cpupri.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cpupri.h
cputime.c sched: Convert paravirt_steal to new static key APIs 2026-09-02 10:28:24 +02:00
deadline.c sched/deadline: check start_dl_timer expiry with ktime_before() 2026-09-02 10:28:24 +02:00
debug.c sched: dynamic: Fix preemption model strings 2026-09-02 12:54:21 +02:00
fair.c sched/fair: Reset NUMA fault locality after scan period update 2026-09-10 11:01:30 +02:00
features.h sched/rt: Have RT_PUSH_IPI be default off for non PREEMPT_RT 2026-05-19 12:17:39 +02:00
idle.c sched_ext: Route ops.update_idle() to sub-schedulers and re-notify owed scheds 2026-07-13 22:18:44 -10:00
isolation.c sched/isolation: Defer freeing of cpumask memblock memory to initcall 2026-08-13 12:37:03 +02:00
loadavg.c Merge branch 'tip/sched/urgent' 2025-07-14 17:16:28 +02:00
Makefile sched: Enable context analysis for core.c and fair.c 2026-01-05 16:43:36 +01:00
membarrier.c Locking updates for v7.2: 2026-06-15 14:21:14 +05:30
pelt.c sched/eevdf: Move to a single runqueue 2026-06-30 10:56:53 +02:00
pelt.h sched/fair: Switch to task based throttle model 2025-09-03 10:03:14 +02:00
psi.c Merge branch 'sched/urgent' 2026-08-14 16:12:58 +02:00
rq-offsets.c sched: Make migrate_{en,dis}able() inline 2025-09-25 09:57:16 +02:00
rt.c sched/rt,dl: Skip migrate-disabled tasks when picking a push candidate 2026-09-02 09:17:49 +02:00
sched-pelt.h
sched.h sched/feat: Use the new static key API for sched_feat 2026-09-02 10:28:24 +02:00
smp.h
stats.c
stats.h sched/fair: Co-locate cfs_rq and sched_entity in cfs_tg_state 2026-06-02 12:26:10 +02:00
stop_task.c sched: Rework prev_balance() to avoid stale prev references 2026-06-02 12:26:06 +02:00
swait.c
syscalls.c Linux 7.0-rc4 2026-03-17 07:14:42 +01:00
topology.c Summary 2026-08-20 08:46:41 -07:00
wait_bit.c futex: Fix might_sleep() warning in futex_pivot_pending() 2026-08-20 18:26:42 +02:00
wait.c futex: Fix might_sleep() warning in futex_pivot_pending() 2026-08-20 18:26:42 +02:00