How about using swap heuristics when deciding which volatile pages to drop: if the volatile page would be swapped, drop it instead? That is assuming these volatile pages can't be swapped in the first place? If they can, then I am not sure how to drop them once they are in swap?