On 3 March 2016 at 16:22, Michal Hocko wrote: > On Thu 03-03-16 10:23:03, Jerry Lee wrote: > > On 3 March 2016 at 01:36, Michal Hocko wrote: > > > > > On Wed 02-03-16 14:20:38, Jerry Lee wrote: > [...] > > > > Is there anything I could do to totally get rid of the problem? > > > > > > I would try to sacrifice those few megs and get rid of zone normal > > > completely. AFAIR mem=4G should limit the max_pfn to 4G so DMA32 should > > > cover the shole memory. > > > > > > > I came up with a patch that seem to work well on my system. But, I > > am afraid that it breaks the rule that all zones must be balanced for > > order-0 request and It may cause some other side-effect? I thought > > that the patch is just a workaround (a bad one) and not a cure-all. > > One thing I haven't noticed previously is that you are running on the 3.12 > kernel. I vaguely remember there were some fixes for small zones. Not > sure it would work for such a small zone but it would be worth trying I > guess. Could you retest with 4.4? > Hi, Thanks for the quick feedback! Before sending a mail to linux-mm, I found that there were discussions and fixes for the small zone as you remember: https://lkml.org/lkml/2011/6/24/161 . However, the fixes is kind of old and should be already included into the current kernel version. Speaking of retesting the issue with kernel-4.4, it's a bit hard for my right now because there are some customized hardware and drivers on my system but I could give it a try. BTW, there are some information I forgot to mention before. Originally, I use kernel-3.4 on my system without the kswapd issue. After upgrading to linux-3.12.x, the issue occur. In addition, I found that there are other people encountering the same problem even linux-4.x are used. [1] The idea to increase the value of min_free_kbytes comes from the post. [1] [1] https://github.com/GalliumOS/galliumos-distro/issues/52 Anyway, thanks again for your help and suggestion! - Jerry > -- > Michal Hocko > SUSE Labs >