In my rewrite of kswapd over the past few days, I've just 'discovered' a
condition where kswapd will refuse to swap a private mapping out, leading
to pages that are 'stuck' in memory: basically kswapd refuses to swap
private mappings that are shared and dirty. Such pages shouldn't exist,
but a bug in mm/memory.c that allows this to happen. I'll have a patch
for it sometime this evening, after I'm done work. =)
-ben