Messages in this thread | | | Date | Wed, 1 Mar 2017 08:40:09 -0500 | From | Steven Rostedt <> | Subject | Re: [PATCH v2] sched/rt: Add comments describing the RT IPI pull method |
| |
On Wed, 1 Mar 2017 10:44:09 +0100 Peter Zijlstra <peterz@infradead.org> wrote:
> On Tue, Feb 28, 2017 at 03:50:30PM -0500, Steven Rostedt wrote: > > + * The overloaded RT CPU, wher receiving an IPI, will try to push off its > > "wher" isn't in my dictionary, I'm thinking you mean: "when". Fixed that > for you.
Heh, thanks. Hmm, I looked at all the highlighted words when I pulled in the patch into claws-mail. I'm surprised I missed that.
> > > + * overloaded RT tasks and then send an IPI to the next CPU that has > > + * overloaded RT tasks. This stops when all CPUs with overloaded RT tasks > > + * have completed. Just because a CPU may have pushed off its own overloaded > > + * RT task does not mean it should stop sending the IPI around to other > > + * overloaded CPUs. There may be another RT task waiting to run on one of > > + * those CPUs that are of higher priority than the one that was just > > + * pushed. > > + * > > + * An optimization that could possibly be made is to make a CPU array similar > > + * to the cpupri array mask of all running RT tasks, but for the overloaded > > + * case, then the IPI could be sent to only the CPU with the highest priority > > + * RT task waiting, and that CPU could send off further IPIs to the CPU with > > + * the next highest waiting task. Since the overloaded case is much less likely > > + * to happen, the complexity of this implementation may not be worth it. > > + * Instead, just send an IPI around to all overloaded CPUs. > > Yeah, not sure, I'll leave it in though.
OK,
Thanks!
-- Steve
| |