Re: [patch 08/12] mm: page_alloc: wait for OOM killer progress before retrying
From: Johannes Weiner <hannes@cmpxchg.org>
Date: 2015-03-26 18:23:52
Also in:
linux-fsdevel, lkml
On Thu, Mar 26, 2015 at 04:58:46PM +0100, Michal Hocko wrote:
On Wed 25-03-15 02:17:12, Johannes Weiner wrote:quoted
There is not much point in rushing back to the freelists and burning CPU cycles in direct reclaim when somebody else is in the process of OOM killing, or right after issuing a kill ourselves, because it could take some time for the OOM victim to release memory.Yes this makes sense and it is better than what we have now. The question is how long we should wait. I can see you have gone with HZ. What is the value based on? Have your testing shown that the OOM victim manages to die within a second most of the time? I do not want to get into which value is the best discussion but I would expect a larger value. Most OOM victims are not blocked so they would wake up soon. This is a safety net for those who are blocked and I do not think we have to expedite those rare cases and rather optimize for "regular" OOM situations. How about 10-30s?
Yup, I agree with that reasoning. We can certainly go higher than HZ. However, we should probably try to stay within the thresholds of any lock/hang detection watchdogs, which on a higher level includes the user itself, who might get confused if the machine hangs for 30s. As I replied to Vlastimil, once the OOM victim hangs for several seconds without a deadlock, failing the allocation wouldn't seem entirely unreasonable, either. But yes, something like 5-10s would still sound good to me. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>