Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp1431390ybk; Thu, 14 May 2020 08:50:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyYqA9BP/bIPxnAnX7yuakAL4ZnQUKJsH1gfw29PmJXBYWCZf3A7yMk5EhgY5308Koksy3Q X-Received: by 2002:a50:b044:: with SMTP id i62mr4714034edd.214.1589471442815; Thu, 14 May 2020 08:50:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589471442; cv=none; d=google.com; s=arc-20160816; b=gBww+Gv1zKip/uKaE8btGNUigSmqs2hBvi/52lE6uZ5JgurzdGOEBUvdKiJcLla4Hm 4x8XgUHT/EN7F8XuYr91H6qNbLU/03+iXK/cxeCw/8l8jwFNS0IETYQzBVCcWOa5dNeh y2IQnEeH0cyMTjQKbDcso/i7KZ/cVYjt1VbM3i4qQSGLPp9/DimP+tzppM5OJVI0YwCO mjjLqvLmwa2JznLOqsUTzhRQrJO9xdezsBVeIEDOt7MSpzVOg4cYED8KkVAmiLQaK7os H2VWIFD1fMhbBJIkIfsD4NzNC0i9SEr6armw5lHA5Xt4+oZWcfodD8eHN4G7rbIcry5e PAIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature; bh=EvtEJvAWirIZmQ1Z7jbnfUadpeoAVrZfw1XsagvgGvU=; b=kgFpXCZu64oslySw7eUMxkDjJjk/sxgASI+0gdcmSnHfupunMmzECMsjQoojew/VPn /wBNH2v3RJ1xwAgbbtQbvI2qXzBeW5MNgmHFkOU70oYMV/3QTGVrfqz72JBzPV3AWXz0 8sAu55qysh5EE4U6zogJgaB3aufZxbXvqPTsmkzxxelHYs7h2nmmN0wPxoAyH6O3AOud mzHwmJWvUMWONbx395MDlG90OwmTBUF1TQSQgg1j+wQpVL9L5yZu7HknPnvdSEV4Ryj4 Fia5EFav3kgxN0FiFrkK9A/d+S4qrwOCM2KUxPfZZhSn/mEJ+A6dVQdN+ta4kvER9poF iWFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lca.pw header.s=google header.b=SxDlxjrQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e1si2152620ejr.438.2020.05.14.08.50.18; Thu, 14 May 2020 08:50:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@lca.pw header.s=google header.b=SxDlxjrQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726885AbgENPq2 (ORCPT + 99 others); Thu, 14 May 2020 11:46:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47566 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726056AbgENPq1 (ORCPT ); Thu, 14 May 2020 11:46:27 -0400 Received: from mail-qt1-x841.google.com (mail-qt1-x841.google.com [IPv6:2607:f8b0:4864:20::841]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 86C05C061A0C for ; Thu, 14 May 2020 08:46:27 -0700 (PDT) Received: by mail-qt1-x841.google.com with SMTP id c24so3227832qtw.7 for ; Thu, 14 May 2020 08:46:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lca.pw; s=google; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=EvtEJvAWirIZmQ1Z7jbnfUadpeoAVrZfw1XsagvgGvU=; b=SxDlxjrQmMi7iKIvy54Aq8ysc6IXtNTU4zH6VizVx8MeEFCNdOUG81zLx/RY+HhnM5 MUtvVqmzDtMFFYWGH+H9BIHrMjhgg6XOf9ws18FFokyFiACkJ56gYR4V3dLAbFIam2gQ SPFLPxur658m9PdXybU+84o7wsi5tbldbQpIe1qJwYE8lHP4P/Vtsj5QPgOAzOAVwANx VG+JifixQCA5gSCG7DuCsjYCXU14ClCgCZ+s55++aAswqZCMtZbqwd2Up8HeMRE/r655 d1Pw3wtdB6X/q3lPl+ZGl2HMqZyw+WE0PfkmoytkNUzze7xdzmYrmVlWr3kh2bUxMOmj JYug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=EvtEJvAWirIZmQ1Z7jbnfUadpeoAVrZfw1XsagvgGvU=; b=cXEvGXmA1se3DfU69AMKCCu5ReUIE8XsE1Dsu+P9yw4E5H/i2T8UPFXEfR47nLLTA5 uBEQ1oEfmVyS+cOF0rUKxgFbg+LYvH9A7kLfSa5BvqTHsOD55WjuLdBn+SKZXSeXOCGi 3a9qb9nASxkiwUH7xsktLq9mZpxB8uv+UAwzsl3RXxbP4eGpsgbcuUS2Tn1qy8u6/erW uYzbRSx6GcCcE7YPspZR2fcS0FKJ9VvV0jSkc2q0XKNwjvvGr6C+y/C7kpsqcIpIXpdn aG7Ihg0wHgYxp046sCA/fU3kVK5ToJJxZasfSeRA3zTIf+4/V9zfU+GUNsSqiOgcst6p s9IQ== X-Gm-Message-State: AOAM5301+nOIInwl98t8xPUkapeRzGZ/QQ1ANKJDQAKvby5IUR/Oca/z 6OrXk2hjvN8zKQctF/jySKA5+Q== X-Received: by 2002:aed:3848:: with SMTP id j66mr5294804qte.227.1589471186484; Thu, 14 May 2020 08:46:26 -0700 (PDT) Received: from [192.168.1.153] (pool-71-184-117-43.bstnma.fios.verizon.net. [71.184.117.43]) by smtp.gmail.com with ESMTPSA id f24sm293899qtq.39.2020.05.14.08.46.24 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 May 2020 08:46:24 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: Default enable RCU list lockdep debugging with PROVE_RCU From: Qian Cai In-Reply-To: <20200514153400.GJ2869@paulmck-ThinkPad-P72> Date: Thu, 14 May 2020 11:46:23 -0400 Cc: Stephen Rothwell , Linux Next Mailing List , Linux Kernel Mailing List , Madhuparna Bhowmik , Amol Grover , Dmitry Vyukov Content-Transfer-Encoding: quoted-printable Message-Id: <6089C62B-52AA-47CB-BCA0-9096B3482509@lca.pw> References: <20200514222535.259cb69e@canb.auug.org.au> <20200514133328.GG2869@paulmck-ThinkPad-P72> <20200514135402.GI2869@paulmck-ThinkPad-P72> <20200514153400.GJ2869@paulmck-ThinkPad-P72> To: paulmck@kernel.org X-Mailer: Apple Mail (2.3608.80.23.2.2) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On May 14, 2020, at 11:34 AM, Paul E. McKenney = wrote: >=20 > On Thu, May 14, 2020 at 10:03:21AM -0400, Qian Cai wrote: >>=20 >>=20 >>> On May 14, 2020, at 9:54 AM, Paul E. McKenney = wrote: >>>=20 >>> On Thu, May 14, 2020 at 09:44:28AM -0400, Qian Cai wrote: >>>>=20 >>>>=20 >>>>> On May 14, 2020, at 9:33 AM, Paul E. McKenney = wrote: >>>>>=20 >>>>> On Thu, May 14, 2020 at 08:31:13AM -0400, Qian Cai wrote: >>>>>>=20 >>>>>>=20 >>>>>>> On May 14, 2020, at 8:25 AM, Stephen Rothwell = wrote: >>>>>>>=20 >>>>>>> Hi Paul, >>>>>>>=20 >>>>>>> This patch in the rcu tree >>>>>>>=20 >>>>>>> d13fee049fa8 ("Default enable RCU list lockdep debugging with = PROVE_RCU") >>>>>>>=20 >>>>>>> is causing whack-a-mole in the syzbot testing of linux-next. = Because >>>>>>> they always do a debug build of linux-next, no testing is = getting done. :-( >>>>>>>=20 >>>>>>> Can we find another way to find all the bugs that are being = discovered >>>>>>> (very slowly)? >>>>>>=20 >>>>>> Alternatively, could syzbot to use PROVE_RCU=3Dn temporarily = because it can=E2=80=99t keep up with it? I personally found = PROVE_RCU_LIST=3Dy is still useful for my linux-next testing, and = don=E2=80=99t want to lose that coverage overnight. >>>>>=20 >>>>> The problem is that PROVE_RCU is exactly PROVE_LOCKING, and asking = people >>>>> to test without PROVE_LOCKING is a no-go in my opinion. But of = course >>>>> on the other hand if there is no testing of RCU list lockdep = debugging, >>>>> those issues will never be found, let alone fixed. >>>>>=20 >>>>> One approach would be to do as Stephen asks (either remove = d13fee049fa8 >>>>> or pull it out of -next) and have testers force-enable the RCU = list >>>>> lockdep debugging. >>>>>=20 >>>>> Would that work for you? >>>>=20 >>>> Alternatively, how about having >>>>=20 >>>> PROVE_RCU_LIST=3Dn if DEBUG_AID_FOR_SYZBOT >>>>=20 >>>> since it is only syzbot can=E2=80=99t keep up with it? >>>=20 >>> Sound good to me, assuming that this works for the syzkaller guys. >>> Or could there be a "select PROVE_RCU_LIST" for the people who would >>> like to test it. >>>=20 >>> Alternatively, if we revert d13fee049fa8 from -next, I could provide >>> you a script that updates your .config to set both RCU_EXPERT and >>> PROVE_RCU_LIST. >>>=20 >>> There are a lot of ways to appraoch this. >>>=20 >>> So what would work best for everyone? >>=20 >>=20 >> If PROVE_RCU_LIST=3Dn if DEBUG_AID_FOR_SYZBOT works for syzbot guys, = that would be great, so other testing agents could still report/fix = those RCU-list bugs and then pave a way for syzbot to return back once = all those false positives had been sorted out. >=20 > On that, I must defer to the syzbot guys. >=20 >> Otherwise, =E2=80=9Cselect PROVE_RCU_LIST=E2=80=9D *might* be better = than buried into RCU_EXPERT where we will probably never saw those false = positives been addressed since my configs does not cover a wide range of = subsystems and probably not many other bots would enable RCU_EXPERT. >=20 > Yet another option would be to edit your local = kernel/rcu/Kconfig.debug > and change the code to the following: >=20 > config PROVE_RCU_LIST > def_bool y > help > Enable RCU lockdep checking for list usages. It is = default > enabled with CONFIG_PROVE_RCU. >=20 > Removing the RCU_EXPERT dependency would not go over at all well with > some people whose opinions are difficult to ignore. ;-) I am trying to not getting into a game of carrying any custom patch = myself. Let=E2=80=99s see what syzbot guys will say, and then I=E2=80=99ll = enable RCU_EXPERT myself if needed, but again we probably never see = PROVE_RCU_LIST to be used again in syzbot for this path. I surely have = no cycles to expand the testing coverage for more subsystems at the = moment.