From: Nigel Cunningham <nigel@tuxonice.net>
To: LKML <linux-kernel@vger.kernel.org>,
pm list <linux-pm@lists.linux-foundation.org>
Subject: 2.6.35 Regression: Ages spent discarding blocks that weren't used!
Date: Wed, 04 Aug 2010 11:40:56 +1000 [thread overview]
Message-ID: <4C58C528.4000606@tuxonice.net> (raw)
Hi all.
I've just given hibernation a go under 2.6.35, and at first I thought
there was some sort of hang in freezing processes. The computer sat
there for aaaaaages, apparently doing nothing. Switched from TuxOnIce to
swsusp to see if it was specific to my code but no - the problem was
there too. I used the nifty new kdb support to get a backtrace, which was:
get_swap_page_of_type
discard_swap_cluster
blk_dev_issue_discard
wait_for_completion
Adding a printk in discard swap cluster gives the following:
[ 46.758330] Discarding 256 pages from bdev 800003 beginning at page
640377.
[ 47.003363] Discarding 256 pages from bdev 800003 beginning at page
640633.
[ 47.246514] Discarding 256 pages from bdev 800003 beginning at page
640889.
...
[ 221.877465] Discarding 256 pages from bdev 800003 beginning at page
826745.
[ 222.121284] Discarding 256 pages from bdev 800003 beginning at page
827001.
[ 222.365908] Discarding 256 pages from bdev 800003 beginning at page
827257.
[ 222.610311] Discarding 256 pages from bdev 800003 beginning at page
827513.
So allocating 4GB of swap on my SSD now takes 176 seconds instead of
virtually no time at all. (This code is completely unchanged from 2.6.34).
I have a couple of questions:
1) As far as I can see, there haven't been any changes in mm/swapfile.c
that would cause this slowdown, so something in the block layer has
(from my point of view) regressed. Is this a known issue?
2) Why are we calling discard_swap_cluster anyway? The swap was unused
and we're allocating it. I could understand calling it when freeing
swap, but when allocating?
Regards,
Nigel
next reply other threads:[~2010-08-04 1:41 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-04 1:40 Nigel Cunningham [this message]
2010-08-04 8:59 ` 2.6.35 Regression: Ages spent discarding blocks that weren't used! Stefan Richter
2010-08-04 9:16 ` Nigel Cunningham
2010-08-04 12:44 ` Mark Lord
2010-08-04 18:02 ` Martin K. Petersen
2010-08-04 21:22 ` Nigel Cunningham
2010-08-05 3:58 ` Hugh Dickins
2010-08-05 6:28 ` Nigel Cunningham
2010-08-06 1:15 ` Hugh Dickins
2010-08-06 4:40 ` Nigel Cunningham
2010-08-06 22:07 ` Hugh Dickins
2010-08-07 22:47 ` Nigel Cunningham
2010-08-13 11:54 ` Christoph Hellwig
2010-08-13 18:15 ` Hugh Dickins
2010-08-14 11:43 ` Christoph Hellwig
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=4C58C528.4000606@tuxonice.net \
--to=nigel@tuxonice.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.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