On 2016/04/12 at 23:51, Peter Zijlstra wrote: > On Tue, Apr 12, 2016 at 11:08:04AM +0800, Xunlei Pang wrote: >> I spotted another issue, we access pi_task without any lock in >> enqueue_task_dl(), > OK, so I'm on the road and entirely jetlagged, but how can > enqueue_task_dl() not have rq->lock held?
It held current's rq->lock, but not holding pi_task's any lock, so pi_task's attributes can change concurrently with subsequent pi_se->dl_runtime and pi_se->dl_period access, and result in issues. Regards, Xunlei