Page MenuHomeFreeBSD

powerpc64: Optimize radix trap handling a little more
ClosedPublic

Authored by jhibbits on Apr 27 2021, 2:21 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Nov 13, 5:37 AM
Unknown Object (File)
Mon, Nov 11, 12:24 PM
Unknown Object (File)
Sun, Nov 10, 10:15 AM
Unknown Object (File)
Sat, Nov 9, 9:47 PM
Unknown Object (File)
Sat, Nov 9, 8:51 PM
Unknown Object (File)
Sat, Nov 9, 7:17 PM
Unknown Object (File)
Sat, Nov 9, 7:12 PM
Unknown Object (File)
Sat, Nov 9, 5:31 PM
Subscribers

Details

Summary

Since PCPU can live in a GPR for a while longer, let it, rather than
re-getting it in yet another register. MFSPR is an expensive operation,
12 clock latency on POWER9, so the fewer operations we need, the better.

Since the check is tightly coupled to the fetch, by reducing the number
of fetch+check, we reduce the stalls, and improve the performance
marginally. Buildworld was measured at a ~5-7% improvement on a single
run.

Test Plan

Boot on radix and HPT

Diff Detail

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

Event Timeline

Looks good to me. Thanks! There are probably more instances of this kind of thing lying around.

This revision is now accepted and ready to land.Apr 29 2021, 12:29 PM