Messages in this thread | | | Date | Tue, 17 Nov 2015 05:49:46 -0800 | From | "Paul E. McKenney" <> | Subject | Re: [PATCH 2/4] timer: relax tick stop in idle entry |
| |
On Tue, Nov 17, 2015 at 04:57:21AM -0800, Jacob Pan wrote: > On Tue, 17 Nov 2015 11:24:49 +0100 > Peter Zijlstra <peterz@infradead.org> wrote: > > > On Mon, Nov 16, 2015 at 09:04:03PM -0800, Paul E. McKenney wrote: > > > On Mon, Nov 16, 2015 at 06:57:14PM -0800, Arjan van de Ven wrote: > > > > On 11/16/2015 6:53 PM, Paul E. McKenney wrote: > > > > >Fair point. When in the five-jiffy throttling state, what can > > > > >wake up a CPU? In an earlier version of this proposal, the > > > > >answer was "nothing", but maybe that has changed. > > > > > > > > device interrupts are likely to wake the cpus. > > > > > > OK, that I cannot help you with. But presumably if the interrupt > > > handler does a wakeup (or similar), that is deferred to the end of > > > the throttling interval? Timers are also deferred, including > > > hrtimers? > > > > This throttling thing only throttles 'normal' tasks, real-time tasks > > will still run.
Heh! Then RCU will be delayed or not based on the priority of the grace-period kthreads and softirqd. ;-)
In addition, this does sound like an excellent test for priority-inversion situations that might otherwise go unnoticed on overprovisioned systems. That said, I would expect many types of real-time systems to configure voltage, frequency, and cooling so as to avoid thermal throttling.
> As an optimization or option, it might be useful to further defer the > next timer interrupt if it falls within the idle injection period. But > I guess we don't know if that timer belongs to a normal task or rt. > Also we there could be more than one 'next' timer interrupts fall into > that injection idle period.
Understood. This brings me back to my recommendation that throttling select RCU_FAST_NO_HZ unless RCU_NOCB_CPU_ALL is already set.
Thanx, Paul
| |