From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D0F9C5519F for ; Fri, 20 Nov 2020 15:23:39 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DA98B223BE for ; Fri, 20 Nov 2020 15:23:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Om3KgwIx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DA98B223BE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=vGdEqLTKvYEVYsFLD1rUskdrHbiyacE7hCk/zEOulBs=; b=Om3KgwIxU5nbSDhrgFwDEmoVz viUsVyxjVha/BbtPIucHJKpbQ2jzCjx0ubFOvIBhiVr6qusDj4fiZhGoD4a/MpuC4ybjsA4fK/A4v 8u2Hm3tyBv6hME2Mhc746j45MKNsXvI8mjq6+8WlrD7kzUzYBrrkhhcfJ9qqjqQze69tRwnXmwuDo rK4ZvSDuYBb85swrVrQ1Y+KMBhSncvVH4/M0CsykVcIlBZahYCXUz7A43BDzD1QuXddP6vPQoA0n8 6qRZUAyF/xkl4UoKng5TWnjuL90X4euq+Ww85WTLWXZEYquNu0IlPnRpK5N2+1AZOSvbc2e94LMRa gO57ifM3w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kg8Em-0004Nl-QC; Fri, 20 Nov 2020 15:22:12 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kg8Ej-0004M3-EX for linux-arm-kernel@lists.infradead.org; Fri, 20 Nov 2020 15:22:10 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C1C0311D4; Fri, 20 Nov 2020 07:22:06 -0800 (PST) Received: from C02TD0UTHF1T.local (unknown [10.57.27.176]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2DEEF3F70D; Fri, 20 Nov 2020 07:22:02 -0800 (PST) Date: Fri, 20 Nov 2020 15:22:00 +0000 From: Mark Rutland To: "Paul E. McKenney" Subject: Re: linux-next: stall warnings and deadlock on Arm64 (was: [PATCH] kfence: Avoid stalling...) Message-ID: <20201120152200.GD2328@C02TD0UTHF1T.local> References: <20201118225621.GA1770130@elver.google.com> <20201118233841.GS1437@paulmck-ThinkPad-P72> <20201119125357.GA2084963@elver.google.com> <20201119151409.GU1437@paulmck-ThinkPad-P72> <20201119170259.GA2134472@elver.google.com> <20201119184854.GY1437@paulmck-ThinkPad-P72> <20201119193819.GA2601289@elver.google.com> <20201119213512.GB1437@paulmck-ThinkPad-P72> <20201120141928.GB3120165@elver.google.com> <20201120143928.GH1437@paulmck-ThinkPad-P72> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20201120143928.GH1437@paulmck-ThinkPad-P72> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201120_102209_585360_0FA7A37E X-CRM114-Status: GOOD ( 24.84 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-arm-kernel@lists.infradead.org, Marco Elver , Anders Roxell , Jann Horn , Peter Zijlstra , Lai Jiangshan , Linux Kernel Mailing List , Steven Rostedt , rcu@vger.kernel.org, Linux-MM , Alexander Potapenko , kasan-dev , Tejun Heo , Andrew Morton , Dmitry Vyukov Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, Nov 20, 2020 at 06:39:28AM -0800, Paul E. McKenney wrote: > On Fri, Nov 20, 2020 at 03:19:28PM +0100, Marco Elver wrote: > > I found that disabling ftrace for some of kernel/rcu (see below) solved > > the stalls (and any mention of deadlocks as a side-effect I assume), > > resulting in successful boot. > > > > Does that provide any additional clues? I tried to narrow it down to 1-2 > > files, but that doesn't seem to work. > > There were similar issues during the x86/entry work. Are the ARM guys > doing arm64/entry work now? I'm currently looking at it. I had been trying to shift things to C for a while, and right now I'm trying to fix the lockdep state tracking, which is requiring untangling lockdep/rcu/tracing. The main issue I see remaining atm is that we don't save/restore the lockdep state over exceptions taken from kernel to kernel. That could result in lockdep thinking IRQs are disabled when they're actually enabled (because code in the nested context might do a save/restore while IRQs are disabled, then return to a context where IRQs are enabled), but AFAICT shouldn't result in the inverse in most cases since the non-NMI handlers all call lockdep_hardirqs_disabled(). I'm at a loss to explaim the rcu vs ftrace bits, so if you have any pointers to the issuies ween with the x86 rework that'd be quite handy. Thanks, Mark. > > Thanx, Paul > > > Thanks, > > -- Marco > > > > ------ >8 ------ > > > > diff --git a/kernel/rcu/Makefile b/kernel/rcu/Makefile > > index 0cfb009a99b9..678b4b094f94 100644 > > --- a/kernel/rcu/Makefile > > +++ b/kernel/rcu/Makefile > > @@ -3,6 +3,13 @@ > > # and is generally not a function of system call inputs. > > KCOV_INSTRUMENT := n > > > > +ifdef CONFIG_FUNCTION_TRACER > > +CFLAGS_REMOVE_update.o = $(CC_FLAGS_FTRACE) > > +CFLAGS_REMOVE_sync.o = $(CC_FLAGS_FTRACE) > > +CFLAGS_REMOVE_srcutree.o = $(CC_FLAGS_FTRACE) > > +CFLAGS_REMOVE_tree.o = $(CC_FLAGS_FTRACE) > > +endif > > + > > ifeq ($(CONFIG_KCSAN),y) > > KBUILD_CFLAGS += -g -fno-omit-frame-pointer > > endif _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel