From b0d73b4c1e171b5f1291760ee5cf1c2b83171aa0 Mon Sep 17 00:00:00 2001 From: Douglas Teles Date: Sat, 18 Apr 2026 15:19:36 -0300 Subject: [PATCH] Revert FRAME_POINTER and ZRAM zstd after deep research FRAME_POINTER: - ARM64 Kconfig unconditionally selects FRAME_POINTER (arch/arm64/Kconfig:136) - Cannot be disabled regardless of defconfig value - Overhead <1-2% on ARM64 (x29 designated as FP by ABI, STP saves FP+LR in single store queue slot) - Restored to y to match kernel reality ZRAM compression lzo-rle (reverted from zstd): - zstd is 3-4x slower than lzo-rle on in-order Cortex-A35 - Estimated: lzo-rle ~350 MB/s vs zstd ~100 MB/s compress on A35 - Each 4KB page swap: 11us (lzo-rle) vs 40us (zstd) - Under memory pressure during gaming, zstd causes frame stutters - ROCKNIX deliberately uses lzo-rle on ALL in-order cores (A35/A53/A55) and only enables zstd on out-of-order big cores (A73/A76) - The extra ~500MB virtual capacity from zstd's ratio is not worth the latency penalty for latency-sensitive gaming workloads Co-Authored-By: Claude Opus 4.6 (1M context) --- projects/ArchR/devices/RK3326/linux/linux.aarch64.conf | 3 ++- projects/ArchR/devices/RK3326/options | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/projects/ArchR/devices/RK3326/linux/linux.aarch64.conf b/projects/ArchR/devices/RK3326/linux/linux.aarch64.conf index bab1e634eb..c1a6d5b5f2 100644 --- a/projects/ArchR/devices/RK3326/linux/linux.aarch64.conf +++ b/projects/ArchR/devices/RK3326/linux/linux.aarch64.conf @@ -6721,7 +6721,8 @@ CONFIG_FRAME_WARN=2048 # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y # CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set -# CONFIG_FRAME_POINTER is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y # CONFIG_VMLINUX_MAP is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # end of Compile-time checks and compiler options diff --git a/projects/ArchR/devices/RK3326/options b/projects/ArchR/devices/RK3326/options index 8b7a68b310..4831265998 100644 --- a/projects/ArchR/devices/RK3326/options +++ b/projects/ArchR/devices/RK3326/options @@ -76,7 +76,7 @@ DEBUG_TTY="/dev/ttyS2" # ZRAM Algorithm - ZRAM_COMPRESSION_ALGO="zstd" + ZRAM_COMPRESSION_ALGO="lzo-rle" # ZRAM Size ZRAM_SWAP_SIZE="512"