From: Peter Lundkvist <p.lundkvist@telia.com>
To: linux-kernel@vger.kernel.org
Subject: [PATCH] Page writeback broken after resume: wb_timer lost
Date: Sat, 20 May 2006 15:03:27 +0200 [thread overview]
Message-ID: <20060520130326.GA6092@localhost> (raw)
Hi,
I have noticed for some time that nr_dirty never drops but
increases except when VM pressure forces it down. This only
occurs after a resume, never on a freshly booted system.
It seems the wb_timer is lost when the timer function is
trying to start a frozen pdflush thread, and this occurs
during suspend or resume.
I have included a patch which work for me. Don't know if the
test also should include a check for freezing to be safe, ie
if ( !frozen(..) && !freezing(..) )
diff -ru linux-2.6.17.org/mm/pdflush.c linux-2.6.17/mm/pdflush.c
--- linux-2.6.17.org/mm/pdflush.c 2006-03-20 06:53:29.000000000 +0100
+++ linux-2.6.17/mm/pdflush.c 2006-05-20 14:22:35.000000000 +0200
@@ -213,12 +213,16 @@
struct pdflush_work *pdf;
pdf = list_entry(pdflush_list.next, struct pdflush_work, list);
- list_del_init(&pdf->list);
- if (list_empty(&pdflush_list))
- last_empty_jifs = jiffies;
- pdf->fn = fn;
- pdf->arg0 = arg0;
- wake_up_process(pdf->who);
+ if (!frozen(pdf->who)) {
+ list_del_init(&pdf->list);
+ if (list_empty(&pdflush_list))
+ last_empty_jifs = jiffies;
+ pdf->fn = fn;
+ pdf->arg0 = arg0;
+ wake_up_process(pdf->who);
+ }
+ else
+ ret = -1;
spin_unlock_irqrestore(&pdflush_lock, flags);
}
return ret;
--
Peter Lundkvist
next reply other threads:[~2006-05-20 13:03 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-20 13:03 Peter Lundkvist [this message]
2006-05-20 17:37 ` [PATCH] Page writeback broken after resume: wb_timer lost Andrew Morton
2006-05-20 22:50 ` Pavel Machek
2006-05-21 0:12 ` Andrew Morton
2006-05-21 6:52 ` Peter Lundkvist
2006-05-21 10:08 ` Pavel Machek
2006-06-16 21:24 ` Johannes Stezenbach
2006-06-16 23:12 ` Nigel Cunningham
2006-06-19 15:41 ` Mark Lord
2006-06-21 3:38 ` Mark Lord
2006-06-21 3:54 ` Andrew Morton
2006-06-21 4:10 ` Mark Lord
2006-06-21 4:19 ` Andrew Morton
2006-06-22 20:25 ` Mark Lord
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=20060520130326.GA6092@localhost \
--to=p.lundkvist@telia.com \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox