On Mon, 10 Mar 2014 22:18:56 +0100 (CET) Thomas Gleixner <t...@linutronix.de> wrote:
> Lemme look at it tomorrow again with an awake brain. This seems to be > some forward porting hickup which needs a closer look. Just look at Yep, I talked with Sebastian on IRC and that seems to be the case. > the 3.10-rt version of this: > > @@ -3825,20 +3826,25 @@ static struct task_struct *find_process_by_pid(pid_t > pid) > return pid ? find_task_by_vpid(pid) : current; > } > > -/* Actually do priority change: must hold rq lock. */ > -static void > -__setscheduler(struct rq *rq, struct task_struct *p, int policy, int prio) > +static void __setscheduler_params(struct task_struct *p, int policy, int > prio) > { > p->policy = policy; > p->rt_priority = prio; > p->normal_prio = normal_prio(p); > + set_load_weight(p); > +} > > That code has changed significantly probably due to the EDF merge. We > need to figure out whether there is more damage due to that. Yeah, when I looked at the -rt version, it appeared to have my fix already. But in reality, the forward port broke it. Here's the problem part of the commit: + set_load_weight(p); +} - p->normal_prio = normal_prio(p); - p->prio = rt_mutex_getprio(p); Your patch never deleted the above two. And it kept them in the locations that I placed them in, in my patch. -- Steve +/* Actually do priority change: must hold pi & rq lock. */ +static void __setscheduler(struct rq *rq, struct task_struct *p, + const struct sched_attr *attr) +{ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/