Page MenuHomeFreeBSD

Optimize set_syscall_retval for arm64
ClosedPublic

Authored by trasz on Oct 28 2020, 7:44 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Nov 6, 11:56 AM
Unknown Object (File)
Tue, Oct 29, 5:31 AM
Unknown Object (File)
Sat, Oct 19, 7:08 AM
Unknown Object (File)
Tue, Oct 8, 9:56 PM
Unknown Object (File)
Oct 5 2024, 8:41 PM
Unknown Object (File)
Oct 5 2024, 6:57 PM
Unknown Object (File)
Oct 5 2024, 12:00 PM
Unknown Object (File)
Oct 5 2024, 8:38 AM

Details

Summary

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

Diff Detail

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

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.