From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751554AbbFBTiJ (ORCPT ); Tue, 2 Jun 2015 15:38:09 -0400 Received: from www.linutronix.de ([62.245.132.108]:52820 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750828AbbFBTiA (ORCPT ); Tue, 2 Jun 2015 15:38:00 -0400 Date: Tue, 2 Jun 2015 21:37:58 +0200 (CEST) From: Thomas Gleixner To: Daniel Wagner cc: Steven Rostedt , Peter Zijlstra , Ingo Molnar , linux-kernel@vger.kernel.org Subject: Re: [PATCH v0] softirq: Call trace_preempt_on manually to prevent lockdep splatter In-Reply-To: <1432804174-16321-1-git-send-email-daniel.wagner@bmw-carit.de> Message-ID: References: <20150526090408.73eb8499@gandalf.local.home> <1432804174-16321-1-git-send-email-daniel.wagner@bmw-carit.de> User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001,URIBL_BLOCKED=0.001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 28 May 2015, Daniel Wagner wrote: > __do_softirq() uses __local_bh_disable_ip(SOFTIRQ_OFFSET) to disable > SOFTIRQs and signaling that softirqs are served. > > When done, __do_softirq() calls __local_bh_enable(SOFTIRQ_OFFSET) > to enable them again. The reason it does not call > __local_bh_enable_ip(SOFTIRQ_OFFSET) is because __local_bh_enable_ip() > would process still-pending softirqs. > > Now, we face the same problem as in __local_bh_disable_ip() > with the preempt tracer hooking into preempt_count_sub(). This > will case lockdep warning, when for example the kernel is configured > to run all IRQs as threads and preemptoff tracer is activated: .... > Signed-off-by: Daniel Wagner Acked-by: Thomas Gleixner