Page MenuHomeFreeBSD

Optimize set_syscall_retval for arm64
ClosedPublic

Authored by trasz on Oct 28 2020, 7:44 PM.
Tags
None
Referenced Files
F162957168: D26991.id83531.diff
Sat, Jul 18, 4:49 PM
Unknown Object (File)
Sat, Jul 4, 7:47 PM
Unknown Object (File)
Fri, Jul 3, 7:49 AM
Unknown Object (File)
Tue, Jun 30, 6:40 PM
Unknown Object (File)
Tue, Jun 30, 8:00 AM
Unknown Object (File)
Jun 16 2026, 12:50 PM
Unknown Object (File)
Jun 15 2026, 4:14 PM
Unknown Object (File)
Jun 10 2026, 1:38 PM

Details

Summary

Optimize set_syscall_retval() for arm64 by predicting the return
value to be zero.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 34449
Build 31551: arc lint + arc unit

Event Timeline

trasz requested review of this revision.Oct 28 2020, 7:44 PM

similar to amd64,

if (__predict_true(error == 0)) {
        frame->tf_rax = td->td_retval[0];
        frame->tf_rdx = td->td_retval[1];
        frame->tf_rflags &= ~PSL_C;
        return;
}
emaste added a subscriber: mhorne.

Maybe worth a comment about the microoptimization?

This revision is now accepted and ready to land.Jan 8 2021, 3:37 PM

See also, the analogous commit for riscv: rS367138.

This revision was automatically updated to reflect the committed changes.