On low memory situation, I see various shrinkers being invoked, but in lowmem_shrink() case, kswapd is found to be hogging for around 150msecs.
Due to this my application suffer latency issue, as the cpu was not released by kswapd0.
I took below traces with vmscan events, that show lowmem_shrink taking such long time for execution.
kswapd0-67 [003] ...1 1501.987110: mm_shrink_slab_start: lowmem_shrink+0x0/0x580 c0ee8e34: objects to shrink 122 gfp_flags GFP_KERNEL pgs_scanned 83 lru_pgs 241753 cache items 241754 delta 10 total_scan 132
kswapd0-67 [003] ...1 1502.020827: mm_shrink_slab_end: lowmem_shrink+0x0/0x580 c0ee8e34: unused scan count 122 new scan count 4 total_scan -118 last shrinker return val 237339
Please provide inputs on the same.
Thanks and Regards,
Vaibhav