Hi, On 26/07/19 16:54, Peter Zijlstra wrote:
[...] > +void dl_server_init(struct sched_dl_entity *dl_se, struct rq *rq, > + dl_server_has_tasks_f has_tasks, > + dl_server_pick_f pick) > +{ > + dl_se->dl_server = 1; > + dl_se->rq = rq; > + dl_se->server_has_tasks = has_tasks; > + dl_se->server_pick = pick; > + > + setup_new_dl_entity(dl_se); I think we need to postpone calling setup_new_dl_entity() to when dl_server_start() is called for the first time. rq_clock() needs both a caller that holds rq lock (which we can add) and an updated clock (which I'm not sure we can do at this point in time, or maybe we can avoid/trick the debug check?). Thanks, Juri