On Fri, Mar 13, 2015 at 8:22 PM, Rik van Riel wrote: > On 03/13/2015 10:25 AM, Vaibhav Shinde wrote: > > > > 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. > > This is the Android low memory killer, which kills the > task with the lowest priority in the system. > > The low memory killer will iterate over all the tasks > in the system to identify the task to kill. > > This is not a problem in Android systems, and other > small systems where this piece of code is used. > > What kind of system are you trying to use the low > memory killer on? > > How many tasks are you running? > > yes, lowmemorykiller kills the task depending on its oom_score, I am using a embedded device with 2GB memory, there are task running that cause lowmemory situation - no issue about it. But my concern is kswapd takes too long to iterate through all the processes(lowmem_shrink() => for_each_process()), the time taken is around 150msec, due to which my high priority application suffer system latency that cause malfunctioning.