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

From: Mike Galbraith
Date: Thu Aug 06 2015 - 04:56:10 EST


On Thu, 2015-07-30 at 09:58 -0700, JÃrn Engel wrote:
> On Thu, Jul 30, 2015 at 05:22:55PM +0200, Mike Galbraith wrote:
> >
> > I piddled about with the thought that it might be nice to be able to
> > sprinkle cond_resched() about to cut rt latencies without wrecking
> > normal load throughput, cobbled together a cond_resched_rt().
> >
> > On my little box that was a waste of time, as the biggest hits are block
> > softirq and free_hot_cold_page_list().
>
> Block softirq is one of our problems as well. It is a bit of a joke
> that __do_softirq() moves work to ksoftirqd after 2ms, but block softirq
> can take several 100ms in bad cases.

On my little desktop box, one blk_done_softirq() loop iteration can take
up to a few milliseconds, leaving me wondering if breaking that loop
will help a studly box much. iow, I'd like to know how bad it gets, if
one iteration can be huge, loop breaking there is fairly pointless, and
I can stop fiddling. Do you happen to know iteration time during a size
huge block softirq hit? On my little box, loop break/re-raise and
whatnot improves the general case substantially, but doesn't do much at
all for worst case.. or rather the next worst case in a list of unknown
length ;-)

-Mike

--
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/