![]() | |||||||||||||
Messages in this thread |
Grzegorz Kulewski <kangur@polcom.net> wrote: > > On Mon, 10 Apr 2006, Andrew Morton wrote: > > Grzegorz Kulewski <kangur@polcom.net> 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. Maybe your disks are slow, or the fs is already quite full+fragmented. I guess the only thing I can suggest is that you force the swapfile to put its indirect blocks close together. You can do that by writing one byte at each 4MB interval: creat(swapfile); for (i = 0; i < swapfile_size / 4MB; i++) pwrite(fd, "\0", 1, i * 4MB); then fill in all the holes: dd if=/dev/zero of=swapfile bs=4MB count=swapfile_size/4MB conv=notrunc rather kludgy, and hopefully ext3 reservations won't defeat it. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-04-10 10:58 [from the cache] ©2003-2008 | |||||||||||||