-
Notifications
You must be signed in to change notification settings - Fork 824
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
Wasix major fixes and tweaks #3584
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
john-sharratt
commented
Feb 15, 2023
- Removed generation_arena which was causing some serious leakages of files and sockets
- Added OsError for NetworkErrors so that "Too Many Open Files" is properly passed
- Local networking will now cap at 10 sockets in the backlog
- Added the missing shutdown error code
- Removed the inodes lock around most of the WASI syscalls
- Fixed some race conditions in the event notifications for WASI
- The polling loop will now only notify a closed socket once
- Event notifications now uses Wakers rather than MPSC
- Some socket errors now return the right codes which prevents panics in WASM
- Fixed a bug where the file read and write guards might release the file before the lock
- The inode seed is now much safer preventing overlaps
- The fd seed is now much safer preventing overlaps
- Closing files is now implicit rather than explicit reducing possibliities for error
- Forking of file descriptors is now much simplier
- Polling events will now be returned in random order to prevent some race conditions
- Removed a number of memory allocations which were wasting memory and performance
- Sockets now only copy the send and recv data once rather than multiple times
- Avoiding a memory copy on all socket reads and writes using a new `copy_from_slice` instead - File openers no longer box the implementation avoiding a memory allocation on all file access - Polling sockets rather than using an async function which significantly reduces locking contention and removes an box operation - Futex now uses wakers rather than broadcasts which makes them more efficient and durable - Converted many async functions into sync functions in vnet - Sleeping no longer allocates memory - Avoiding a number of WasiEnv clones which was impacting performance and memory efficiency
* Revert "Revert "bump inkwell to 0.1.0"" * Updated Inkwell to 0.1.1 --------- Co-authored-by: ptitSeb <[email protected]>
- Removed generation_arena which was causing some serious leakages of files and sockets - Added OsError for NetworkErrors so that "Too Many Open Files" is properly passed - Local networking will now cap at 10 sockets in the backlog - Added the missing shutdown error code - Removed the inodes lock around most of the WASI syscalls - Fixed some race conditions in the event notifications for WASI - The polling loop will now only notify a closed socket once - Event notifications now uses Wakers rather than MPSC - Some socket errors now return the right codes which prevents panics in WASM - Fixed a bug where the file read and write guards might release the file before the lock - The inode seed is now much safer preventing overlaps - The fd seed is now much safer preventing overlaps - Closing files is now implicit rather than explicit reducing possibliities for error - Forking of file descriptors is now much simplier - Polling events will now be returned in random order to prevent some race conditions - Removed a number of memory allocations which were wasting memory and performance - Sockets now only copy the send and recv data once rather than multiple times
theduke
reviewed
Feb 15, 2023
Make AsStoreRef and friends work for anything that implements Deref
… a privata mod and added some extra protection against race conditions
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.