Messages in this thread | | | Subject | Re: [PATCH] swap: send callback when swap slot is freed | From | Peter Zijlstra <> | Date | Wed, 12 Aug 2009 20:33:12 +0200 |
| |
On Wed, 2009-08-12 at 20:07 +0530, 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.
I'd suggest using a notifier list for this. The interface just begs to go belly up once there's multiple consumers.
Also, EXPORT_SYMBOL_GPL please ;-)
| |