From 4fa3c1bf2dd7232afcacbcd57d2fbce448f002d7 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 15 Jan 2022 01:47:28 +0100 Subject: [PATCH] Kernel: Remove old "region lookup cache" optimization This optimization was added when region lookup was O(n), before we had the O(log n) RedBlackTree. Let's remove it to simplify the code, as we have no evidence that it remains valuable. --- Kernel/Memory/AddressSpace.cpp | 9 --------- Kernel/Memory/AddressSpace.h | 6 ------ 2 files changed, 15 deletions(-) diff --git a/Kernel/Memory/AddressSpace.cpp b/Kernel/Memory/AddressSpace.cpp index 92c0b9b7ee..1e904b1369 100644 --- a/Kernel/Memory/AddressSpace.cpp +++ b/Kernel/Memory/AddressSpace.cpp @@ -203,10 +203,6 @@ void AddressSpace::deallocate_region(Region& region) NonnullOwnPtr AddressSpace::take_region(Region& region) { SpinlockLocker lock(m_lock); - - if (m_region_lookup_cache.region.unsafe_ptr() == ®ion) - m_region_lookup_cache.region = nullptr; - auto found_region = m_regions.unsafe_remove(region.vaddr().get()); VERIFY(found_region.ptr() == ®ion); return found_region; @@ -215,9 +211,6 @@ NonnullOwnPtr AddressSpace::take_region(Region& region) Region* AddressSpace::find_region_from_range(VirtualRange const& range) { SpinlockLocker lock(m_lock); - if (m_region_lookup_cache.range.has_value() && m_region_lookup_cache.range.value() == range && m_region_lookup_cache.region) - return m_region_lookup_cache.region.unsafe_ptr(); - auto* found_region = m_regions.find(range.base().get()); if (!found_region) return nullptr; @@ -225,8 +218,6 @@ Region* AddressSpace::find_region_from_range(VirtualRange const& range) auto rounded_range_size = page_round_up(range.size()); if (rounded_range_size.is_error() || region->size() != rounded_range_size.value()) return nullptr; - m_region_lookup_cache.range = range; - m_region_lookup_cache.region = *region; return region; } diff --git a/Kernel/Memory/AddressSpace.h b/Kernel/Memory/AddressSpace.h index 5a96e0abb0..9a5405d0ae 100644 --- a/Kernel/Memory/AddressSpace.h +++ b/Kernel/Memory/AddressSpace.h @@ -74,12 +74,6 @@ private: RedBlackTree> m_regions; - struct RegionLookupCache { - Optional range; - WeakPtr region; - }; - RegionLookupCache m_region_lookup_cache; - bool m_enforces_syscall_regions { false }; };