Messages in this thread | | | Date | Wed, 29 Jul 2015 11:54:40 +0200 | From | Michal Hocko <> | Subject | Re: [PATCH] mm: add resched points to remap_pmd_range/ioremap_pmd_range |
| |
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
| |