From: Andrew Morton <akpm@linux-foundation.org>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Andrey Vagin <avagin@openvz.org>,
Minchan Kim <minchan.kim@gmail.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
"Luis Claudio R. Goncalves" <lclaudio@uudg.org>,
LKML <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>,
David Rientjes <rientjes@google.com>,
Oleg Nesterov <oleg@redhat.com>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH 2/4] remove boost_dying_task_prio()
Date: Mon, 11 Apr 2011 14:58:32 -0700 [thread overview]
Message-ID: <20110411145832.ae133cf8.akpm@linux-foundation.org> (raw)
In-Reply-To: <20110411143215.0074.A69D9226@jp.fujitsu.com>
On Mon, 11 Apr 2011 14:31:18 +0900 (JST)
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:
> This is a almost revert commit 93b43fa (oom: give the dying
> task a higher priority).
>
> The commit dramatically improve oom killer logic when fork-bomb
> occur. But, I've found it has nasty corner case. Now cpu cgroup
> has strange default RT runtime. It's 0! That said, if a process
> under cpu cgroup promote RT scheduling class, the process never
> run at all.
hm. How did that happen? I thought that sched_setscheduler() modifies
only a single thread, and that thread is in the process of exiting?
> Eventually, kernel may hang up when oom kill occur.
> I and Luis who original author agreed to disable this logic at
> once.
>
> ...
>
> index 6a819d1..83fb72c1 100644
> --- a/mm/oom_kill.c
> +++ b/mm/oom_kill.c
> @@ -84,24 +84,6 @@ static bool has_intersects_mems_allowed(struct task_struct *tsk,
> #endif /* CONFIG_NUMA */
>
> /*
> - * If this is a system OOM (not a memcg OOM) and the task selected to be
> - * killed is not already running at high (RT) priorities, speed up the
> - * recovery by boosting the dying task to the lowest FIFO priority.
> - * That helps with the recovery and avoids interfering with RT tasks.
> - */
> -static void boost_dying_task_prio(struct task_struct *p,
> - struct mem_cgroup *mem)
> -{
> - struct sched_param param = { .sched_priority = 1 };
> -
> - if (mem)
> - return;
> -
> - if (!rt_task(p))
> - sched_setscheduler_nocheck(p, SCHED_FIFO, ¶m);
> -}
I'm rather glad to see that code go away though - SCHED_FIFO is
dangerous...
WARNING: multiple messages have this Message-ID (diff)
From: Andrew Morton <akpm@linux-foundation.org>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Andrey Vagin <avagin@openvz.org>,
Minchan Kim <minchan.kim@gmail.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
"Luis Claudio R. Goncalves" <lclaudio@uudg.org>,
LKML <linux-kernel@vger.kernel.org>,
linux-mm <linux-mm@kvack.org>,
David Rientjes <rientjes@google.com>,
Oleg Nesterov <oleg@redhat.com>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH 2/4] remove boost_dying_task_prio()
Date: Mon, 11 Apr 2011 14:58:32 -0700 [thread overview]
Message-ID: <20110411145832.ae133cf8.akpm@linux-foundation.org> (raw)
In-Reply-To: <20110411143215.0074.A69D9226@jp.fujitsu.com>
On Mon, 11 Apr 2011 14:31:18 +0900 (JST)
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:
> This is a almost revert commit 93b43fa (oom: give the dying
> task a higher priority).
>
> The commit dramatically improve oom killer logic when fork-bomb
> occur. But, I've found it has nasty corner case. Now cpu cgroup
> has strange default RT runtime. It's 0! That said, if a process
> under cpu cgroup promote RT scheduling class, the process never
> run at all.
hm. How did that happen? I thought that sched_setscheduler() modifies
only a single thread, and that thread is in the process of exiting?
> Eventually, kernel may hang up when oom kill occur.
> I and Luis who original author agreed to disable this logic at
> once.
>
> ...
>
> index 6a819d1..83fb72c1 100644
> --- a/mm/oom_kill.c
> +++ b/mm/oom_kill.c
> @@ -84,24 +84,6 @@ static bool has_intersects_mems_allowed(struct task_struct *tsk,
> #endif /* CONFIG_NUMA */
>
> /*
> - * If this is a system OOM (not a memcg OOM) and the task selected to be
> - * killed is not already running at high (RT) priorities, speed up the
> - * recovery by boosting the dying task to the lowest FIFO priority.
> - * That helps with the recovery and avoids interfering with RT tasks.
> - */
> -static void boost_dying_task_prio(struct task_struct *p,
> - struct mem_cgroup *mem)
> -{
> - struct sched_param param = { .sched_priority = 1 };
> -
> - if (mem)
> - return;
> -
> - if (!rt_task(p))
> - sched_setscheduler_nocheck(p, SCHED_FIFO, ¶m);
> -}
I'm rather glad to see that code go away though - SCHED_FIFO is
dangerous...
--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-04-11 21:59 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-11 5:29 [resend][patch 0/4 v3] oom: deadlock avoidance collection KOSAKI Motohiro
2011-04-11 5:30 ` [PATCH 1/4] vmscan: all_unreclaimable() use zone->all_unreclaimable as a name KOSAKI Motohiro
2011-04-11 21:53 ` Andrew Morton
2011-04-11 21:53 ` Andrew Morton
2011-04-12 1:04 ` KOSAKI Motohiro
2011-04-12 1:04 ` KOSAKI Motohiro
2011-04-12 1:26 ` Andrew Morton
2011-04-12 1:26 ` Andrew Morton
2011-04-12 10:55 ` KOSAKI Motohiro
2011-04-12 10:55 ` KOSAKI Motohiro
2011-04-13 18:48 ` David Rientjes
2011-04-13 18:48 ` David Rientjes
2011-04-11 5:31 ` [PATCH 2/4] remove boost_dying_task_prio() KOSAKI Motohiro
2011-04-11 21:58 ` Andrew Morton [this message]
2011-04-11 21:58 ` Andrew Morton
2011-04-12 0:35 ` KOSAKI Motohiro
2011-04-12 0:35 ` KOSAKI Motohiro
2011-04-13 18:41 ` David Rientjes
2011-04-13 18:41 ` David Rientjes
2011-04-11 5:31 ` [PATCH 3/4] mm: introduce wait_on_page_locked_killable KOSAKI Motohiro
2011-04-11 5:32 ` [PATCH 4/4] x86,mm: make pagefault killable KOSAKI Motohiro
-- strict thread matches above, loose matches on Subject: below --
2011-03-29 10:39 oom: deadlock avoidance patches v2 KOSAKI Motohiro
2011-03-29 10:40 ` [PATCH 2/4] remove boost_dying_task_prio() KOSAKI Motohiro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110411145832.ae133cf8.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=avagin@openvz.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=lclaudio@uudg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=minchan.kim@gmail.com \
--cc=oleg@redhat.com \
--cc=rientjes@google.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.