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
F152115534: D30003.diff
Sun, Apr 12, 8:17 PM
Unknown Object (File)
Wed, Apr 8, 2:39 AM
Unknown Object (File)
Wed, Apr 1, 1:20 PM
Unknown Object (File)
Mon, Mar 30, 2:58 AM
Unknown Object (File)
Sat, Mar 28, 6:20 AM
Unknown Object (File)
Wed, Mar 25, 5:43 AM
Unknown Object (File)
Mon, Mar 23, 4:32 AM
Unknown Object (File)
Wed, Mar 18, 8:49 AM
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