How mlohajner/rralloc works
RRALLOC is an experimental EXT4 allocation-policy patch, documented here with test evidence rather than kernel source excerpts. Its principal workflow is enabling the rralloc mount option, then allocating through a separate policy path that rotates per-CPU LBA zones and uses stream allocation with per-inode locality tracking. The repository also records proof-of-concept, synthetic, concurrency, case-study, and real-world comparisons. Runtime links below reflect README statements; implementation details cannot be verified from source excerpts.
Main entry points: 0001-ext4-rralloc-add-round-robin-allocation-policy-V3.patch V3 patch · 0001-ext4-rralloc-former-rotalloc-improved-round-robin-V2.patch V2 patch · 3) proof of concept/README.md Proof of concept · 4) sythetic tests/README.md Synthetic allocator tests
Components 14
Allocation policy
- rralloc mount option
2) the patch/0001-ext4-rralloc-add-round-robin-allocation-policy-V3.patch - Separate allocation path
2) the patch/0001-ext4-rralloc-add-round-robin-allocation-policy-V3.patch - Per-CPU zone rotation
2) the patch/0001-ext4-rralloc-add-round-robin-allocation-policy-V3.patch - Stream allocation
2) the patch/0001-ext4-rralloc-add-round-robin-allocation-policy-V3.patch - Inode atomic cursor
2) the patch/0001-ext4-rralloc-add-round-robin-allocation-policy-V3.patch
Patch artifacts
Evaluation evidence
- Proof of concept
3) proof of concept/README.md - Synthetic allocator tests
4) sythetic tests/README.md - Concurrency tests
5) high concurency tests/README.md - Additional case study
6) additional case study/README.md - Real-world comparison
7) real world test/README.md
Other components
- Filesystem operator
- EXT4 filesystem
Connections 13
- Filesystem operator → rralloc mount option: enables
README.md - rralloc mount option → EXT4 filesystem: configures
README.md - EXT4 filesystem → Separate allocation path: allocates through
README.md - Separate allocation path → Per-CPU zone rotation: rotates groups
README.md - Separate allocation path → Stream allocation: enforces
README.md - Stream allocation → Inode atomic cursor: tracks locality
README.md - V3 patch → rralloc mount option: adds
README.md - V2 patch → V3 patch: precedes
README.md - V3 patch → Proof of concept: evaluated by
- V3 patch → Synthetic allocator tests: evaluated by
- V3 patch → Concurrency tests: evaluated by
- V3 patch → Additional case study: informed by
README.md - V3 patch → Real-world comparison: compared in
README.md