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

Swap support #130

Merged
merged 10 commits into from
Aug 20, 2024
Merged

Swap support #130

merged 10 commits into from
Aug 20, 2024

Conversation

heatd
Copy link
Owner

@heatd heatd commented Aug 10, 2024

No description provided.

heatd added 5 commits August 10, 2024 01:05
Fixes ubsan complaints

Signed-off-by: Pedro Falcato <[email protected]>
This helps debug held spinlocks, et al. We can quickly fix it up and see
if a next call hangs indefinitely.

Signed-off-by: Pedro Falcato <[email protected]>
Signed-off-by: Pedro Falcato <[email protected]>
Add anon_vma, which allows us to do the reverse anon page -> vma
mapping. Similar to the original anon_vma design for Linux.

Signed-off-by: Pedro Falcato <[email protected]>
Includes swap parsing, mkswap, swapon(1) and swapon(2).
Does _not_ include actual swapping yet.

Signed-off-by: Pedro Falcato <[email protected]>
heatd added 2 commits August 19, 2024 23:09
Add swapping of anon pages to disk. Also, while we're at it, perform _a
lot_ of miscellaneous refactoring and moving around of code, including
adding proper GFP flags in a bunch of places, some CHECKs, a bunch of
page fault work. This is not perfect but I'm working on it.

Also fix the UART8250 ACPI and DT builds.
This disables the ARM64 builds in CI because they're broken.

Signed-off-by: Pedro Falcato <[email protected]>
Prepare the switch of slab.cpp to slab.c by removing auto.

Signed-off-by: Pedro Falcato <[email protected]>
heatd added 2 commits August 20, 2024 00:49
Signed-off-by: Pedro Falcato <[email protected]>
Add TYPESAFE_BY_RCU support. These caches guarantee type stability of
objects without the need for kfree_rcu or similar (under the RCU read
lock). They do so by only reclaiming slabs after an RCU quiescent period
has passed. This patch also adds ctor support.

While we're at it, use TYPESAFE_BY_RCU for anon_vma, which was the
original intended usage.

Signed-off-by: Pedro Falcato <[email protected]>
@heatd heatd marked this pull request as ready for review August 20, 2024 22:11
@heatd heatd merged commit 0069b6f into master Aug 20, 2024
23 checks passed
@heatd heatd deleted the pedro/swap branch August 20, 2024 22:11
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.

1 participant