Messages in this thread | | | Date | Thu, 26 Mar 2015 14:23:52 -0400 | From | Johannes Weiner <> | Subject | Re: [patch 08/12] mm: page_alloc: wait for OOM killer progress before retrying |
| |
On Thu, Mar 26, 2015 at 04:58:46PM +0100, Michal Hocko wrote: > On Wed 25-03-15 02:17:12, Johannes Weiner wrote: > > 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.
| |