All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Maxim Levitsky <maximlevitsky@gmail.com>,
	linux-pm@lists.linux-foundation.org,
	LKML <linux-kernel@vger.kernel.org>,
	"linux-mm" <linux-mm@kvack.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] Memory allocations in .suspend became very unreliable)
Date: Fri, 22 Jan 2010 21:58:46 +0100	[thread overview]
Message-ID: <201001222158.46337.rjw@sisk.pl> (raw)
In-Reply-To: <20100122100155.6C03.A69D9226@jp.fujitsu.com>

On Friday 22 January 2010, KOSAKI Motohiro wrote:
> > > Probably we have multiple option. but I don't think GFP_NOIO is good
> > > option. It assume the system have lots non-dirty cache memory and it isn't
> > > guranteed.
> > 
> > Basically nothing is guaranteed in this case.  However, does it actually make
> > things _worse_?  
> 
> Hmm..
> Do you mean we don't need to prevent accidental suspend failure?
> Perhaps, I did misunderstand your intention. If you think your patch solve
> this this issue, I still disagree.

No, I don't.

> but If you think your patch mitigate the pain of this issue, I agree it.

That's what I wanted to say really.

> I don't have any reason to oppose your first patch.

Great!

> > What _exactly_ does happen without the $subject patch if the
> > system doesn't have non-dirty cache memory and someone makes a GFP_KERNEL
> > allocation during suspend?
> 
> Page allocator prefer to spent lots time for reclaimable memory searching than
> returning NULL. IOW, it can spent time few second if it doesn't have
> reclaimable memory.
> In typical case, OOM killer forcely make enough free memory if the system
> don't have any memory. But under suspending time, oom killer is disabled.
> So, if the caller (probably drivers) call alloc >1000times, the system
> spent lots seconds.
> 
> In this case, GFP_NOIO doesn't help. slowness behavior is caused by
> freeable memory search, not slow i/o.
> 
> However, if strange i/o device makes any i/o slowness, GFP_NOIO might help.
> In this case, please don't ask me about i/o thing. I don't know ;)

OK, thanks for the explanation.

Rafael

WARNING: multiple messages have this Message-ID (diff)
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Maxim Levitsky <maximlevitsky@gmail.com>,
	linux-pm@lists.linux-foundation.org,
	LKML <linux-kernel@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] Memory allocations in .suspend became very unreliable)
Date: Fri, 22 Jan 2010 21:58:46 +0100	[thread overview]
Message-ID: <201001222158.46337.rjw@sisk.pl> (raw)
In-Reply-To: <20100122100155.6C03.A69D9226@jp.fujitsu.com>

On Friday 22 January 2010, KOSAKI Motohiro wrote:
> > > Probably we have multiple option. but I don't think GFP_NOIO is good
> > > option. It assume the system have lots non-dirty cache memory and it isn't
> > > guranteed.
> > 
> > Basically nothing is guaranteed in this case.  However, does it actually make
> > things _worse_?  
> 
> Hmm..
> Do you mean we don't need to prevent accidental suspend failure?
> Perhaps, I did misunderstand your intention. If you think your patch solve
> this this issue, I still disagree.

No, I don't.

> but If you think your patch mitigate the pain of this issue, I agree it.

That's what I wanted to say really.

> I don't have any reason to oppose your first patch.

Great!

> > What _exactly_ does happen without the $subject patch if the
> > system doesn't have non-dirty cache memory and someone makes a GFP_KERNEL
> > allocation during suspend?
> 
> Page allocator prefer to spent lots time for reclaimable memory searching than
> returning NULL. IOW, it can spent time few second if it doesn't have
> reclaimable memory.
> In typical case, OOM killer forcely make enough free memory if the system
> don't have any memory. But under suspending time, oom killer is disabled.
> So, if the caller (probably drivers) call alloc >1000times, the system
> spent lots seconds.
> 
> In this case, GFP_NOIO doesn't help. slowness behavior is caused by
> freeable memory search, not slow i/o.
> 
> However, if strange i/o device makes any i/o slowness, GFP_NOIO might help.
> In this case, please don't ask me about i/o thing. I don't know ;)

OK, thanks for the explanation.

Rafael

--
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>

  parent reply	other threads:[~2010-01-22 20:58 UTC|newest]

Thread overview: 183+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-15  9:59 Memory allocations in .suspend became very unreliable Maxim Levitsky
2010-01-15 10:24 ` Romit Dasgupta
2010-01-15 10:34   ` Maxim Levitsky
2010-01-15 22:03 ` Rafael J. Wysocki
2010-01-15 23:56   ` Maxim Levitsky
2010-01-16  0:57     ` Rafael J. Wysocki
2010-01-16 21:44       ` Maxim Levitsky
2010-01-16 22:17         ` Rafael J. Wysocki
2010-01-17  0:38           ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] Memory allocations in .suspend became very unreliable) Rafael J. Wysocki
2010-01-17  0:38             ` Rafael J. Wysocki
2010-01-17  1:24             ` Oliver Neukum
2010-01-17  1:24               ` Oliver Neukum
2010-01-17 13:27               ` Rafael J. Wysocki
2010-01-17 13:27                 ` Rafael J. Wysocki
2010-01-17 13:36                 ` Rafael J. Wysocki
2010-01-17 13:36                   ` Rafael J. Wysocki
2010-01-17 13:36                 ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-17 18:58                 ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Benjamin Herrenschmidt
2010-01-17 18:58                   ` Benjamin Herrenschmidt
2010-01-17 23:00                   ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-17 23:00                   ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Rafael J. Wysocki
2010-01-17 23:00                     ` Rafael J. Wysocki
2010-01-18  7:53                     ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Oliver Neukum
2010-01-18  7:53                     ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Oliver Neukum
2010-01-18  7:53                       ` Oliver Neukum
2010-01-18 16:17                       ` [linux-pm] [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Alan Stern
2010-01-18 16:17                         ` Alan Stern
2010-01-18 20:59                         ` Rafael J. Wysocki
2010-01-18 20:59                           ` Rafael J. Wysocki
2010-01-19 15:13                           ` Alan Stern
2010-01-19 15:13                           ` [linux-pm] " Alan Stern
2010-01-19 15:13                             ` Alan Stern
2010-01-18 20:59                         ` Rafael J. Wysocki
2010-01-18 16:17                       ` Alan Stern
2010-01-18 20:56                       ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Rafael J. Wysocki
2010-01-18 20:56                         ` Rafael J. Wysocki
2010-01-18 20:56                       ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-18 21:55                     ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Benjamin Herrenschmidt
2010-01-18 21:55                       ` Benjamin Herrenschmidt
2010-01-18 23:33                       ` Rafael J. Wysocki
2010-01-18 23:33                         ` Rafael J. Wysocki
2010-01-18 23:33                       ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-18 21:55                     ` Benjamin Herrenschmidt
2010-01-17 18:58                 ` Benjamin Herrenschmidt
2010-01-17 13:27               ` Rafael J. Wysocki
2010-01-17  1:24             ` Oliver Neukum
2010-01-17 13:55             ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Rafael J. Wysocki
2010-01-17 13:55               ` Rafael J. Wysocki
2010-01-17 16:21               ` [linux-pm] [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Minchan Kim
2010-01-17 16:21                 ` Minchan Kim
2010-01-17 16:23                 ` Minchan Kim
2010-01-17 16:23                   ` Minchan Kim
2010-01-17 16:23                 ` Minchan Kim
2010-01-18  0:25                 ` [linux-pm] " Rafael J. Wysocki
2010-01-18  0:25                   ` Rafael J. Wysocki
2010-01-18  2:20                   ` KOSAKI Motohiro
2010-01-18  2:20                     ` KOSAKI Motohiro
2010-01-18 21:06                     ` Rafael J. Wysocki
2010-01-18 21:06                     ` [linux-pm] " Rafael J. Wysocki
2010-01-18 21:06                       ` Rafael J. Wysocki
2010-01-19  9:15                       ` Oliver Neukum
2010-01-19  9:15                         ` Oliver Neukum
2010-01-19 20:34                         ` Rafael J. Wysocki
2010-01-19 20:34                         ` [linux-pm] " Rafael J. Wysocki
2010-01-19 20:34                           ` Rafael J. Wysocki
2010-01-19  9:15                       ` Oliver Neukum
2010-01-18  2:20                   ` KOSAKI Motohiro
2010-01-18  0:25                 ` Rafael J. Wysocki
2010-01-17 16:21               ` Minchan Kim
2010-01-18 17:00               ` Oliver Neukum
2010-01-18 17:00               ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Oliver Neukum
2010-01-18 17:00                 ` Oliver Neukum
2010-01-18 20:41                 ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-18 20:41                 ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Rafael J. Wysocki
2010-01-18 20:41                   ` Rafael J. Wysocki
2010-01-19  9:25                   ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Oliver Neukum
2010-01-19  9:25                   ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Oliver Neukum
2010-01-19  9:25                     ` Oliver Neukum
2010-01-19 20:37                     ` Rafael J. Wysocki
2010-01-19 20:37                       ` Rafael J. Wysocki
2010-01-20 14:05                       ` Oliver Neukum
2010-01-20 14:05                         ` Oliver Neukum
2010-01-20 21:13                         ` Rafael J. Wysocki
2010-01-20 21:13                           ` Rafael J. Wysocki
2010-01-20 21:13                         ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-20 14:05                       ` Oliver Neukum
2010-01-19 20:37                     ` Rafael J. Wysocki
2010-01-17 13:55             ` Rafael J. Wysocki
2010-01-18  2:16             ` KOSAKI Motohiro
2010-01-18  2:16             ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " KOSAKI Motohiro
2010-01-18  2:16               ` KOSAKI Motohiro
2010-01-18 20:55               ` Rafael J. Wysocki
2010-01-18 20:55                 ` Rafael J. Wysocki
2010-01-19  1:19                 ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " KOSAKI Motohiro
2010-01-19  1:19                 ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " KOSAKI Motohiro
2010-01-19  1:19                   ` KOSAKI Motohiro
2010-01-19  3:19                   ` Benjamin Herrenschmidt
2010-01-19  3:19                     ` Benjamin Herrenschmidt
2010-01-19  9:04                     ` Bastien ROUCARIES
2010-01-19  9:04                       ` Bastien ROUCARIES
2010-01-19 23:17                       ` Benjamin Herrenschmidt
2010-01-19 23:17                         ` Benjamin Herrenschmidt
2010-01-20 11:31                         ` Oliver Neukum
2010-01-20 11:31                           ` Oliver Neukum
2010-01-20 21:11                           ` Benjamin Herrenschmidt
2010-01-20 21:11                             ` Benjamin Herrenschmidt
2010-01-20 21:11                           ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Benjamin Herrenschmidt
2010-01-20 21:12                           ` Rafael J. Wysocki
2010-01-20 21:12                           ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Rafael J. Wysocki
2010-01-20 21:12                             ` Rafael J. Wysocki
2010-01-20 11:31                         ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Oliver Neukum
2010-01-19 23:17                       ` Benjamin Herrenschmidt
2010-01-19  9:04                     ` Bastien ROUCARIES
2010-01-19 20:47                     ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Rafael J. Wysocki
2010-01-19 20:47                       ` Rafael J. Wysocki
2010-01-20  0:33                       ` KOSAKI Motohiro
2010-01-20  0:33                         ` KOSAKI Motohiro
2010-01-20 21:21                         ` Rafael J. Wysocki
2010-01-20 21:21                           ` Rafael J. Wysocki
2010-01-21  0:47                           ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " KOSAKI Motohiro
2010-01-21  0:47                           ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " KOSAKI Motohiro
2010-01-21  0:47                             ` KOSAKI Motohiro
2010-01-21 20:21                             ` Rafael J. Wysocki
2010-01-21 20:21                               ` Rafael J. Wysocki
2010-01-21 20:42                               ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Nigel Cunningham
2010-01-21 20:42                               ` [linux-pm] " Nigel Cunningham
2010-01-21 20:42                                 ` Nigel Cunningham
2010-01-21 21:38                                 ` Rafael J. Wysocki
2010-01-21 21:38                                 ` [linux-pm] " Rafael J. Wysocki
2010-01-21 21:38                                   ` Rafael J. Wysocki
2010-01-22  1:31                               ` KOSAKI Motohiro
2010-01-22  1:31                               ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " KOSAKI Motohiro
2010-01-22  1:31                                 ` KOSAKI Motohiro
2010-01-22  1:42                                 ` KOSAKI Motohiro
2010-01-22  1:42                                   ` KOSAKI Motohiro
2010-01-22 10:11                                   ` Maxim Levitsky
2010-01-22 10:11                                     ` Maxim Levitsky
2010-01-22 21:19                                     ` [Update][PATCH] MM / PM: Force GFP_NOIO during suspend/hibernation and resume Rafael J. Wysocki
2010-01-22 21:19                                     ` Rafael J. Wysocki
2010-01-22 21:19                                       ` Rafael J. Wysocki
2010-01-23  9:29                                       ` Maxim Levitsky
2010-01-23  9:29                                         ` Maxim Levitsky
2010-01-25 21:49                                         ` Rafael J. Wysocki
2010-01-25 21:49                                         ` Rafael J. Wysocki
2010-01-25 21:49                                           ` Rafael J. Wysocki
2010-01-25 21:52                                           ` Alexey Starikovskiy
2010-01-25 21:52                                           ` Alexey Starikovskiy
2010-01-25 21:52                                             ` Alexey Starikovskiy
2010-01-30 18:56                                             ` Rafael J. Wysocki
2010-01-30 18:56                                               ` Rafael J. Wysocki
2010-01-30 20:42                                               ` Maxim Levitsky
2010-01-30 20:42                                               ` Maxim Levitsky
2010-01-30 20:42                                                 ` Maxim Levitsky
2010-01-30 20:53                                                 ` Rafael J. Wysocki
2010-01-30 20:53                                                 ` Rafael J. Wysocki
2010-01-30 20:53                                                   ` Rafael J. Wysocki
2010-01-30 18:56                                             ` Rafael J. Wysocki
2010-01-23  9:29                                       ` Maxim Levitsky
2010-01-22 10:11                                   ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: Memory allocations in .suspend became very unreliable) Maxim Levitsky
2010-01-22  1:42                                 ` KOSAKI Motohiro
2010-01-22 20:58                                 ` Rafael J. Wysocki
2010-01-22 20:58                                 ` Rafael J. Wysocki [this message]
2010-01-22 20:58                                   ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Rafael J. Wysocki
2010-01-21 20:21                             ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-20 21:21                         ` Rafael J. Wysocki
2010-01-20 21:21                         ` Rafael J. Wysocki
2010-01-20  0:33                       ` KOSAKI Motohiro
2010-01-19 20:47                     ` Rafael J. Wysocki
2010-01-19  3:19                   ` Benjamin Herrenschmidt
2010-01-18 20:55               ` Rafael J. Wysocki
2010-01-30 15:46             ` Maxim Levitsky
2010-01-30 15:46             ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Maxim Levitsky
2010-01-30 15:46               ` Maxim Levitsky
2010-01-30 18:47               ` Rafael J. Wysocki
2010-01-30 18:47                 ` Rafael J. Wysocki
2010-01-30 20:37                 ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Maxim Levitsky
2010-01-30 20:37                 ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Maxim Levitsky
2010-01-30 20:37                   ` Maxim Levitsky
2010-02-01 19:51                   ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Maxim Levitsky
2010-02-01 19:51                   ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Maxim Levitsky
2010-02-01 19:51                     ` Maxim Levitsky
2010-01-30 18:47               ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-17  0:38           ` Rafael J. Wysocki

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=201001222158.46337.rjw@sisk.pl \
    --to=rjw@sisk.pl \
    --cc=akpm@linux-foundation.org \
    --cc=benh@kernel.crashing.org \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=maximlevitsky@gmail.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.