On Fri, Dec 04, 2020 at 06:01:52PM +0100, Thomas Gleixner wrote:
> From: Thomas Gleixner <t...@linutronix.de>
> 
> RT requires the softirq processing and local bottomhalf disabled regions to
> be preemptible. Using the normal preempt count based serialization is
> therefore not possible because this implicitely disables preemption.
> 
> RT kernels use a per CPU local lock to serialize bottomhalfs. As
> local_bh_disable() can nest the lock can only be acquired on the outermost
> invocation of local_bh_disable() and released when the nest count becomes
> zero. Tasks which hold the local lock can be preempted so its required to
> keep track of the nest count per task.
> 
> Add a RT only counter to task struct and adjust the relevant macros in
> preempt.h.
> 
> Signed-off-by: Thomas Gleixner <t...@linutronix.de>

Reviewed-by: Frederic Weisbecker <frede...@kernel.org>

Reply via email to