From 0b14081ae191d5fcbd831ad8542a22632aa18f93 Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Tue, 4 Apr 2023 14:02:39 +0300 Subject: [PATCH] Kernel: Mark sys$map_time_page as not needing the big lock All accesses to shared mutable data are already serialized behind the process address space spinlock. --- Kernel/API/Syscall.h | 2 +- Kernel/Syscalls/clock.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index dec6baa4b5..a7f134eec9 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -122,7 +122,7 @@ enum class NeedsBigProcessLock { S(listen, NeedsBigProcessLock::No) \ S(lseek, NeedsBigProcessLock::No) \ S(madvise, NeedsBigProcessLock::No) \ - S(map_time_page, NeedsBigProcessLock::Yes) \ + S(map_time_page, NeedsBigProcessLock::No) \ S(mkdir, NeedsBigProcessLock::No) \ S(mknod, NeedsBigProcessLock::No) \ S(mmap, NeedsBigProcessLock::Yes) \ diff --git a/Kernel/Syscalls/clock.cpp b/Kernel/Syscalls/clock.cpp index 8dc4571e71..b8ab20c97f 100644 --- a/Kernel/Syscalls/clock.cpp +++ b/Kernel/Syscalls/clock.cpp @@ -12,7 +12,7 @@ namespace Kernel { ErrorOr Process::sys$map_time_page() { - VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this); + VERIFY_NO_PROCESS_BIG_LOCK(this); TRY(require_promise(Pledge::stdio)); auto& vmobject = TimeManagement::the().time_page_vmobject();