All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Oliver Neukum <oliver@neukum.org>
Cc: 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>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: Re: [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] Memory allocations in .suspend became very unreliable)
Date: Tue, 19 Jan 2010 21:37:35 +0100	[thread overview]
Message-ID: <201001192137.35232.rjw@sisk.pl> (raw)
In-Reply-To: <201001191025.37579.oliver@neukum.org>

On Tuesday 19 January 2010, Oliver Neukum wrote:
> Am Montag, 18. Januar 2010 21:41:49 schrieb Rafael J. Wysocki:
> > On Monday 18 January 2010, Oliver Neukum wrote:
> > > Am Sonntag, 17. Januar 2010 14:55:55 schrieb Rafael J. Wysocki:
> > > > +void mm_force_noio_allocations(void)
> > > > +{
> > > > +       /* Wait for all slowpath allocations using the old mask to complete */
> > > > +       down_write(&gfp_allowed_mask_sem);
> > > > +       saved_gfp_allowed_mask = gfp_allowed_mask;
> > > > +       gfp_allowed_mask &= ~(__GFP_IO | __GFP_FS);
> > > > +       up_write(&gfp_allowed_mask_sem);
> > > > +}
> > > 
> > > In addition to this you probably want to exhaust all memory reserves
> > > before you fail a memory allocation
> > 
> > I'm not really sure what you mean.
> 
> Forget it, it was foolish. Instead there's a different problem.
> Suppose we are tight on memory. The problem is that we must not
> exhaust all memory. If we are really out of memory we may be unable
> to satisfy memory allocations in resume()

That doesn't make things any worse than the are already.  If we block on
I/O forever during resume, the gross result is pretty much the same.

That said, Maxim reported that in his test case the mm subsystem apparently
attempted to use I/O even if there was a plenty of free memory available and
I'd like prevent _that_ from happening.

Rafael

WARNING: multiple messages have this Message-ID (diff)
From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Oliver Neukum <oliver@neukum.org>
Cc: 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>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: Re: [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] Memory allocations in .suspend became very unreliable)
Date: Tue, 19 Jan 2010 21:37:35 +0100	[thread overview]
Message-ID: <201001192137.35232.rjw@sisk.pl> (raw)
In-Reply-To: <201001191025.37579.oliver@neukum.org>

On Tuesday 19 January 2010, Oliver Neukum wrote:
> Am Montag, 18. Januar 2010 21:41:49 schrieb Rafael J. Wysocki:
> > On Monday 18 January 2010, Oliver Neukum wrote:
> > > Am Sonntag, 17. Januar 2010 14:55:55 schrieb Rafael J. Wysocki:
> > > > +void mm_force_noio_allocations(void)
> > > > +{
> > > > +       /* Wait for all slowpath allocations using the old mask to complete */
> > > > +       down_write(&gfp_allowed_mask_sem);
> > > > +       saved_gfp_allowed_mask = gfp_allowed_mask;
> > > > +       gfp_allowed_mask &= ~(__GFP_IO | __GFP_FS);
> > > > +       up_write(&gfp_allowed_mask_sem);
> > > > +}
> > > 
> > > In addition to this you probably want to exhaust all memory reserves
> > > before you fail a memory allocation
> > 
> > I'm not really sure what you mean.
> 
> Forget it, it was foolish. Instead there's a different problem.
> Suppose we are tight on memory. The problem is that we must not
> exhaust all memory. If we are really out of memory we may be unable
> to satisfy memory allocations in resume()

That doesn't make things any worse than the are already.  If we block on
I/O forever during resume, the gross result is pretty much the same.

That said, Maxim reported that in his test case the mm subsystem apparently
attempted to use I/O even if there was a plenty of free memory available and
I'd like prevent _that_ from happening.

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-19 20:36 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: Memory allocations in .suspend became very unreliable) Rafael J. Wysocki
2010-01-17  0:38           ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " 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                     ` 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                         ` [linux-pm] " Rafael J. Wysocki
2010-01-18 20:59                           ` Rafael J. Wysocki
2010-01-19 15:13                           ` Alan Stern
2010-01-19 15:13                             ` Alan Stern
2010-01-19 15:13                           ` Alan Stern
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  7:53                     ` Oliver Neukum
2010-01-18 21:55                     ` Benjamin Herrenschmidt
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-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               ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Minchan Kim
2010-01-17 16:21               ` [linux-pm] " 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                   ` [linux-pm] " KOSAKI Motohiro
2010-01-18  2:20                     ` KOSAKI Motohiro
2010-01-18 21:06                     ` 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 21:06                     ` Rafael J. Wysocki
2010-01-18  0:25                 ` Rafael J. Wysocki
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                     ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-19 20:37                     ` Rafael J. Wysocki [this message]
2010-01-19 20:37                       ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Rafael J. Wysocki
2010-01-20 14:05                       ` Oliver Neukum
2010-01-20 14:05                         ` Oliver Neukum
2010-01-20 21:13                         ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-20 21:13                         ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Rafael J. Wysocki
2010-01-20 21:13                           ` Rafael J. Wysocki
2010-01-20 14:05                       ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Oliver Neukum
2010-01-18 17:00               ` Oliver Neukum
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                     ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Bastien ROUCARIES
2010-01-19  9:04                     ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Bastien ROUCARIES
2010-01-19  9:04                       ` Bastien ROUCARIES
2010-01-19 23:17                       ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Benjamin Herrenschmidt
2010-01-19 23:17                       ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Benjamin Herrenschmidt
2010-01-19 23:17                         ` Benjamin Herrenschmidt
2010-01-20 11:31                         ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Oliver Neukum
2010-01-20 11:31                         ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " 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                           ` [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 21:12                           ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-19 20:47                     ` Rafael J. Wysocki
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                           ` 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                               ` [linux-pm] [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Nigel Cunningham
2010-01-21 20:42                                 ` Nigel Cunningham
2010-01-21 21:38                                 ` Rafael J. Wysocki
2010-01-21 21:38                                   ` Rafael J. Wysocki
2010-01-21 21:38                                 ` Rafael J. Wysocki
2010-01-21 20:42                               ` Nigel Cunningham
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                                   ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Maxim Levitsky
2010-01-22 10:11                                   ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " 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-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-30 18:56                                             ` Rafael J. Wysocki
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:53                                                 ` Rafael J. Wysocki
2010-01-30 20:53                                                 ` Rafael J. Wysocki
2010-01-30 20:53                                                   ` Rafael J. Wysocki
2010-01-30 20:42                                               ` Maxim Levitsky
2010-01-25 21:52                                           ` Alexey Starikovskiy
2010-01-23  9:29                                       ` Maxim Levitsky
2010-01-22 21:19                                     ` Rafael J. Wysocki
2010-01-22  1:42                                 ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: Memory allocations in .suspend became very unreliable) KOSAKI Motohiro
2010-01-22 20:58                                 ` Rafael J. Wysocki
2010-01-22 20:58                                 ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " Rafael J. Wysocki
2010-01-22 20:58                                   ` Rafael J. Wysocki
2010-01-21 20:21                             ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-21  0:47                           ` KOSAKI Motohiro
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  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               ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Rafael J. Wysocki
2010-01-30 18:47               ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: Re: [linux-pm] " 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                   ` Maxim Levitsky
2010-02-01 19:51                     ` Maxim Levitsky
2010-02-01 19:51                   ` [RFC][PATCH] PM: Force GFP_NOIO during suspend/resume (was: " Maxim Levitsky

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