Re: [PATCH] sched: Do not try to replenish from a non deadline tasks

From: Daniel Wagner
Date: Tue Oct 07 2014 - 08:02:49 EST


Hi Juri,

On 10/07/2014 11:43 AM, Juri Lelli wrote:
> Hi Daniel,
>
> On 24/09/14 14:24, Daniel Wagner wrote:
>> When a PI mutex is shared between an deadline task and normal task we
>> might end up trying to replenish from the normal task. In this case neither
>> dl_runtime, dl_period or dl_deadline are set. replenish_dl_entity() can't do
>> anything useful.
>>
>
> Is this same bug we have with rt_mutex_setprio or something different?
> I'm sorry, but I don't remember anymore :/. It looks like a different
> issue, though.

There are two independent bugs but in both cases BUG_ON in
enqueue_dl_entity() is triggered.

The first one (this patch) is triggered by trying to use the sched_attr
of the non deadline task. The second one is the double queuing.

> Anyway, the callpath you talked about on IRC seems to make sense, does
> what below fix the thing?

I'll give it a spin.

> Could you please point me again to where the
> tests you are running are hosted, so that I can easily reproduce the
> bug here?

Sure. I reduced my original program to this:

http://www.monom.org/rt/pthread_test.c

If you let it run with 'pthread_test inherit' you should see the bugs
eventually.

cheers,
daniel
--
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/