aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/uipc_sem.c
diff options
context:
space:
mode:
authorHayzam Sherif <hayzam@gmail.com>2026-11-02 16:21:36 +0000
committerMark Johnston <markj@FreeBSD.org>2026-11-02 16:26:57 +0000
commit0340fb03288166091a8cdf694f5fed20e4c4f9ac (patch)
treee9019ec0ad07b379f32cfe42304e9e42254ce75f /sys/kern/uipc_sem.c
parentee9205f068c7675cf4d23e51cc98238d95ba1950 (diff)
vmm: Skip TMR rebuilds for edge-to-edge IOAPIC writesHEADmain
IOAPIC redirection-table writes rendezvous all active vCPUs to rebuild their vlapic trigger-mode registers when fields other than mask or polarity change. Retargeting an edge-triggered pin incurs this cost even though it does not contribute to the TMR. vioapic_update_tmr() rebuilds the TMR from level-triggered entries only. Skip the rendezvous when the modified entry is edge-triggered both before and after the write. Check the old and new trigger modes so that edge-to-level and level-to-edge transitions still rebuild the TMR. Retain the existing all-vCPU rebuild path, mask/polarity exclusions and remote-IRR handling. Reported by: Wanpeng Qian <wanpengqian@gmail.com> Reviewed by: Wanpeng Qian <wanpengqian@gmail.com>, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D60721
Diffstat (limited to 'sys/kern/uipc_sem.c')
0 files changed, 0 insertions, 0 deletions