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

From: Michal Hocko
Date: Wed Jul 29 2015 - 05:54:51 EST


On Tue 28-07-15 10:08:44, Jörn Engel wrote:
> 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.

I do not thing this is about a magic value. It is more about natural
places for scheduling point. As I've written above cond_resched at pmd
level of the page table walk sounds reasonable to me as we do that
already for zap_pmd_range and consistency would make sense to me.

--
Michal Hocko
SUSE Labs
--
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/