Commit Graph

6640 Commits

Author SHA1 Message Date
Joel Wirāmu Pauling
a29ef69496 feat(memory/IO) This update optimizes memory throughput and I/O performance across all ROCKNIX AArch64 targets by enabling File-System-backed Transparent Huge Pages (THP) and implementing a tiered hardware-aware tuning strategy.
With MGLRU and zRAM providing a safety net, enabling Large Page (2MB) support reduces TLB misses, allowing the CPU to prioritize emulation logic over memory address translation.

Key Features Enabled
File-System THP (CONFIG_READ_ONLY_THP_FOR_FS): Collapses read-only file mappings (game binaries/data) into huge pages to accelerate asset loading.

Contiguous Page Table Entries (CONFIG_ARM64_CONTPTE): Allows the MMU to treat groups of pages as a single entry, increasing TLB efficiency on high-performance targets.

Memory Compaction & Migration: Re-enabled infrastructure to shuffle physical RAM into contiguous blocks required for huge pages.

Architecture-Specific Write Support (CONFIG_ARCH_WANT_PMD_MKWRITE): Ensures efficient huge page handling during high-performance memory writes.

Tiered Userspace Management
The rocknix-memory-manager applies specific logic at boot based on the SoC and RAM capacity:

Flagship Mode (RK3588, SM8x, RK3399):

Sets defrag to defer+madvise for proactive huge page creation.

Sets vm.compaction_proactiveness to 40 to maintain a pool of contiguous blocks.

Budget Mode (H700, RK3326):

Sets defrag to defer only to prevent CPU "stalls" during gameplay.

Sets vm.compaction_proactiveness to 10 to prioritize raw CPU availability.

Texture Performance: Globally enables shmem_enabled=advise to benefit Vulkan and Wayland texture handling.

Swappiness: Sets vm.swappiness to 100 when ZRAM is active to keep physical RAM unfragmented for huge page allocations.

Safety Rationale
MGLRU: Prevents "reclaim storms" during huge page allocation on 1GB devices.

zRAM: Absorbs memory pressure via high-speed compressed swap.

Read-Only Focus: FS-Backed THP targets low-risk mappings while providing high-impact gains for asset streaming.
2026-02-05 08:47:25 +13:00
Philippe Simons
281de1be24 Merge pull request #2276 from loki666/mesa-25.3.4
mesa: update to 25.3.4
2026-02-04 00:29:15 +01:00
Philippe Simons
a037e84301 linux/sm8650: update patches 2026-02-04 00:14:58 +01:00
John Williams
4c33501487 Merge pull request #2223 from aenertia/zram-swap-core
feat(system): implement unified memory manager and tiered zram/swap core
2026-02-04 08:50:56 +11:00
sydarn
840a4f63d3 Update kernel configs 2026-02-03 21:40:03 +00:00
sydarn
6031ddcccf Fix linux pkg typo 2026-02-03 20:27:38 +01:00
Philippe Simons
bf3c4746fd Merge pull request #2274 from loki666/linux-6.18.8
bump kernel for H700|RK3399|SM8550|SM8650|RK3566
2026-02-03 19:45:16 +01:00
Philippe Simons
c71c36f71b mesa: update to 25.3.4 2026-02-03 17:34:04 +01:00
Philippe Simons
948805fa51 bump kernel for H700|RK3399|SM8550|SM8650|RK3566 2026-02-02 23:12:46 +01:00
Evren D.
2929b1e9d6 feat: update syncthing version to 2.0.13 2026-02-02 16:58:50 -05:00
John Williams
1f343affe9 Merge pull request #2225 from aenertia/mglru
feat(kernel): enable Multi-Gen LRU (MGLRU) for improved reclamation
2026-02-03 08:54:21 +11:00
sydarn
211f07ffd2 Arc: add Yaba lr remapping 2026-02-02 22:22:48 +01:00
Philippe Simons
978d610ff5 abl: update files on SD card
sm8250: install ABL files on SD
2026-02-02 21:10:57 +01:00
Philippe Simons
3540e22576 Merge pull request #2266 from loki666/inputplumber
Inputplumber
2026-02-02 20:43:08 +01:00
Joel Wirāmu Pauling
761962bfb7 feat(kernel): enable Multi-Gen LRU (MGLRU)
This commit enables Multi-Gen LRU (CONFIG_LRU_GEN) across supported target kernels. MGLRU replaces the kernel's traditional page reclamation logic with a more efficient multi-generational approach.

This is highly beneficial for memory-constrained ARM SoCs, as it provides better heuristics for identifying "hot" vs "cold" pages, significantly reducing unnecessary I/O and micro-stutters under memory pressure.

Technical Implementation:

Enables CONFIG_LRU_GEN and CONFIG_LRU_GEN_ENABLED.

Targeted at devices running Kernel 6.1 or newer.

Specifically excluded is SDM845 kernels (5.18 kernel).

Initialization and First-Boot Behavior:

Note: Users may observe transient "task wait" messages or increased CPU overhead during the initial boot of a fresh installation. This is a byproduct of MGLRU's generation-tracking heuristics during high-churn operations (such as filesystem expansion and initial cache generation). The scheduler overhead for generation updates stabilizes once the primary working set is established and the initial I/O burst subsides.

Note: CONFIG_LRU_GEN_WALKS_MMU=y is enabled but some targets (RK3588)
are still running with kernel symbols where this is Rolled up into the
CONFIG_LRU_GEN still - I haved aligned it here per request but it will
get silently dropped by next oldconfig run until such time the RK3588 is
updated to a version that unrolls the symbol.
2026-02-03 08:35:55 +13:00
Philippe Simons
031595c4cb duckstation: revert to latest working version 2026-02-02 16:01:44 +01:00
John Williams
d9bfefe0d5 RK3588 - Gameforce ACE - fix right analogue stick 2026-02-02 23:31:56 +11:00
John Williams
898f005664 Merge pull request #2218 from aenertia/nfs-fixes
Mount NFS.sh addon script update
2026-02-02 22:02:52 +11:00
porschemad911
f19a6b3e9e Update kernel configs 2026-02-02 07:11:40 +00:00
John Williams
0227a76d17 S922X - linux 6.18.8 2026-02-02 16:28:22 +11:00
Joel Wirāmu Pauling
1cef4a53a9 Replace existing NFS mount script with a more robust version that
handles sleep/disconnects better and performs better on large
collections
2026-02-02 18:06:44 +13:00
John Williams
1b98630752 Merge pull request #2268 from porschemad911/ecwolf-lr-fork
ecwolf-lr - point to fork until upstream package build is fixed
2026-02-02 14:40:58 +11:00
John Williams
5b389ff8fd ecwolf-lr - point to fork until upstream package build is fixed 2026-02-02 14:33:19 +11:00
Philippe Simons
29a64d14fe sm8650: inputplumber 2026-02-01 23:14:10 +01:00
Philippe Simons
402e45d045 tools/inputplumber
Add InputPlumber package to remap device inputs
2026-02-01 23:11:59 +01:00