Messages in this thread | | | Date | Tue, 15 Dec 2009 08:54:55 +0900 | From | Minchan Kim <> | Subject | Re: [PATCH 8/8] mm: Give up allocation if the task have fatal signal |
| |
On Mon, 14 Dec 2009 21:32:58 +0900 (JST) KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:
> In OOM case, almost processes may be in vmscan. There isn't any reason > the killed process continue allocation. process exiting free lots pages > rather than greedy vmscan. > > Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> > --- > mm/page_alloc.c | 8 ++++++++ > 1 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index ca9cae1..8a9cbaa 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1878,6 +1878,14 @@ rebalance: > goto got_pg; > > /* > + * If the allocation is for userland page and we have fatal signal, > + * there isn't any reason to continue allocation. instead, the task > + * should exit soon. > + */ > + if (fatal_signal_pending(current) && (gfp_mask & __GFP_HIGHMEM)) > + goto nopage;
If we jump nopage, we meets dump_stack and show_mem. Even, we can meet OOM which might kill innocent process.
> + > + /* > * If we failed to make any progress reclaiming, then we are > * running out of options and have to consider going OOM > */ > -- > 1.6.5.2 > > >
-- Kind regards, Minchan Kim
| |