Re: kswapd hogging in lowmem_shrink

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

 





On Fri, Mar 13, 2015 at 7:52 AM, 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.

Thanks,
Vaibhav

[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]