Messages in this thread | | | Date | Thu, 30 Jul 2015 09:58:03 -0700 | From | Jörn Engel <> | Subject | Re: [PATCH] mm: add resched points to remap_pmd_range/ioremap_pmd_range |
| |
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.
We could give individual softirqs a time budget. If they exceed the budget they should complete, but reassert themselves. Not sure about the rest, but that would be pretty simple to implement for block softirq.
Jörn
-- Happiness isn't having what you want, it's wanting what you have. -- unknown
| |