Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential optimization for incremental snapshotting #4

Open
superobertking opened this issue Aug 30, 2021 · 0 comments
Open

Potential optimization for incremental snapshotting #4

superobertking opened this issue Aug 30, 2021 · 0 comments

Comments

@superobertking
Copy link
Member

  • Keep the mapping after the orbit call (is the current implementation)
  • Iterate through the page table entries, if it is still CoW, we can just keep it there, otherwise recreate the mapping
    • For orbit with two or more calls in the queue, we can either 1) keep the current implementation of using an intermediate snapshotting data structure for all PTEs, or 2) (an optimization for scenario that prohibits orbit to modify the pool) compare the diffs with the previous snapshots in the queue.
  • If overhead of iterating through the pool is still very large, we can apply optimization that: in the page fault handler, update a flag to indicate whether a page fault has happened in a larger region (e.g. a PMD) since the last orbit call. Then in the next snapshot, we can skip those large regions.
  • Add API option in orbit call, whether we want to tear down the mapping or not after/before the orbit call.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant