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)
Feb 13 2024, 12:01 AM
Unknown Object (File)
Dec 20 2023, 3:32 AM
Unknown Object (File)
Dec 12 2023, 1:35 PM
Unknown Object (File)
Nov 21 2023, 3:00 AM
Unknown Object (File)
Nov 14 2023, 12:32 PM
Unknown Object (File)
Oct 13 2023, 11:34 AM
Unknown Object (File)
Oct 5 2023, 5:20 PM
Unknown Object (File)
Oct 2 2023, 3:22 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
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 38327
Build 35216: arc lint + arc unit

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