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
F171320647: D59280.id185502.diff
Thu, Sep 10, 9:43 AM
F171281805: D59280.id185460.diff
Thu, Sep 10, 2:55 AM
F171266179: D59280.id185706.diff
Wed, Sep 9, 11:42 PM
Unknown Object (File)
Wed, Sep 9, 7:34 AM
Unknown Object (File)
Tue, Sep 8, 3:46 PM
Unknown Object (File)
Tue, Sep 8, 2:39 PM
Unknown Object (File)
Tue, Sep 8, 12:46 PM
Unknown Object (File)
Tue, Sep 8, 6:58 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 76339
Build 73222: 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.