On 2016.08.22 at 11:32 +0200, Michal Hocko wrote: > there have been multiple reports [1][2][3][4][5] about pre-mature OOM > killer invocations since 4.7 which contains oom detection rework. All of > them were for order-2 (kernel stack) alloaction requests failing because > of a high fragmentation and compaction failing to make any forward > progress. While investigating this we have found out that the compaction > just gives up too early. Vlastimil has been working on compaction > improvement for quite some time and his series [6] is already sitting > in mmotm tree. This already helps a lot because it drops some heuristics > which are more aimed at lower latencies for high orders rather than > reliability. Joonsoo has then identified further problem with too many > blocks being marked as unmovable [7] and Vlastimil has prepared a patch > on top of his series [8] which is also in the mmotm tree now. > > That being said, the regression is real and should be fixed for 4.7 > stable users. [6][8] was reported to help and ooms are no longer > reproducible. I know we are quite late (rc3) in 4.8 but I would vote > for mergeing those patches and have them in 4.8. For 4.7 I would go > with a partial revert of the detection rework for high order requests > (see patch below). This patch is really trivial. If those compaction > improvements are just too large for 4.8 then we can use the same patch > as for 4.7 stable for now and revert it in 4.9 after compaction changes > are merged. > > Thoughts? > > [1] http://lkml.kernel.org/r/20160731051121.GB307@x4
For the report [1] above: markus@x4 linux % cat .config | grep CONFIG_COMPACTION # CONFIG_COMPACTION is not set -- Markus