Page MenuHomeFreeBSD

powerpc64: add missing TLB invalidations to radix
ClosedPublic

Authored by luporl on Mar 31 2021, 12:12 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
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

sys/powerpc/aim/mmu_radix.c
5228

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