Re: Slow swapon for big (12GB) swap

From: Grzegorz Kulewski
Date: Mon Apr 10 2006 - 07:46:31 EST


On Mon, 10 Apr 2006, Andrew Morton wrote:
Grzegorz Kulewski <kangur@xxxxxxxxxx> wrote:
On Mon, 10 Apr 2006, Andrew Morton wrote:
Grzegorz Kulewski <kangur@xxxxxxxxxx> wrote:
I am using big swap here (as a backing for potentially huge tmpfs). And I
wonder why swapon on such big (like 12GB) swap takes about 7 minutes
(continuous disk IO).

It's a bit quicker here:

vmm:/usr/src/25# mkswap /dev/hda6
Setting up swapspace version 1, size = 54031826 kB
vmm:/usr/src/25# time swapon /dev/hda6
swapon /dev/hda6 0.00s user 0.04s system 74% cpu 0.054 total


Is this expected?

Nope.

Why it is like that?

Are you using a swapfile or a swap partition?

Swap file.


If it's a swapfile then perhaps the filesystem is being inefficient in its
bmap() function. Which filesystem is it?

Ext3.


OK. A 12G file is around 3000 indirect blocks. At 10 milliseconds each
I'd expect it to take 30-odd seconds. A 14G swapfile here takes 20 second
for swapon.

That is what I would expect.


Maybe your disks are slow, or the fs is already quite full+fragmented.

Well, the disk is slow but not that slow... For example dd creating this file goes at about 20-25MB/s and takes about 10 minutes IIRC, so it is not *that* bad...

The disk is not full or even close to:
/dev/hda4 /mnt/data 52552,1 27343,6 24140,4 54% ext3

and file count is not that high too:
/dev/hda4 6836224 42333 6793891 1% /mnt/data

and it should not be fragmented in any way. It is rather new (3 months old) filesystem with several bigger files and small amount of smaller. Used mainly as a data store and backup. Very infrequently written to (new blocks/files).

I think I will test new kernel soon. Maybe with and without -ck. Maybe disk scheduler (probably CFQ) does something stupid... Or swap prefetch... Or anything...


Thanks,

Grzegorz Kulewski

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/