mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@suse.cz>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Nigel Cunningham <ncunningham@linuxmail.org>,
	Andrew Morton <akpm@zip.com.au>,
	Stuart Young <cef-lkml@optusnet.com.au>,
	linux-kernel@vger.kernel.org, Rob Landley <rob@landley.net>,
	seife@suse.de
Subject: Re: swappiness=0 makes software suspend fail.
Date: Sun, 30 May 2004 21:47:31 +0200	[thread overview]
Message-ID: <20040530194731.GA895@elf.ucw.cz> (raw)
In-Reply-To: <40B94546.4040605@yahoo.com.au>

Hi!

> >Andrew, in 2.6.6 shrink_all_memory() does not work if swappiness ==
> >0. shrink_all_memory() calls balance_pgdat(), that calls
> >shrink_zone(), and that calls refill_inactive_zone(), which looks at
> >swappiness.
> >
> >Additional parameter to all these calls neutralizing swappiness would
> >help, as would temporarily setting swappiness to 100 in
> >shrink_all_memory. Is there a less ugly solution?
> 
> I have a cleanup patch that allows this sort of thing to easily
> be passed into the lower levels of reclaim functions. I don't
> know if it would be to Andrew's taste though...
> 
> It basically replaces all function parameters in vmscan.c with
> 
> struct scan_control {
> 	unsigned long nr_to_scan;
> 	unsigned long nr_scanned;
> 	unsigned long nr_reclaimed;
> 	unsigned int gfp_mask;
> 	struct page_state ps;
> 	int may_writepage;
> };
> 
> So you could easily add a field for swsusp.
> 
> Until something like this goes through, please don't fuglify
> vmscan.c any more than it is... do the saving and restoring
> thing that Nigel suggested please.

Okay, this should solve it.
							Pavel

--- clean/mm/vmscan.c	2004-05-20 23:08:37.000000000 +0200
+++ linux/mm/vmscan.c	2004-05-30 21:45:41.000000000 +0200
@@ -1098,10 +1098,13 @@
 	pg_data_t *pgdat;
 	int nr_to_free = nr_pages;
 	int ret = 0;
+	int old_swappiness = vm_swappiness;
 	struct reclaim_state reclaim_state = {
 		.reclaimed_slab = 0,
 	};
 
+	vm_swappiness = 100;
+
 	current->reclaim_state = &reclaim_state;
 	for_each_pgdat(pgdat) {
 		int freed;
@@ -1115,6 +1118,8 @@
 			break;
 	}
 	current->reclaim_state = NULL;
+
+	vm_swappiness = old_swappiness;
 	return ret;
 }
 #endif


-- 
934a471f20d6580d5aad759bf0d97ddc

  reply	other threads:[~2004-05-30 19:48 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-28  5:00 Rob Landley
2004-05-28 21:56 ` Pavel Machek
2004-05-29  7:48   ` Nigel Cunningham
2004-05-29  9:05   ` Stuart Young
2004-05-29  8:56     ` Nigel Cunningham
2004-05-29 22:23       ` Pavel Machek
2004-05-31 10:09         ` Andrew Morton
2004-05-31 10:42           ` Nick Piggin
2004-05-31 10:17         ` Andrew Morton
2004-05-31 11:38           ` Rob Landley
2004-05-31 11:52             ` Pavel Machek
2004-06-01 10:46               ` Nigel Cunningham
2004-06-03 12:08                 ` Pavel Machek
2004-05-31 22:57             ` Flavio Stanchina
2004-06-04 12:20               ` Pavel Machek
2004-05-31 11:50           ` Pavel Machek
2004-05-31 19:07             ` Stefan Seyfried
2004-05-29 22:36       ` Pavel Machek
2004-05-30  2:21         ` Nick Piggin
2004-05-30 19:47           ` Pavel Machek [this message]
2004-05-30 23:23             ` Oliver Neukum
2004-05-31  3:28               ` Rob Landley
2004-05-31  6:18             ` Stuart Young
2004-05-31  8:41               ` Pavel Machek
2004-05-29 11:35     ` Pavel Machek

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=20040530194731.GA895@elf.ucw.cz \
    --to=pavel@suse.cz \
    --cc=akpm@zip.com.au \
    --cc=cef-lkml@optusnet.com.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ncunningham@linuxmail.org \
    --cc=nickpiggin@yahoo.com.au \
    --cc=rob@landley.net \
    --cc=seife@suse.de \
    /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

all inboxes | Powered by JetHome®