Re: kswapd hogging in lowmem_shrink

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 13, 2015 at 8:22 PM, Rik van Riel <riel@xxxxxxxxxx> 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.

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]