Re: [PATCH] [PATCH] mm: disable preemption before swapcache_free

From: Andrew Morton
Date: Thu Jul 26 2018 - 18:11:23 EST

On Thu, 26 Jul 2018 15:03:23 +0800 "zhaowuyun@xxxxxxxxxxxx" <zhaowuyun@xxxxxxxxxxxx> wrote:

> >On Thu 26-07-18 10:21:40, zhaowuyun@xxxxxxxxxxxx wrote:
> >[...]
> >> Our project really needs a fix to this issue
> >
> >Could you be more specific why? My understanding is that RT tasks
> >usually have all the memory mlocked otherwise all the real time
> >expectations are gone already.
> >--
> >Michal Hocko
> >SUSE Labs
> The RT thread is created by a process with normal priority, and the process was sleep,
> then some task needs the RT thread to do something, so the process create this thread, and set it to RT policy.
> I think that is the reason why RT task would read the swap.

A simpler bandaid might be to replace the cond_resched() with msleep(1).