[PATCH] sched/rt: minimize rq->lock contention in do_sched_rt_period_timer()

2017-04-17 Thread Dave Kleikamp
With CONFIG_RT_GROUP_SCHED defined, do_sched_rt_period_timer() sequentially takes each cpu's rq->lock. On a large, busy system, the cumulative time it takes to acquire each lock can be excessive, even triggering a watchdog timeout. If rt_rq_rt_time and rt_rq->rt_nr_running are both zero, this

[PATCH] sched/rt: minimize rq->lock contention in do_sched_rt_period_timer()

2017-04-17 Thread Dave Kleikamp
With CONFIG_RT_GROUP_SCHED defined, do_sched_rt_period_timer() sequentially takes each cpu's rq->lock. On a large, busy system, the cumulative time it takes to acquire each lock can be excessive, even triggering a watchdog timeout. If rt_rq_rt_time and rt_rq->rt_nr_running are both zero, this