All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mikulas Patocka <mpatocka@redhat.com>
To: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@kernel.org>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	Ondrej Kozina <okozina@redhat.com>,
	Jerome Marchand <jmarchan@redhat.com>,
	Stanislav Kozina <skozina@redhat.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	dm-devel@redhat.com
Subject: Re: System freezes after OOM
Date: Fri, 15 Jul 2016 17:39:55 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LRH.2.02.1607151730430.21114@file01.intranet.prod.int.rdu2.redhat.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1607151422140.121215@chino.kir.corp.google.com>



On Fri, 15 Jul 2016, David Rientjes wrote:

> On Fri, 15 Jul 2016, Mikulas Patocka wrote:
> 
> > > There is no guarantee that _anything_ can return memory to the mempool,
> > 
> > You misunderstand mempools if you make such claims.
> > 
> > There is in fact guarantee that objects will be returned to mempool. In 
> > the past I reviewed device mapper thoroughly to make sure that it can make 
> > forward progress even if there is no available memory.
> > 
> > I don't know what should I tell you if you keep on repeating the same 
> > false claim over and over again. Should I explain mempool oprerations to 
> > you in detail? Or will you find it on your own?
> > 
> 
> If you are talking about patches you're proposing for 4.8 or any guarantee 
> of memory freeing that the oom killer/reaper will provide in 4.8, that's 
> fine.  However, the state of the 4.7 kernel is the same as it was when I 
> fixed this issue that timed out hundreds of our machines and is 
> contradicted by that evidence.  Our machines time out after two hours with 
> the oom victim looping forever in mempool_alloc(), so if there was a 

And what about the oom reaper? It should have freed all victim's pages 
even if the victim is looping in mempool_alloc. Why the oom reaper didn't 
free up memory?

> guarantee that elements would be returned in a completely livelocked 
> kernel in 4.7 or earlier kernels, that would not have been the case.  I 

And what kind of targets do you use in device mapper in the configuration 
that livelocked? Do you use some custom google-developed drivers?

Please describe the whole stack of block I/O devices when this livelock 
happened.

Most device mapper drivers can really make forward progress when they are 
out of memory, so I'm interested what kind of configuration do you have.

> frankly don't care about your patch reviewing of dm mempool usage when 
> dm_request() livelocked our kernel.

If it livelocked, it is a bug in some underlying block driver, not a bug 
in mempool_alloc.

> Feel free to formally propose patches either for 4.7 or 4.8.

Mikulas

WARNING: multiple messages have this Message-ID (diff)
From: Mikulas Patocka <mpatocka@redhat.com>
To: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@kernel.org>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	Ondrej Kozina <okozina@redhat.com>,
	Jerome Marchand <jmarchan@redhat.com>,
	Stanislav Kozina <skozina@redhat.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	dm-devel@redhat.com
Subject: Re: System freezes after OOM
Date: Fri, 15 Jul 2016 17:39:55 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LRH.2.02.1607151730430.21114@file01.intranet.prod.int.rdu2.redhat.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1607151422140.121215@chino.kir.corp.google.com>



On Fri, 15 Jul 2016, David Rientjes wrote:

> On Fri, 15 Jul 2016, Mikulas Patocka wrote:
> 
> > > There is no guarantee that _anything_ can return memory to the mempool,
> > 
> > You misunderstand mempools if you make such claims.
> > 
> > There is in fact guarantee that objects will be returned to mempool. In 
> > the past I reviewed device mapper thoroughly to make sure that it can make 
> > forward progress even if there is no available memory.
> > 
> > I don't know what should I tell you if you keep on repeating the same 
> > false claim over and over again. Should I explain mempool oprerations to 
> > you in detail? Or will you find it on your own?
> > 
> 
> If you are talking about patches you're proposing for 4.8 or any guarantee 
> of memory freeing that the oom killer/reaper will provide in 4.8, that's 
> fine.  However, the state of the 4.7 kernel is the same as it was when I 
> fixed this issue that timed out hundreds of our machines and is 
> contradicted by that evidence.  Our machines time out after two hours with 
> the oom victim looping forever in mempool_alloc(), so if there was a 

And what about the oom reaper? It should have freed all victim's pages 
even if the victim is looping in mempool_alloc. Why the oom reaper didn't 
free up memory?

> guarantee that elements would be returned in a completely livelocked 
> kernel in 4.7 or earlier kernels, that would not have been the case.  I 

And what kind of targets do you use in device mapper in the configuration 
that livelocked? Do you use some custom google-developed drivers?

Please describe the whole stack of block I/O devices when this livelock 
happened.

Most device mapper drivers can really make forward progress when they are 
out of memory, so I'm interested what kind of configuration do you have.

> frankly don't care about your patch reviewing of dm mempool usage when 
> dm_request() livelocked our kernel.

If it livelocked, it is a bug in some underlying block driver, not a bug 
in mempool_alloc.

> Feel free to formally propose patches either for 4.7 or 4.8.

Mikulas

--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2016-07-15 21:40 UTC|newest]

Thread overview: 136+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <57837CEE.1010609@redhat.com>
     [not found] ` <f80dc690-7e71-26b2-59a2-5a1557d26713@redhat.com>
     [not found]   ` <9be09452-de7f-d8be-fd5d-4a80d1cd1ba3@redhat.com>
2016-07-11 15:43     ` System freezes after OOM Mikulas Patocka
2016-07-11 15:43       ` Mikulas Patocka
2016-07-12  6:49       ` Michal Hocko
2016-07-12  6:49         ` Michal Hocko
2016-07-12 23:44         ` Mikulas Patocka
2016-07-12 23:44         ` Mikulas Patocka
2016-07-12 23:44           ` Mikulas Patocka
2016-07-13  8:35           ` Jerome Marchand
2016-07-13  8:35           ` Jerome Marchand
2016-07-13 11:14             ` Michal Hocko
2016-07-13 11:14             ` Michal Hocko
2016-07-13 11:14               ` Michal Hocko
2016-07-13 14:21               ` Mikulas Patocka
2016-07-13 14:21                 ` Mikulas Patocka
2016-07-13 11:10           ` Michal Hocko
2016-07-13 11:10           ` Michal Hocko
2016-07-13 11:10             ` Michal Hocko
2016-07-13 12:50             ` Michal Hocko
2016-07-13 12:50               ` Michal Hocko
2016-07-13 13:44               ` Milan Broz
2016-07-13 13:44                 ` Milan Broz
2016-07-13 15:21                 ` Mikulas Patocka
2016-07-13 15:21                   ` Mikulas Patocka
2016-07-14  9:09                   ` Michal Hocko
2016-07-14  9:09                     ` Michal Hocko
2016-07-14  9:46                     ` Milan Broz
2016-07-14  9:46                       ` Milan Broz
2016-07-13 12:50             ` Michal Hocko
2016-07-13 15:02             ` Mikulas Patocka
2016-07-13 15:02             ` Mikulas Patocka
2016-07-13 15:02               ` Mikulas Patocka
2016-07-14 10:51               ` [dm-devel] " Ondrej Kozina
2016-07-14 10:51                 ` Ondrej Kozina
2016-07-14 12:51               ` Michal Hocko
2016-07-14 12:51                 ` Michal Hocko
2016-07-14 14:00                 ` Mikulas Patocka
2016-07-14 14:00                   ` Mikulas Patocka
2016-07-14 14:59                   ` Michal Hocko
2016-07-14 14:59                     ` Michal Hocko
2016-07-14 15:25                     ` Ondrej Kozina
2016-07-14 15:25                       ` Ondrej Kozina
2016-07-14 17:35                     ` Mikulas Patocka
2016-07-14 17:35                       ` Mikulas Patocka
2016-07-15  8:35                       ` Michal Hocko
2016-07-15  8:35                         ` Michal Hocko
2016-07-15 12:11                         ` Mikulas Patocka
2016-07-15 12:11                           ` Mikulas Patocka
2016-07-15 12:22                           ` Michal Hocko
2016-07-15 12:22                             ` Michal Hocko
2016-07-15 17:02                             ` Mikulas Patocka
2016-07-15 17:02                               ` Mikulas Patocka
2016-07-18  7:22                               ` Michal Hocko
2016-07-18  7:22                                 ` Michal Hocko
2016-07-14 14:08                 ` Ondrej Kozina
2016-07-14 14:08                   ` Ondrej Kozina
2016-07-14 14:08                   ` Ondrej Kozina
2016-07-14 15:31                   ` Michal Hocko
2016-07-14 15:31                     ` Michal Hocko
2016-07-14 17:07                     ` Ondrej Kozina
2016-07-14 17:07                       ` Ondrej Kozina
2016-07-14 17:36                       ` Michal Hocko
2016-07-14 17:36                         ` Michal Hocko
2016-07-14 17:39                         ` Michal Hocko
2016-07-14 17:39                           ` Michal Hocko
2016-07-15 11:42                       ` Tetsuo Handa
2016-07-15 11:42                         ` Tetsuo Handa
2016-07-13 13:19           ` Tetsuo Handa
2016-07-13 13:19             ` Tetsuo Handa
2016-07-13 13:39             ` Michal Hocko
2016-07-13 13:39               ` Michal Hocko
2016-07-13 14:18               ` Mikulas Patocka
2016-07-13 14:18               ` Mikulas Patocka
2016-07-13 14:18                 ` Mikulas Patocka
2016-07-13 14:56                 ` Michal Hocko
2016-07-13 14:56                   ` Michal Hocko
2016-07-13 15:11                   ` Mikulas Patocka
2016-07-13 15:11                     ` Mikulas Patocka
2016-07-13 23:53                     ` David Rientjes
2016-07-13 23:53                       ` David Rientjes
2016-07-14 11:01                       ` Tetsuo Handa
2016-07-14 11:01                         ` Tetsuo Handa
2016-07-14 12:29                         ` Mikulas Patocka
2016-07-14 12:29                           ` Mikulas Patocka
2016-07-14 20:26                         ` David Rientjes
2016-07-14 20:26                           ` David Rientjes
2016-07-14 21:40                           ` Tetsuo Handa
2016-07-14 21:40                             ` Tetsuo Handa
2016-07-14 22:04                             ` David Rientjes
2016-07-14 22:04                               ` David Rientjes
2016-07-15 11:25                           ` Mikulas Patocka
2016-07-15 11:25                             ` Mikulas Patocka
2016-07-15 21:21                             ` David Rientjes
2016-07-15 21:21                               ` David Rientjes
2016-07-14 11:01                       ` Tetsuo Handa
2016-07-14 12:27                       ` Mikulas Patocka
2016-07-14 12:27                         ` Mikulas Patocka
2016-07-14 20:22                         ` David Rientjes
2016-07-14 20:22                           ` David Rientjes
2016-07-15 11:21                           ` Mikulas Patocka
2016-07-15 11:21                             ` Mikulas Patocka
2016-07-15 21:25                             ` David Rientjes
2016-07-15 21:25                               ` David Rientjes
2016-07-15 21:39                               ` Mikulas Patocka [this message]
2016-07-15 21:39                                 ` Mikulas Patocka
2016-07-15 21:58                                 ` David Rientjes
2016-07-15 21:58                                   ` David Rientjes
2016-07-15 23:53                                   ` Mikulas Patocka
2016-07-15 23:53                                     ` Mikulas Patocka
2016-07-18 15:14                             ` Johannes Weiner
2016-07-18 15:14                               ` Johannes Weiner
2016-07-14 15:29                       ` Michal Hocko
2016-07-14 15:29                         ` Michal Hocko
2016-07-14 20:38                         ` David Rientjes
2016-07-14 20:38                           ` David Rientjes
2016-07-15  7:22                           ` Michal Hocko
2016-07-15  7:22                             ` Michal Hocko
2016-07-15  8:23                             ` Michal Hocko
2016-07-15  8:23                               ` Michal Hocko
2016-07-15 12:00                             ` Mikulas Patocka
2016-07-15 12:00                               ` Mikulas Patocka
2016-07-15 21:47                             ` David Rientjes
2016-07-15 21:47                               ` David Rientjes
2016-07-18  7:39                               ` Michal Hocko
2016-07-18  7:39                                 ` Michal Hocko
2016-07-18 21:03                                 ` David Rientjes
2016-07-18 21:03                                   ` David Rientjes
2016-07-13 23:53                     ` David Rientjes
2016-07-13 15:11                   ` Mikulas Patocka
2016-07-13 14:56                 ` Michal Hocko
2016-07-13 13:39             ` Michal Hocko
2016-07-14  0:01             ` David Rientjes
2016-07-14  0:01               ` David Rientjes
2016-07-14  0:01             ` David Rientjes
2016-07-13 13:19           ` Tetsuo Handa
2016-07-12  6:49       ` Michal Hocko
2016-07-11 15:43     ` Mikulas Patocka

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=alpine.LRH.2.02.1607151730430.21114@file01.intranet.prod.int.rdu2.redhat.com \
    --to=mpatocka@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=jmarchan@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=okozina@redhat.com \
    --cc=penguin-kernel@i-love.sakura.ne.jp \
    --cc=rientjes@google.com \
    --cc=skozina@redhat.com \
    /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.