Hi,
I have a x86_64 system with 2G RAM using linux-3.12.x. During copying large
files (e.g. 100GB), kswapd easily consumes 100% CPU until the file is deleted
or the page cache is dropped. With setting the min_free_kbytes from 16384 to
65536, the symptom is mitigated but I can't totally get rid of the problem.
After some trial and error, I found that highest zone is always unbalanced with
order-0 page request so that pgdat_blanaced() continuously return false and
kswapd can't sleep.