Commit Graph

51224 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
e4a9954013 Merge pull request #2280 from loki666/sm8650-sd
linux/sm8650: update patches
2026-02-04 00:22:42 +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
John Williams
1069f8a87b Merge pull request #2279 from ROCKNIX/auto-pr-branch
Update kernel configs/device documentation
2026-02-04 08:44:43 +11:00
sydarn
840a4f63d3 Update kernel configs 2026-02-03 21:40:03 +00:00
sydarn
77547c9f9e Merge pull request #2277 from ROCKNIX/sydarn-patch-1
Fix linux pkg typo
2026-02-03 20:32:49 +01: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
John Williams
e801136cec Merge pull request #2265 from edemirkan/syncthing-v2
feat: update syncthing version to 2.0.13
2026-02-03 15:54:25 +11: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
4d4f1aacc8 Merge pull request #2275 from sydarn/arc
Arc: add Yaba lr remapping
2026-02-02 22:23:37 +01:00
sydarn
211f07ffd2 Arc: add Yaba lr remapping 2026-02-02 22:22:48 +01:00
Philippe Simons
ee7db5371a Merge pull request #2273 from loki666/update-abl-sd
abl: update files on SD card
2026-02-02 21:11:21 +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
e496e8f331 Merge pull request #2272 from loki666/duckstation
duckstation: revert to latest working version
2026-02-02 16:02:02 +01:00
Philippe Simons
031595c4cb duckstation: revert to latest working version 2026-02-02 16:01:44 +01:00
John Williams
f78ca37b22 Merge pull request #2271 from porschemad911/rk3588-right-stick
RK3588 - Gameforce ACE - fix right analogue stick
2026-02-02 23:33:00 +11:00
John Williams
d9bfefe0d5 RK3588 - Gameforce ACE - fix right analogue stick 2026-02-02 23:31:56 +11:00