diff options
| author | Alan Cox <alc@FreeBSD.org> | 2026-08-07 21:51:04 +0000 |
|---|---|---|
| committer | Alan Cox <alc@FreeBSD.org> | 2026-08-14 20:57:35 +0000 |
| commit | 6fa9c2b1d2824034268646e0744e5e010155ffaf (patch) | |
| tree | b39943ae752499de8d20013550fc5127456e2253 /lib/Target/AArch64 | |
| parent | 7753a59fdf196fcbd8bb5706ad44bfc590bce0a9 (diff) | |
While testing an unrelated pmap change, D58708, that dramatically
reduces the number of TLBI instructions performed, and likely the
timing of unrelated events, I started seeing "Storing an invalid VFP
state" panics in vfp_save_state_common(). However, the origin of this
panic is elsewhere, in the else branch of sve_restore_state().
Specifically, my pmap change seems to have increased the likelihood that
the thread executing the else branch would be preempted by another
thread between the critical_exit() inside the else branch's call to
vfp_restore_state_common() and its own call to critical_enter(). Prior
to expanding the scope of the else branch's critical section, the MPASS
added by this change would fire, catching the problem at its source,
rather than later in vfp_save_state_common().
Assisted-by: Claude Code (Opus 5)
Reviewed by: kib, markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D58723
Diffstat (limited to 'lib/Target/AArch64')
0 files changed, 0 insertions, 0 deletions
