RE: [announce] swap mini-howto

Troels Walsted Hansen (troels@thule.no)
Sat, 2 Nov 2002 12:22:45 +0100


Andrew Morton wrote:
> Something I'd like to point out here: in 2.4 and earlier, swapfiles
> are less robust than swap devices - the need to go and read metadata
> from the filesystem made them prone to oom deadlocks allocating pages
> and buffer_heads with which to perform the swapout.
>
> That has changed in 2.5. Swapping onto a regular file has no
> disadvantage wrt swapping onto a block device. The kernel does
> not need to allocate any memory at all to get a swapcache page
> onto disk.
>
> Which is interesting. Because swapfiles are much easier to
> administer,
> and much easier to stripe. Adding, removing and resizing is
> simplified.
> Distributors of 2.6-based kernels could consider doing away with
> swapdevs altogether.

Additionally, using a swapfile allows you to share swapspace with other
OSes.

This can be rather handy on a multibooting laptop with a small
harddrive.

I've done this successfully on a laptop multibooting RedHat 8.0 and
Windows XP. The procedure is quite simple:
- Set up the Windows swapfile on a FAT32 partition, it will preallocate
the file as pagefile.sys (up to the minimum size that you specify).

- Make sure the FAT32 partition gets mounted in /etc/fstab.

- mkswap the pagefile.sys file in the Linux bootscripts before
swapfiles are turned on (Windows will trash the Linux swap signature).

- Fortunately Windows will gladly use a swapfile trashed by Linux, so
there's no need to backup and restore any Windows swapfile headers.

One unfortunate disadvantage is that Windows hibernation to disk cannot
be used, since it assumes the contents of the pagefile are unmodified
when you resume.

Does anyone know if NTFS-TNG in 2.5 is robust enough to mount Windows XP
partitions and allow overwriting of existing files such as pagefile.sys?
If that is the case, the procedure is even easier because you can
eliminate the FAT32 partition and simply mount the main Windows XP
installation partition.

Troels

-
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/