Messages in this thread | | | From | KOSAKI Motohiro <> | Subject | Re: [BUGFIX][PATCH] vmscan: don't use return value trick when oom_killer_disabled | Date | Wed, 1 Sep 2010 10:55:38 +0900 (JST) |
| |
Hi
Thank you for good commenting!
> I don't like use oom_killer_disabled directly. > That's because we have wrapper inline functions to handle the > variable(ex, oom_killer_[disable/enable]). > It means we are reluctant to use the global variable directly. > So should we make new function as is_oom_killer_disable? > > I think NO. > > As I read your description, this problem is related to only hibernation. > Since hibernation freezes all processes(include kswapd), this problem > happens. Of course, now oom_killer_disabled is used by only > hibernation. But it can be used others in future(Off-topic : I don't > want it). Others can use it without freezing processes. Then kswapd > can set zone->all_unreclaimable and the problem can't happen. > > So I want to use sc->hibernation_mode which is already used > do_try_to_free_pages instead of oom_killer_disabled.
Unfortunatelly, It's impossible. shrink_all_memory() turn on sc->hibernation_mode. but other hibernation caller merely call alloc_pages(). so we don't have any hint.
| |