diff options
author | Andreas Kling <awesomekling@gmail.com> | 2018-11-09 01:25:31 +0100 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2018-11-09 01:25:31 +0100 |
commit | e71cb1c56bc21c2897734a57e8d15c76ec63e038 (patch) | |
tree | 3e2e9de1d5dd4eb8264ea76130a4e2a9dad737b2 /Kernel/init.cpp | |
parent | 7b96218389ce2e69161b2a561d4f606088ff3d65 (diff) | |
download | serenity-e71cb1c56bc21c2897734a57e8d15c76ec63e038.zip |
Fix some paging related bugs exposed by the spawn stress test.
- Process::exec() needs to restore the original paging scope when called
on a non-current process.
- Add missing InterruptDisabler guards around g_processes access.
- Only flush the TLB when modifying the active page tables.
Diffstat (limited to 'Kernel/init.cpp')
-rw-r--r-- | Kernel/init.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Kernel/init.cpp b/Kernel/init.cpp index 867e15965a..fdea163f6f 100644 --- a/Kernel/init.cpp +++ b/Kernel/init.cpp @@ -149,8 +149,8 @@ static void spawn_stress() for (unsigned i = 0; i < 10000; ++i) { int error; Process::create_user_process("/bin/id", (uid_t)100, (gid_t)100, (pid_t)0, error, Vector<String>(), Vector<String>(), tty0); -// kprintf("malloc stats: alloc:%u free:%u page_aligned:%u eternal:%u\n", sum_alloc, sum_free, kmalloc_page_aligned, kmalloc_sum_eternal); -// kprintf("delta:%u\n", sum_alloc - lastAlloc); + kprintf("malloc stats: alloc:%u free:%u page_aligned:%u eternal:%u\n", sum_alloc, sum_free, kmalloc_page_aligned, kmalloc_sum_eternal); + kprintf("delta:%u\n", sum_alloc - lastAlloc); lastAlloc = sum_alloc; sleep(60); } |