Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp1209513imm; Tue, 15 May 2018 15:48:10 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqgwD2vw8piqrI9efgKp3KYuEcj68LWgTEsPTamCCUZ720GeZT4nIQ6sNRekSgxcuTtZHVU X-Received: by 2002:a17:902:43:: with SMTP id 61-v6mr16581881pla.112.1526424490600; Tue, 15 May 2018 15:48:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526424490; cv=none; d=google.com; s=arc-20160816; b=bR0MBnH5X4jurWWw8hWjFMBeLn/hpUYR/iUkRU1mfXGn0eNKPhSKuPBw35xFzgOmKF WHTXzJj6xn0OF5Y9EnzjgB1k+OtZqkzmctqZYF2rkVMz5nQ0OzRl/6FBXzMKqngmCmUD yqmjZzGfn1wy8ky/wTeFf9CVh4s7lSSAKQedqjq+SqgeISNQQTyRq7mJ4WHuiv1WbGRr cUIfENAwH9xK1p/ZpqQOpvMsRTz35HFWyhsGtNbz04q22eKqUVVu9RRH1P8W8AP6zcqV R40m+xtUYQsAcvEPYJGHno28vTJ4z+zS4eUQCjrkKl4YQ6TF3obrfq28puuXqLJa9U+b /fvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=TbRBeZnEPPa5cnLHqNGlZ4BS6jx6RZJ4U6GLrAz0YhE=; b=UcjmbDa2ZLLfpGUMtOLtjBnW29rkdW2AiEuG6titZzH/MVMrzHsuaSbdn7rAuixNAD Ami2qXTuOMWIk40p4oVmFc567hnvp/o36pve6cT9xPEhcPqZ3jqkZ7YTE+5SLdw/4NuF NFPLvcxVFz34rngkuU9rGegYeELKt4NzxY92k/+i+EOgamhS4A0NAqn/BLcGwqDcJSd2 EDJ4sfK6he1dVLZxZaM+Yh8k7nSqoNlLgysyD0EIi1SuR51J3/PPwJMwPVXtoFl91Uok p6i1xOdZWBzueAyLo2lQ0AN/hnNVwWXMOuR52O6wzgM6baDxtjCDKlnrCW8ONO5WDlxr dAZg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@joelfernandes-org.20150623.gappssmtp.com header.s=20150623 header.b=XqALFdzt; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a8-v6si835132pgt.289.2018.05.15.15.47.56; Tue, 15 May 2018 15:48:10 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@joelfernandes-org.20150623.gappssmtp.com header.s=20150623 header.b=XqALFdzt; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752081AbeEOWqT (ORCPT + 99 others); Tue, 15 May 2018 18:46:19 -0400 Received: from mail-pf0-f182.google.com ([209.85.192.182]:44940 "EHLO mail-pf0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750810AbeEOWqS (ORCPT ); Tue, 15 May 2018 18:46:18 -0400 Received: by mail-pf0-f182.google.com with SMTP id q22-v6so752155pff.11 for ; Tue, 15 May 2018 15:46:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelfernandes-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=TbRBeZnEPPa5cnLHqNGlZ4BS6jx6RZJ4U6GLrAz0YhE=; b=XqALFdzttwnZrVhSwtROX6oxyy9+OGp/BhSyD0K8xQU/zu8f/KSvbAsfkzG6bP7l5D VbdYU5qWe4UqHkjjdCwCIad2462eNaG5zOLoDXO2/wXEhB4bH5JwCSs9mtD+R7BknV7E 7bS01AGwZsa5lXdHp0j0KcHuoh3RT3i1u3rliLoTbHd8cmB91qNDEph4mHQcjtF3eQ8+ DLXxANUxkYFcl9j8kIUWeQClt3KXeot7VarQoDP6Ebv2+zGLaiepLpI2FhvuLfwnETUd clOVSPbAQVd9PwANaVJsMbfFxq0fNGleACQITnilk57vxQ/f/Bpj2zLqsbfNMgj5kkou mu2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=TbRBeZnEPPa5cnLHqNGlZ4BS6jx6RZJ4U6GLrAz0YhE=; b=hdAlHNdiklR4b8CKw64LHuEuW3+pboDRV4apgqHL8p2qkvIGpZeJmkAZRWetpzfjG0 J3VRAmY6ct1ClRBUDxb0R7e+hF8BLc9aY/wppE/H6O51gaMpR8XsgGDhCKWomklodGKu FUKL0tfEhRx1ZHda70BCgMS5L7Hzfbk6UVfx3xbZf0M58oxdw6SYEACbJC1ZiYxymeix 833zuqmIGbjdYy+iZlUr/n5rw9Wrj2/KEroBROeaQ1qSv+HB8Q0YMl9qzLnGXGREMyTd 9lHDKkapyA5itEoOMrkZ/MntACaWn+NyBKEEvaYX+opKMyc3kYssKUaMe2M4U2+/romP rkrQ== X-Gm-Message-State: ALKqPwdVdEv81X7abx7YEtwokXmEvj/Yo/EKZWI4VAfOlltxde6XyBzI ZWPZmtInbsYWepr4Wwj1DjpesY5rUlY= X-Received: by 2002:a62:4a88:: with SMTP id c8-v6mr17108542pfj.23.1526424377415; Tue, 15 May 2018 15:46:17 -0700 (PDT) Received: from joelaf.mtv.corp.google.com ([2620:0:1000:1600:3122:ea9c:d178:eb]) by smtp.gmail.com with ESMTPSA id k24-v6sm1209866pff.118.2018.05.15.15.46.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 15 May 2018 15:46:16 -0700 (PDT) From: "Joel Fernandes (Google)" To: linux-kernel@vger.kernel.org Cc: "Joel Fernandes (Google)" Subject: [PATCH v7 1/6] softirq: reorder trace_softirqs_on to prevent lockdep splat Date: Tue, 15 May 2018 15:45:54 -0700 Message-Id: <20180515224559.199279-2-joel@joelfernandes.org> X-Mailer: git-send-email 2.17.0.441.gb46fe60e1d-goog In-Reply-To: <20180515224559.199279-1-joel@joelfernandes.org> References: <20180515224559.199279-1-joel@joelfernandes.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I'm able to reproduce a lockdep splat with config options: CONFIG_PROVE_LOCKING=y, CONFIG_DEBUG_LOCK_ALLOC=y and CONFIG_PREEMPTIRQ_EVENTS=y $ echo 1 > /d/tracing/events/preemptirq/preempt_enable/enable --- kernel/softirq.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kernel/softirq.c b/kernel/softirq.c index 177de3640c78..8a040bcaa033 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -139,9 +139,13 @@ static void __local_bh_enable(unsigned int cnt) { lockdep_assert_irqs_disabled(); + if (preempt_count() == cnt) + trace_preempt_on(CALLER_ADDR0, get_lock_parent_ip()); + if (softirq_count() == (cnt & SOFTIRQ_MASK)) trace_softirqs_on(_RET_IP_); - preempt_count_sub(cnt); + + __preempt_count_sub(cnt); } /* -- 2.17.0.441.gb46fe60e1d-goog