Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
$ iostress 32 512 0 > /vtty # before
512 calls, 0 bytes. avg 121133
$ iostress 32 512 0 > /vtty # after
512 calls, 0 bytes. avg 103540
103540/121133 = ~85%
I think the tiny bit of added complexity is worth it here.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Previously, file ids could only be positive integers, so their range
was 31 bits - not enough to represent the entire memory. Now, pointers
can be safely used as file ids.
|
|
|
|
this is big in terms of speed, it avoids a lot of unnecessary context
switches
|
|
|
|
|
|
|
|
|
|
|
|
thus they can opt out of doing that
so the calls which might return immediately but can return later don't
have to both regs_savereturn and return to the caller.
and because of that, the return values of a lot of VFS things have just
got way saner
|
|
|
|
|
|
|
|
|
|
|
|
|
|
...instead of letting the hwole process stay around.
This could end up a bit more complex, I have no idea how to test killing
processes during vfs requests.
The upside of this is that I can remove all the deathbed/deadparent
weirdness now.
|
|
what a mess
|
|
|
|
|
|
|
|
|
|
|
|
|
|
handling the backend queue makes more sense here than in the syscall
implementation. it's also just overall cleaner
|
|
|
|
|
|
|
|
removes `proc.c`'s pointless dependency on `vfs/root.h`
|
|
|
|
|
|
|
|
|
|
|
|
proper multiprocess support!
|
|
|
|
|