Re: [PATCH tip/core/rcu 03/13] rcu: Stop treating in-kernel CPU-bound workloads as errors

From: Peter Zijlstra
Date: Thu Feb 25 2016 - 04:43:29 EST


On Tue, Feb 23, 2016 at 09:12:40PM -0800, Paul E. McKenney wrote:
> Commit 4a81e8328d379 ("Reduce overhead of cond_resched() checks for RCU")
> handles the error case where a nohz_full loops indefinitely in the kernel
> with the scheduling-clock interrupt disabled. However, this handling
> includes IPIing the CPU running the offending loop, which is not what
> we want for real-time workloads. And there are starting to be real-time
> CPU-bound in-kernel workloads, and these must be handled without IPIing
> the CPU, at least not in the common case. Therefore, this situation can
> no longer be dismissed as an error case.

Do explain. Doing "for (;;) ;" in a kernel RT thread is just as bad for
general system health as is doing the same in userspace.

Also, who runs his RT workload in-kernel ?