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
  • Issues
  • #4226
Closed
Open
Issue created Mar 26, 2020 by Derek Bruening@derekbrueningContributor

fragment deletion event is slow: it takes 1.5 seconds or more on detach on large apps

While adding function tracing to drcachesim (#3048 (closed)) I was consistently seeing a big slowdown on detach: it used to take 0.3s to detach from 600-ish threads and fully clean up DR, but with function tracing it suddenly took 1.7s. I tracked it down to just initializing drwrap, even without wrapping anything! It turns out it's the fragment delete event. If it's enabled, at cleanup DR walks every fragment (500K for this app's attach-detach window), does individual cleanup, and calls the client callback.

For now I'm removing the drwrap event as it happens to not be necessary.

For the future we should try to remove all the individual fragment deletion work and limit it to only calling the client callback, which should shrink the time taken.

Assignee
Assign to
Time tracking