Re: [Suspend2-devel] Re: CFS and suspend2: hang in atomic copy

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Ingo Molnar <mingo@...>
Cc: Christian Hesse <mail@...>, Nick Piggin <npiggin@...>, Mike Galbraith <efault@...>, <linux-kernel@...>, Con Kolivas <kernel@...>, <suspend2-devel@...>, Andrew Morton <akpm@...>, Linus Torvalds <torvalds@...>, Thomas Gleixner <tglx@...>, Arjan van de Ven <arjan@...>
Date: Thursday, April 19, 2007 - 5:05 am

Hi Ingo.

On Thu, 2007-04-19 at 09:04 +0200, Ingo Molnar wrote:

I really would like to get it into Linus' tree but Pavel doesn't want it
(obviously!) and I haven't got together enough of a case yet to convince
Andrew. I yet another here's-why-I-think-it-should-be-merged email in
the works (poor Andrew!) but there are too many other things on my plate
at the mo.


Right. A good portion (~2000 lines) of that is documentation.


I'll look at that, but I'm not sure if it's a good idea - this is for
during the atomic copy & restore, when DEBUG_PAGEALLOC is enabled on
x86. Other things might touch memory in ways we don't want. It's only
needed for slab pages that get unmapped but not freed.

As far as the module exports go, I'm not expecting them to get merged. I
like building Suspend2 as modules (it helps speed the development
cycle), and see it as potentially useful for embedded but IMO there are
too many export symbols to make merging that code a possibility. This is
why they're all in one file rather than sprinkled through the files that
define the symbols.


Yeah. When I was recently debugging, I found that cpu hotplugging is
using something marked __init which is causing the machine to
spontaneously reboot when cpus are replugged if DEBUG_PAGEALLOC is
enabled. Haven't had the time to get back to it, and also need some help
with the approach (what makes the machine reboot in this case instead of
oopsing, and how do I stop it?).


Oh. The space missing after the if? Ok.

 is */

Ok.

*/

Ok. I've just separated that into it's own file/module, so that will be
straightforward to do.


The modifications do three things.

First, we're seeking to keep the LRU static once while we're suspending.
I originally sought to achieve that by avoiding entering the vmscan.c
logic (not as drastic as it sounds - Suspend2 is the only thing
running!). I think it was Nick who said he'd rather see it the pages
unlinked and kept safe that way, so now I do that. Oh, as part of this,
I separated out the code from shrink_inactive_list that returns isolated
pages, since relink_lru_lists uses it too.

The other part is (prior to the above) seeking to get in a situation
where we have enough memory available to do the cycle. I used to use
shrink_all_zones, but some users with lots of Highmem were finding
issues that let me to take a more per-zone based approach, hence
shrink_one_zone.

The last thing is a patch Rafael recently posted to improve kswapd
freezing.


Yeah, I guess mm makes more sense.


Thanks for the feedback. Although I'd like to see Suspend2 merged, I've
been feeling a bit like it's a lost cause. It's nice to get some
encouragement.

Nigel
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and sus..., Christoph Hellwig, (Thu Apr 26, 7:35 am)
Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and sus..., Martin Steigerwald, (Sat May 26, 1:37 pm)
Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and sus..., Rafael J. Wysocki, (Sat May 26, 4:35 pm)
Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and sus..., Martin Steigerwald, (Sat May 26, 6:23 pm)
Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and sus..., Rafael J. Wysocki, (Thu Apr 26, 4:12 pm)
Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and sus..., Rafael J. Wysocki, (Wed Apr 25, 5:07 pm)
Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and sus..., Antonino A. Daplas, (Wed Apr 25, 9:25 pm)
Re: suspend2 merge, Martin Steigerwald, (Fri Apr 27, 8:36 am)
Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and sus..., Rafael J. Wysocki, (Wed Apr 25, 4:20 pm)
Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and sus..., Rafael J. Wysocki, (Wed Apr 25, 5:40 pm)
Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and sus..., Rafael J. Wysocki, (Wed Apr 25, 4:33 pm)
Re: suspend2 merge, Martin Steigerwald, (Wed Apr 25, 3:16 pm)
Re: suspend2 merge (was Re: [Suspend2-devel] Re: CFS and sus..., Dumitru Ciobarcianu, (Wed Apr 25, 3:48 am)
Re: [Suspend2-devel] Re: CFS and suspend2: hang in atomic copy, Nigel Cunningham, (Thu Apr 19, 5:05 am)