Re: [patch 2/3] rtmutex: Propagate priority settings into PI lockchains

From: Andrew Morton
Date: Thu Jun 22 2006 - 22:07:18 EST


On Thu, 22 Jun 2006 10:20:59 -0400 (EDT)
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> > + if (!waiter || waiter->list_entry.prio == task->prio) {
> > + spin_unlock_irqrestore(&task->pi_lock, flags);
> > + return;
> > + }
> > +
> > + /* gets dropped in rt_mutex_adjust_prio_chain()! */
> > + get_task_struct(task);
> > + spin_unlock_irqrestore(&task->pi_lock, flags);
> > +
> > + rt_mutex_adjust_prio_chain(task, 0, NULL, NULL, task);
>
> The above means that you cant ever call sched_setscheduler from a
> interrupt handler (or softirq). The rt_mutex_adjust_prio_chain since that
> grabs wait_lock which is not for interrupt use.

Running setscheduler() from IRQ context sounds rather perverse.
BUG_ON(in_interrupt()) would reduce the temptation.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/