Re: [PATCH] mm: add resched points to remap_pmd_range/ioremap_pmd_range

From: Jörn Engel
Date: Tue Jul 28 2015 - 13:08:54 EST


On Tue, Jul 28, 2015 at 03:32:55PM +0200, Michal Hocko wrote:
> >
> > We have kernel preemption disabled. A lower-priority task in a system
> > call will block higher-priority tasks.
>
> This is an inherent problem of !PREEMPT, though. There are many
> loops which can take quite some time but we do not want to sprinkle
> cond_resched all over the kernel. On the other hand these io/remap resp.
> vunmap page table walks do not have any cond_resched points AFAICS so we
> can at least mimic zap_pmd_range which does cond_resched.

Even for !PREEMPT we don't want infinite scheduler latencies. Real
question is how much we are willing to accept and at what point we
should start sprinkling cond_resched. I would pick 100ms, but that is
just a personal choice. If we decide on 200ms or 500ms, I can live with
that too.

But whatever value we pick, I suspect these resched points need to go in
eventually. As memory sizes grow, people will also start mapping bigger
regions and the scheduler latency will eventually exceed whatever value
we picked.

Jörn

--
Fools ignore complexity. Pragmatists suffer it.
Some can avoid it. Geniuses remove it.
-- Perlis's Programming Proverb #58, SIGPLAN Notices, Sept. 1982
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/