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

OpenBSD support #594

Open
mjp41 opened this issue Feb 22, 2023 · 4 comments
Open

OpenBSD support #594

mjp41 opened this issue Feb 22, 2023 · 4 comments

Comments

@mjp41
Copy link
Member

mjp41 commented Feb 22, 2023

We currently have OpenBSD in CI, but the system is failing to initialise the pagemap.

I believe this is because the pagemap is very large, and OpenBSD does not support overcommit. I could not find a MAP_NORESERVE like flag that could be used.

Given the current design, I do not see a way to support an OS that does not separate the concept of reserve and commit, either explicitly as in Windows, or implicitly as in Linux and FreeBSD.

I am raising this issue to track thoughts on this.

@nwf-msr, @davidchisnall, @devnexen

@devnexen
Copy link
Collaborator

OpenBSD does not support overcommit nor have any sort of OOM as linux has, instead the memory allocation will just fail.

@davidchisnall
Copy link
Collaborator

How did it ever work on OpenBSD? Did it only work on 32-bit systems?

@mjp41
Copy link
Member Author

mjp41 commented Feb 24, 2023

Originally, the pagemap was only 16MiB (i.e. in the paper). So at that point it could have worked reasonably. I am thinking we should drop OpenBSD from the CI?

@nwf-msr
Copy link
Contributor

nwf-msr commented Feb 24, 2023

IIRC, snmalloc1 also had a tree-based PageMap option... someone very keen on OpenBSD support could reinstate that? (It should be relatively straightforward as these things go?)

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

4 participants