Steve Capper - Thanks for the Memory
As is reasonably well known, the memory system in AArch64 is somewhat different to that found in x86. In this talk I aim to go through the salient differences and their ramifications. In particular I would like to talk about:
- Lightning overview of ARM/Linux kernel terminology (levels, stages, granule, exception levels).
- Contiguous hint, how it is implemented in HugeTLB, and what to worry about when handling contiguous PTEs.
- How user space and kernel performance are affected by 4KB, 64KB and huge pages.
- When JITs die: tell-tale signs for user space VA space size assumptions.
- The subtle mistakes I made in TLB invalidation, so you don't have to repeat them ;-).