mirror of
https://github.com/RGBCube/serenity
synced 2026-01-13 20:20:59 +00:00
Before this patch, Core::SessionManagement::parse_path_with_sid() would figure out the root session ID by sifting through /sys/kernel/processes. That file can take quite a while to generate (sometimes up to 40ms on my machine, which is a problem on its own!) and with no caching, many of our programs were effectively doing this multiple times on startup when unveiling something in /tmp/session/%sid/ While we should find ways to make generating /sys/kernel/processes fast again, this patch addresses the specific problem by introducing a new syscall: sys$get_root_session_id(). This extracts the root session ID by looking directly at the process table and takes <1ms instead of 40ms. This cuts WebContent process startup time by ~100ms on my machine. :^) |
||
|---|---|---|
| .. | ||
| POSIX | ||
| Device.h | ||
| DeviceEvent.h | ||
| Graphics.h | ||
| InodeWatcherEvent.h | ||
| InodeWatcherFlags.h | ||
| KeyCode.h | ||
| MemoryLayout.h | ||
| MousePacket.h | ||
| serenity_limits.h | ||
| Syscall.h | ||
| SyscallString.h | ||
| TimePage.h | ||
| Unveil.h | ||
| VirGL.h | ||
| VirtualMemoryAnnotations.h | ||