Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Merge requests
  • !5028

i#5026 icount perf: Use per-thread counters

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Derek Bruening requested to merge i5026-delay-per-thread into master Jul 27, 2021
  • Overview 2
  • Commits 1
  • Pipelines 0
  • Changes 3

For drmemtrace -trace_after_instrs, if the threshold is large (>10M), we use per-thread counters and only check the global value every 10K instructions in each thread. The approximate result is fine for these use cases.

Tested on the original app where the global counter contention results in a 20x slowdown over plain DR. The new scheme has a 14% slowdown over plain DR on this app, a massive speedup.

Fixes #5026 (closed)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: i5026-delay-per-thread