Volatile Ranges Still Being Tried For The Linux Kernel
Volatile Ranges is another option for Linux application developers to notify the kernel that a range of pages can be discarded from the system's RAM rather than being swapped out to the disk. When the system is suffering from memory pressure, the kernel can first attempt to evict these "volatile ranges" rather than swapping it to the disk. When the application needs the data later, if it was flushed away, the application will be responsible for recreating the lost data. If there was no memory pressure, everything continues to be smooth sailing.
One of the major use-cases for this work is web browsers where volatile ranges can be easily marked and the data regenerated if needed. Volatile Ranges can also be of benefit to memory-constrained mobile devices, but there's also other similar approaches already on Linux for flagging memory that should first be discarded in situations of low memory.
The patches published this morning by Minchan Kim are up to the tenth revision of the most recent Volatile Ranges design. This latest version will work on the Linux 3.12 kernel and has numerous other changes.
Those interested in the new Linux Volatile Ranges patches can find them on the Linux kernel mailing list. There's still greater code review needed and items left on the feature's TODO list, so don't expect the feature to be merged for the Linux 3.14 kernel.