Skip to content

Commit

Permalink
MFC r368649 / 3fd989d by kib: amd64 pmap: fix PCID mode invalidations
Browse files Browse the repository at this point in the history
r368649 fixed a regression in r362031 that was MFC-ed to stable/12 as
a part of r362572.  That commit reordered IPI send and local TLB flush in
TLB invalidations.

Without this fix we've been seeing problems with stale memory content
where changes done under a mutex were not immediately observed by
another thread after taking the same mutex.  Those inconsistenices were
correlated to copy-on-write faults for pages contaning the data.

The change needed some adaptations as I elected to skip two significant
intermediate changes:
- r363195 / dc43978, amd64: allow parallel shootdown IPIs
- r363311 / 3ec7e16, amd64 pmap: microoptimize local shootdowns for
  PCID PTI configurations

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D33413

(cherry picked from commit 1820ca2)

Approved by:	so
Errata:		FreeBSD-EN-22:04.pcid
  • Loading branch information
avg-I authored and emaste committed Jan 10, 2022
1 parent f1b8efb commit a165b45
Show file tree
Hide file tree
Showing 2 changed files with 153 additions and 152 deletions.

0 comments on commit a165b45

Please sign in to comment.