Title: [289761] trunk/Source/WTF
Revision
289761
Author
[email protected]
Date
2022-02-14 13:12:55 -0800 (Mon, 14 Feb 2022)

Log Message

[Linux/aarch64] Move page size ceiling to 16k
https://bugs.webkit.org/show_bug.cgi?id=236564

Patch by Gustavo Noronha Silva <[email protected]> on 2022-02-14
Reviewed by Yusuke Suzuki.

On Apple Silicon, Linux needs to use 16k pages to be as fast as possible. This change has no
visible impact on binary size for release builds, so apply it to all of aarch64 Linux.

* wtf/PageBlock.h:

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (289760 => 289761)


--- trunk/Source/WTF/ChangeLog	2022-02-14 21:10:50 UTC (rev 289760)
+++ trunk/Source/WTF/ChangeLog	2022-02-14 21:12:55 UTC (rev 289761)
@@ -1,3 +1,15 @@
+2022-02-14  Gustavo Noronha Silva  <[email protected]>
+
+        [Linux/aarch64] Move page size ceiling to 16k
+        https://bugs.webkit.org/show_bug.cgi?id=236564
+
+        Reviewed by Yusuke Suzuki.
+
+        On Apple Silicon, Linux needs to use 16k pages to be as fast as possible. This change has no
+        visible impact on binary size for release builds, so apply it to all of aarch64 Linux.
+
+        * wtf/PageBlock.h:
+
 2022-02-13  Matt Woodrow  <[email protected]>
 
         Add support for parsing 'subgrid' in grid-template-columns/row

Modified: trunk/Source/WTF/wtf/PageBlock.h (289760 => 289761)


--- trunk/Source/WTF/wtf/PageBlock.h	2022-02-14 21:10:50 UTC (rev 289760)
+++ trunk/Source/WTF/wtf/PageBlock.h	2022-02-14 21:12:55 UTC (rev 289761)
@@ -37,7 +37,8 @@
 // and recompiled. Sorry.
 //
 // macOS x86_64 uses 4 KiB, but Apple's aarch64 systems use 16 KiB. Use 16 KiB on all Apple systems
-// for consistency.
+// for consistency. Linux on Apple Silicon also needs to use 16KiB for best performance, so use that
+// for Linux on aarch64 as well.
 //
 // Most Linux and Windows systems use a page size of 4 KiB.
 //
@@ -44,7 +45,7 @@
 // On Linux, Power systems normally use 64 KiB pages.
 //
 // Use 64 KiB for any unknown CPUs to be conservative.
-#if OS(DARWIN) || PLATFORM(PLAYSTATION) || CPU(MIPS) || CPU(MIPS64)
+#if OS(DARWIN) || PLATFORM(PLAYSTATION) || CPU(MIPS) || CPU(MIPS64) || (OS(LINUX) && CPU(ARM64))
 constexpr size_t CeilingOnPageSize = 16 * KB;
 #elif CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(UNKNOWN)
 constexpr size_t CeilingOnPageSize = 64 * KB;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to