Page MenuHomeFreeBSD

dtrace/arm: Fix and de-pessimize dtrace_copy
ClosedPublic

Authored by freebsd_dev.thsi.be on Sun, Aug 30, 10:51 PM.
Tags
None
Referenced Files
F170699595: D59280.diff
Sun, Sep 6, 2:25 AM
F170670477: D59280.id185706.diff
Sat, Sep 5, 10:48 PM
Unknown Object (File)
Sat, Sep 5, 3:07 AM
Unknown Object (File)
Sat, Sep 5, 1:34 AM
Unknown Object (File)
Fri, Sep 4, 7:35 PM
Unknown Object (File)
Fri, Sep 4, 3:09 PM
Unknown Object (File)
Fri, Sep 4, 9:17 AM
Unknown Object (File)
Fri, Sep 4, 6:52 AM
Subscribers

Details

Summary

Use an unprivileged load to access user memory from dtrace_copy, which
is running in SVC mode.

Abort the loop if the load is trapped, as it is useless, hence
wasteful, to keep faulting on successive addresses. I believe that
this de-pessimization should also be done on aarch64 and riscv.

PR: 298064
MFC after: 1 month

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 76354
Build 73237: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Wed, Sep 2, 1:15 PM
This revision was automatically updated to reflect the committed changes.