Implement user fault handling with userfaultfd on Linux.
This commit implements the `uffd` feature which turns on support for utilizing the `userfaultfd` system call on Linux for the pooling instance allocator. By handling page faults in userland, we are able to detect guard page accesses without having to constantly change memory page protections. This should help reduce the number of syscalls as well as kernel lock contentions when many threads are allocating and deallocating instances. Additionally, the user fault handler can lazy initialize linear memories of an instance (implementation to come).
This commit is contained in:
1
.github/workflows/main.yml
vendored
1
.github/workflows/main.yml
vendored
@@ -122,6 +122,7 @@ jobs:
|
||||
- run: cargo check --manifest-path crates/wasmtime/Cargo.toml --features jitdump
|
||||
- run: cargo check --manifest-path crates/wasmtime/Cargo.toml --features cache
|
||||
- run: cargo check --manifest-path crates/wasmtime/Cargo.toml --features async
|
||||
- run: cargo check --manifest-path crates/wasmtime/Cargo.toml --features uffd
|
||||
|
||||
# Check some feature combinations of the `wasmtime-c-api` crate
|
||||
- run: cargo check --manifest-path crates/c-api/Cargo.toml --no-default-features
|
||||
|
||||
Reference in New Issue
Block a user