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

mirage-runtime: provide sleeper storage #1526

Closed
wants to merge 1 commit into from

Conversation

hannesm
Copy link
Member

@hannesm hannesm commented May 6, 2024

The purpose of this storage is to be able to move the Time.sleep_ns functionality to a different place than mirage-solo5/mirage-xen. Since this is a very different change than other things in #1521, I'd appreciate this to be reviewed separately.

As mentioned, this is a prerequisite to solve #1513 and has been carved out of #1521.

This was referenced May 10, 2024
@samoht
Copy link
Member

samoht commented May 17, 2024

Just to understand the design constraints better: why does this change need to be here and not in mirage_time.ml ?

@hannesm
Copy link
Member Author

hannesm commented May 17, 2024

We need in mirage-solo5/mirage-xen access to this sleeper storage, but the mirage-time package should be able to implement the sleep_ns (by pushing stuff into this queue).

Now, we could push the storage into mirage-time, but what would this mean for a unix backend (where the sleeper is implemented differently using Lwt_unix)? We could put it into mirage-solo5 / mirage-xen, but then there can't be a mirage-time.solo5 implementiation for both solo5 and xen (but there would need to be a disjoint mirage-time.xen).

What does it hurt to have it in mirage-runtime, next to the at_exit stuff etc.?

@hannesm
Copy link
Member Author

hannesm commented May 17, 2024

ok, so I agree we can move it to mirage-time. I can't see blockers for doing that.

@hannesm hannesm closed this May 17, 2024
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

Successfully merging this pull request may close these issues.

None yet

2 participants