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)
Wed, Nov 6, 12:40 AM
Unknown Object (File)
Mon, Nov 4, 9:53 PM
Unknown Object (File)
Fri, Oct 25, 1:56 PM
Unknown Object (File)
Tue, Oct 22, 7:58 PM
Unknown Object (File)
Tue, Oct 22, 7:45 PM
Unknown Object (File)
Tue, Oct 22, 6:52 PM
Unknown Object (File)
Tue, Oct 22, 11:34 AM
Unknown Object (File)
Oct 5 2024, 8:42 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