On Wed 23-11-16 14:53:12, Hillf Danton wrote: > On Wednesday, November 23, 2016 2:34 PM Michal Hocko wrote: > > @@ -3161,6 +3161,16 @@ should_compact_retry(struct alloc_context *ac, unsigned int order, int alloc_fla > > if (!order || order > PAGE_ALLOC_COSTLY_ORDER) > > return false; > > > > +#ifdef CONFIG_COMPACTION > > + /* > > + * This is a gross workaround to compensate a lack of reliable compaction > > + * operation. We cannot simply go OOM with the current state of the compaction > > + * code because this can lead to pre mature OOM declaration. > > + */ > > + if (order <= PAGE_ALLOC_COSTLY_ORDER) > > No need to check order once more. yes simple return true would be sufficient but I wanted the code to be more obvious. > Plus can we retry without CONFIG_COMPACTION enabled? Yes checking the order-0 watermark was the original implementation of the high order retry without compaction enabled. I do not rememeber any reports for that so I didn't want to touch that path. -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>