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

From: Juri Lelli
Date: Thu Oct 09 2014 - 09:51:23 EST


Hi Daniel,

On 09/10/14 10:47, Daniel Wagner wrote:
> Hi Juri,
>
> On 10/07/2014 03:20 PM, Daniel Wagner wrote:
>> On 10/07/2014 02:10 PM, Daniel Wagner wrote:
>>> [ 36.689416] pthread_-1555 0d..5 18486408us : sched_stat_sleep: comm=pthread_test pid=1554 delay=143975 [ns]
>>> [ 36.689416] pthread_-1555 0d..5 18486408us : sched_wakeup: comm=pthread_test pid=1554 prio=120 success=1 target_cpu=000
>>> [ 36.689416] pthread_-1555 0d..4 18486420us : sched_pi_setprio: comm=pthread_test pid=1555 oldprio=-1 newprio=-1
>>> [ 36.689416] pthread_-1555 0d..4 18486421us : sched_dequeue_dl_entity: comm=pthread_test pid=1555 flags=0
>>> [ 36.689416] pthread_-1555 0d..4 18486421us : sched_enqueue_dl_entity: comm=pthread_test pid=1555 pi_comm=pthread_test pi_pid=1555 flags=8
>>> [ 36.689416] pthread_-1555 0d..4 18486421us : sched_dequeue_dl_entity: comm=pthread_test pid=1555 flags=0
>>> [ 36.689416] pthread_-1555 0d..4 18486422us : sched_enqueue_dl_entity: comm=pthread_test pid=1555 pi_comm=pthread_test pi_pid=1555 flags=0
>>> [ 36.689416] pthread_-1555 0d.H4 18486539us : sched_enqueue_dl_entity: comm=pthread_test pid=1555 pi_comm=pthread_test pi_pid=1555 flags=8
>>
>> I noticed that the last two lines are different. Maybe that is yet
>> another path into enqueue_task_dl().
>
> So more testing revealed that the patch also starve both task
> eventually. Both process make no progress at all.
>

Mmm, that's bad.

Can you give a try to this different patch (after applying
the other one I sent out)?

This thing is looking good on my box. I'd like to do more
testing, but I have to context switch for a bit now :/.

Thanks a lot,

- Juri