Re: [RFC]should swap-file opened with O_DIRECT?

From: Hugh Dickins
Date: Mon Oct 10 2005 - 10:07:26 EST

On Mon, 10 Oct 2005, Yingchao Zhou wrote:
> The sys_swapon system call open the swap-file through
> filp_open(..., O_RDWR|O_LARGEFILE,...).
> In this way, I think that the pageout process of anonymous
> pages finally will write them out through (swap-file)->f_ops->write,

No, they are written out by swap_writepage. The opening in sys_swapon
gets a handle of what is to be used for swap, but it then goes its own way.

> and it will result in caches of swapfile. However, swapping only
> happens when memory is tight. So why not set O_DIRECT? Is there any
> special reason to keep caches of swapfile?

Caches of swapfile are useful (but yes, can be discarded when memory
is tight). There's nothing indirect about them: the page that is mapped
into userspace gets written to disk, the page that is read in from disk
gets mapped back into userspace.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at