HW/SW design recommendations for 16kb devices
summary
Recommendation is to keep MMU page size = CPU page size (benchmarks show ~2% better throughput) and to make control-status registers 16KB-aligned so users can mmap registers separately. Compression blocks must accept 16KB buffers—measured compression ratio improves from 2.5:1 at 4KB to 3.3:1 at 16KB—but some engines are slower when enabled so test end-to-end. Co-locate DDRs (no 30GB hole) so a 32GB linear map works, format factory partitions with ext4/EROFS 4KB blocks to remain compatible, and adjust CMA alignment per the 6.17 kernel change.
AI-written summary · about
chapters (9)
- 0:00Introduction and motivation
- 1:05MMU page size alignment
- 2:31Compression hardware buffers
- 3:34DDR memory mapping
- 4:36Control status register alignment
- 5:43Factory partition formatting
- 8:13CMA memory reservations
- 10:42Transparent huge pages
- 11:45Q&A
related talks
01h 06mBeing Friendly to Your Computer Hardware in Software Development
40mInspecting and Optimizing Memory Usage in Linux
30mFlexible Paging in Linux: Per-process Page Size
31mHMSDK: Enhancing Software Support for CXL Memory
44mLarge Pages in Linux
24mConsolidating representations of the physical memory
47mHost Performance Booster (HPB): Introduction and Current Mainline Support Status
38mDeferred Memblocks Init for Boot Time Reduction
