vmscan: factor out kswapd sleeping logic from kswapd()