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)
Thu, Sep 12, 4:00 PM
Unknown Object (File)
Thu, Aug 29, 11:01 PM
Unknown Object (File)
Aug 18 2024, 8:52 AM
Unknown Object (File)
Aug 17 2024, 7:02 PM
Unknown Object (File)
Aug 17 2024, 7:02 PM
Unknown Object (File)
Aug 17 2024, 7:02 PM
Unknown Object (File)
Aug 17 2024, 5:47 PM
Unknown Object (File)
Aug 14 2024, 7:53 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.