Re: [PATCH v5] sched/rt: Use IPI to trigger RT task push migration instead of pulling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 20 Mar 2015 11:25:42 +0100
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Wed, Mar 18, 2015 at 02:49:46PM -0400, Steven Rostedt wrote:
> > +static int find_next_push_cpu(struct rq *rq)
> > +{
> > +	struct rq *next_rq;
> > +	int cpu;
> > +
> > +	while (1) {
> 
> We typically tend to write: for (;;), instead, however would a do { }
> while () loop not make more sense here?

You know, I use to do "for (;;)" instead of "while (1)" because to me
"for (;;)" == "forever". But people have since convinced me that
"while (1)" is better. I don't really care so I just did the switch :-p


> 
> 	do {
> 		cpu = rto_next_cpu(rq);
> 		if (cpu >= nr_cpu_ids)
> 			break;
> 
> 		next_rq = cpu_rq(cpu);
> 	} while (next_rq->rt.highest_prio.next >= rq->rt.highest_prio.curr);

Ah, that does make sense. Not sure why I had it the way I did. I think
it had to do with the way I thought about the algorithm. I did it in
layers. As there were more than one break, I probably just figured to
do them explicitly.

Want me to send an updated patch?

-- Steve


> 
> > +	return cpu;
> > +}

--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux