THPs do not respect zone_reclaim logic
Issue
- THP does not obey the zone_reclaim logic.
- The first symptom that you might notice is a spike in CPU load however it's deeper than that.
- The step in the VM which takes a look at the requested allocation and decides whether to steal it from another NUMA node or allocate it locally just isn't there for THP.
- That hinges on the zone_reclaim variable and THP does not look at that variable.
- What will happen is instead of allocating locally to the NUMA node, it allocates off of another NUMA node.
- This causes THP to be fragmented and then reassembled over and over which in turn causes causes a CPU load spike.
- There were other flaws in earlier versions of THPs which also causes the same symptom, one of those was addressed in 783284.
- Theoretically adding code to have THP obey the zone reclaim variable should be easy with the requisite kernel knowledge/skill.
- It isn't hard to add the 3-8 lines of code, the problem is all the other subtle implications.
Environment
- Red Hat Enterprise Linux 6
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
