Re: [PATCH] swap: send callback when swap slot is freed

From: Nitin Gupta
Date: Wed Aug 12 2009 - 22:41:51 EST


On 08/13/2009 04:18 AM, Hugh Dickins wrote:
On Wed, 12 Aug 2009, Nitin Gupta wrote:

Currently, we have "swap discard" mechanism which sends a discard bio request
when we find a free cluster during scan_swap_map(). This callback can come a
long time after swap slots are actually freed.

This delay in callback is a great problem when (compressed) RAM [1] is used
as a swap device. So, this change adds a callback which is called as
soon as a swap slot becomes free. For above mentioned case of swapping
over compressed RAM device, this is very useful since we can immediately
free memory allocated for this swap page.

This callback does not replace swap discard support. It is called with
swap_lock held, so it is meant to trigger action that finishes quickly.
However, swap discard is an I/O request and can be used for taking longer
actions.

Links:
[1] http://code.google.com/p/compcache/

Please keep this with compcache for the moment (it has no other users).


Oh, I missed this one.

This small patch can be considered as first step for merging compcache to mainline :) Actually, it requires callbacks for swapon, swapoff too but that, I think, should be done in a separate patches.

BTW, last time compcache was not accepted due to lack of performance numbers. Now the project has lot more data for various cases:
http://code.google.com/p/compcache/wiki/Performance
Still need to collect data for worst-case behaviors and such...


Thanks,
Nitin
--
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/