You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.
Yep, that's exactly what I'm going to add next :) the hope is to use it in the linker to map program segments into memory to hopefully speed things up a little.
That's what I'm hoping to do. Right now, the disk is cached at the block level, so it would rely on files being aligned at page boundaries. I may have to rework the VFS cache a little too.
I've got inode mappings working on a basic level. Shared and private mappings both work, but more can definitely be done to speed things up. In no particular order, here's a list of things I still need to do:
Allow for the partial copy-on-write of VMObjects. As in, copy each page as needed rather than copying the whole object when one page is written to.
When mapping an inode privately with write permissions, use the shared mapping pages and mark them as CoW to speed things up.
Add mremap and msync.
Eliminate the block-level cache and just use the shared inode cache instead.
Rewrite ld to use memory-mapped files to reduce memory usage as well as speed things up.
Suggestion
Hi Aaron,
Good to see you still working on the VM subsystem.
I put this issue as a memo for the missing features of the mmap() implementation.
I hope you are already at work on it.
Keep going man!
The text was updated successfully, but these errors were encountered: