Title: [279892] trunk
- Revision
- 279892
- Author
- [email protected]
- Date
- 2021-07-13 14:53:22 -0700 (Tue, 13 Jul 2021)
Log Message
Remove USE_64KB_PAGE_BLOCK
https://bugs.webkit.org/show_bug.cgi?id=227905
Patch by Michael Catanzaro <[email protected]> on 2021-07-13
Reviewed by Yusuke Suzuki.
.:
I added the USE_64KB_PAGE_BLOCK build option in bug #217989 for use by RHEL. But going
forward, I don't need it anymore, and can maintain it downstream where it is needed. (This
option might also be useful to SUSE, but they already don't use it, so won't miss it.)
I've seen users who don't understand the consequences of this option enabling it on x86_64,
even though there are serious negative consequences and zero benefits to using it. So let's
get rid of it.
* Source/cmake/WebKitFeatures.cmake:
Source/WTF:
* wtf/PageBlock.h:
Modified Paths
Diff
Modified: trunk/ChangeLog (279891 => 279892)
--- trunk/ChangeLog 2021-07-13 21:08:25 UTC (rev 279891)
+++ trunk/ChangeLog 2021-07-13 21:53:22 UTC (rev 279892)
@@ -1,3 +1,20 @@
+2021-07-13 Michael Catanzaro <[email protected]>
+
+ Remove USE_64KB_PAGE_BLOCK
+ https://bugs.webkit.org/show_bug.cgi?id=227905
+
+ Reviewed by Yusuke Suzuki.
+
+ I added the USE_64KB_PAGE_BLOCK build option in bug #217989 for use by RHEL. But going
+ forward, I don't need it anymore, and can maintain it downstream where it is needed. (This
+ option might also be useful to SUSE, but they already don't use it, so won't miss it.)
+
+ I've seen users who don't understand the consequences of this option enabling it on x86_64,
+ even though there are serious negative consequences and zero benefits to using it. So let's
+ get rid of it.
+
+ * Source/cmake/WebKitFeatures.cmake:
+
2021-07-13 Carlos Garcia Campos <[email protected]>
[GTK][WPE] Expose support for client certificate auth
Modified: trunk/Source/WTF/ChangeLog (279891 => 279892)
--- trunk/Source/WTF/ChangeLog 2021-07-13 21:08:25 UTC (rev 279891)
+++ trunk/Source/WTF/ChangeLog 2021-07-13 21:53:22 UTC (rev 279892)
@@ -1,3 +1,12 @@
+2021-07-13 Michael Catanzaro <[email protected]>
+
+ Remove USE_64KB_PAGE_BLOCK
+ https://bugs.webkit.org/show_bug.cgi?id=227905
+
+ Reviewed by Yusuke Suzuki.
+
+ * wtf/PageBlock.h:
+
2021-07-12 Filip Pizlo <[email protected]> and Yusuke Suzuki <[email protected]>
New malloc algorithm
Modified: trunk/Source/WTF/wtf/PageBlock.h (279891 => 279892)
--- trunk/Source/WTF/wtf/PageBlock.h 2021-07-13 21:08:25 UTC (rev 279891)
+++ trunk/Source/WTF/wtf/PageBlock.h 2021-07-13 21:53:22 UTC (rev 279892)
@@ -43,13 +43,10 @@
//
// On Linux, Power systems normally use 64 KiB pages.
//
-// aarch64 systems seem to be all over the place. Most Linux distros use 4 KiB, but RHEL uses
-// 64 KiB. (Apple uses 16 KiB.)
-//
// Use 64 KiB for any unknown CPUs to be conservative.
#if OS(DARWIN) || PLATFORM(PLAYSTATION) || CPU(MIPS) || CPU(MIPS64)
constexpr size_t CeilingOnPageSize = 16 * KB;
-#elif USE(64KB_PAGE_BLOCK) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(UNKNOWN)
+#elif CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(UNKNOWN)
constexpr size_t CeilingOnPageSize = 64 * KB;
#elif OS(WINDOWS) || CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64)
constexpr size_t CeilingOnPageSize = 4 * KB;
Modified: trunk/Source/cmake/WebKitFeatures.cmake (279891 => 279892)
--- trunk/Source/cmake/WebKitFeatures.cmake 2021-07-13 21:08:25 UTC (rev 279891)
+++ trunk/Source/cmake/WebKitFeatures.cmake 2021-07-13 21:53:22 UTC (rev 279892)
@@ -59,39 +59,10 @@
list(APPEND _WEBKIT_AVAILABLE_OPTIONS_${_name}_DEPENDENCIES ${_depend})
endmacro()
-# We can't use WEBKIT_OPTION_DEFINE for USE_64KB_PAGE_BLOCK because it's needed to set the default
-# value of other options. Why do we need this option? Because JSC and bmalloc both want to know the
-# userspace page size at compile time, which is impossible on Linux because it's a runtime setting.
-# We cannot test the system page size at build time in hopes that it will be the same on the target
-# system, because (a) cross compiling wouldn't work, and (b) the build system could use a different
-# page size than the target system (which will be true for Fedora aarch64, because Fedora is built
-# using RHEL), so the best we can do is guess based on based on the target CPU architecture. In
-# practice, guessing works for all architectures except aarch64 (unless unusual page sizes are
-# used), but it fails for aarch64 because distros are split between using 4 KB and 64 KB pages
-# there. Most distros (including Fedora) use 4 KB, but RHEL uses 64 KB. SUSE actually supports both.
-# Since there is no way to guess correctly, the best we can do is provide an option for it. You
-# should probably only use this if building for aarch64. Otherwise, known CPUs except PowerPC
-# will use 4 KB, while PowerPC and unknown CPUs will use 64 KB (see wtf/PageBlock.h). aarch64 will
-# continue to default to 4 KB because this is a better default on systems where it doesn't crash.
-# (Linux aarch64 is different from Apple's ARM64, which uses 16 KB.)
-option(USE_64KB_PAGE_BLOCK "Force support 64 KB userspace page size (reduces security and performance)" OFF)
-
macro(WEBKIT_OPTION_BEGIN)
set(_SETTING_WEBKIT_OPTIONS TRUE)
- if (USE_64KB_PAGE_BLOCK)
- set(ENABLE_JIT_DEFAULT OFF)
- set(ENABLE_FTL_DEFAULT OFF)
- set(USE_SYSTEM_MALLOC_DEFAULT ON)
- if (WTF_CPU_ARM64)
- set(ENABLE_C_LOOP_DEFAULT OFF)
- set(ENABLE_SAMPLING_PROFILER_DEFAULT ON)
- else ()
- message(WARNING "Building with USE_64KB_PAGE_BLOCK on an architecture other than aarch64 is unusual. Are you sure you want USE_64KB_PAGE_BLOCK?")
- set(ENABLE_C_LOOP_DEFAULT ON)
- set(ENABLE_SAMPLING_PROFILER_DEFAULT OFF)
- endif ()
- elseif (WTF_CPU_ARM64 OR WTF_CPU_X86_64)
+ if (WTF_CPU_ARM64 OR WTF_CPU_X86_64)
set(ENABLE_JIT_DEFAULT ON)
set(ENABLE_FTL_DEFAULT ON)
set(USE_SYSTEM_MALLOC_DEFAULT OFF)
@@ -452,5 +423,3 @@
option(ENABLE_EXPERIMENTAL_FEATURES "Enable experimental features" OFF)
SET_AND_EXPOSE_TO_BUILD(ENABLE_EXPERIMENTAL_FEATURES ${ENABLE_EXPERIMENTAL_FEATURES})
-
-SET_AND_EXPOSE_TO_BUILD(USE_64KB_PAGE_BLOCK ${USE_64KB_PAGE_BLOCK})
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes