Page MenuHomeFreeBSD

powerpc64: add missing TLB invalidations to radix
ClosedPublic

Authored by luporl on Mar 31 2021, 12:12 PM.
Referenced Files
Unknown Object (File)
Sat, Dec 14, 2:22 PM
Unknown Object (File)
Nov 14 2024, 12:05 PM
Unknown Object (File)
Nov 6 2024, 12:40 AM
Unknown Object (File)
Nov 4 2024, 9:53 PM
Unknown Object (File)
Oct 25 2024, 1:56 PM
Unknown Object (File)
Oct 22 2024, 7:58 PM
Unknown Object (File)
Oct 22 2024, 7:45 PM
Unknown Object (File)
Oct 22 2024, 6:52 PM

Details

Summary

Radix MMU code was missing TLB invalidations when some Level 3 PDEs were modified.
This caused TLB multi-hit machine check interrupts when superpages were enabled.

Test Plan

Built p5-Lingua-EN-Tagger port several times and performed a buildworld without receiving TLB multi-hit machine checks.

To test system stability, a poudriere bulk build was left running for 4 days, resulting in more than 6000 packages built, 6007 skipped, 14 failed and no TLB multi-hits.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/powerpc/aim/mmu_radix.c
5229

Can you just set anyvalid=true here, and invalidate everything at the end as it's already done?

luporl edited the test plan for this revision. (Show Details)

Address jhibbits' comments

This revision is now accepted and ready to land.Apr 5 2021, 6:45 PM