linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Qiang Gao <gaoqiangscut@gmail.com>
To: Michal Hocko <mhocko@suse.cz>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	"cgroups@vger.kernel.org" <cgroups@vger.kernel.org>,
	linux-mm@kvack.org
Subject: Re: process hangs on do_exit when oom happens
Date: Mon, 22 Oct 2012 10:16:43 +0800	[thread overview]
Message-ID: <CAKWKT+Z-SZb1=3rwLm+urs3fghQ3M6pdOR_rzXKCevoad11a5g@mail.gmail.com> (raw)
In-Reply-To: <20121019160425.GA10175@dhcp22.suse.cz>

[-- Attachment #1: Type: text/plain, Size: 2507 bytes --]

I don't know whether  the process will exit finally, bug this stack lasts
for hours, which is obviously unnormal.
The situation:  we use a command calld "cglimit" to fork-and-exec the
worker process,and the "cglimit" will
set some limitation on the worker with cgroup. for now,we limit the
memory,and we also use cpu cgroup,but with
no limiation,so when the worker is running, the cgroup directory looks like
following:

/cgroup/memory/worker : this directory limit the memory
/cgroup/cpu/worker :with no limit,but worker process is in.

for some reason(some other process we didn't consider),  the worker process
invoke global oom-killer,
not cgroup-oom-killer.  then the worker process hangs there.

Actually, if we didn't set the worker process into the cpu cgroup, this
will never happens.



On Sat, Oct 20, 2012 at 12:04 AM, Michal Hocko <mhocko@suse.cz> wrote:

> On Wed 17-10-12 18:23:34, gaoqiang wrote:
> > I looked up nothing useful with google,so I'm here for help..
> >
> > when this happens:  I use memcg to limit the memory use of a
> > process,and when the memcg cgroup was out of memory,
> > the process was oom-killed   however,it cannot really complete the
> > exiting. here is the some information
>
> How many tasks are in the group and what kind of memory do they use?
> Is it possible that you were hit by the same issue as described in
> 79dfdacc memcg: make oom_lock 0 and 1 based rather than counter.
>
> > OS version:  centos6.2    2.6.32.220.7.1
>
> Your kernel is quite old and you should be probably asking your
> distribution to help you out. There were many fixes since 2.6.32.
> Are you able to reproduce the same issue with the current vanila kernel?
>
> > /proc/pid/stack
> > ---------------------------------------------------------------
> >
> > [<ffffffff810597ca>] __cond_resched+0x2a/0x40
> > [<ffffffff81121569>] unmap_vmas+0xb49/0xb70
> > [<ffffffff8112822e>] exit_mmap+0x7e/0x140
> > [<ffffffff8105b078>] mmput+0x58/0x110
> > [<ffffffff81061aad>] exit_mm+0x11d/0x160
> > [<ffffffff81061c9d>] do_exit+0x1ad/0x860
> > [<ffffffff81062391>] do_group_exit+0x41/0xb0
> > [<ffffffff81077cd8>] get_signal_to_deliver+0x1e8/0x430
> > [<ffffffff8100a4c4>] do_notify_resume+0xf4/0x8b0
> > [<ffffffff8100b281>] int_signal+0x12/0x17
> > [<ffffffffffffffff>] 0xffffffffffffffff
>
> This looks strange because this is just an exit part which shouldn't
> deadlock or anything. Is this stack stable? Have you tried to take check
> it more times?
>
> --
> Michal Hocko
> SUSE Labs
>

[-- Attachment #2: Type: text/html, Size: 3271 bytes --]

  reply	other threads:[~2012-10-22  2:16 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <op.wmbi5kbrn27o5l@gaoqiang-d1.corp.qihoo.net>
2012-10-19 16:04 ` process hangs on do_exit when oom happens Michal Hocko
2012-10-22  2:16   ` Qiang Gao [this message]
2012-10-22  5:38     ` Balbir Singh
2012-10-22 13:01     ` Michal Hocko
2012-10-22  4:26   ` Qiang Gao
2012-10-23  3:35   ` Qiang Gao
2012-10-23  4:40     ` Balbir Singh
2012-10-23  7:18       ` Qiang Gao
2012-10-23  9:50         ` Michal Hocko
2012-10-23 10:10           ` Qiang Gao
2012-10-23 10:15             ` Michal Hocko
2012-10-23 17:43               ` Balbir Singh
2012-10-24  3:44                 ` Qiang Gao
2012-10-25  9:57                   ` Michal Hocko
2012-10-26  2:42                     ` Qiang Gao
2012-10-26 17:03                       ` Mike Galbraith
2012-10-26 20:04                         ` Mike Galbraith
2012-10-23  8:35     ` Michal Hocko
2012-10-23  9:08       ` Qiang Gao
2012-10-23  9:43         ` Michal Hocko
2012-10-23  9:01     ` Sha Zhengju
2012-10-23  9:10       ` Qiang Gao

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='CAKWKT+Z-SZb1=3rwLm+urs3fghQ3M6pdOR_rzXKCevoad11a5g@mail.gmail.com' \
    --to=gaoqiangscut@gmail.com \
    --cc=cgroups@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=mhocko@suse.cz \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).