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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD391C04FE0 for ; Fri, 21 Jul 2023 14:07:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 32D468D0001; Fri, 21 Jul 2023 10:07:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2B6306B0072; Fri, 21 Jul 2023 10:07:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 109258D0001; Fri, 21 Jul 2023 10:07:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id F08796B0071 for ; Fri, 21 Jul 2023 10:07:32 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B84401C8F63 for ; Fri, 21 Jul 2023 14:07:32 +0000 (UTC) X-FDA: 81035796744.21.6B62F88 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf21.hostedemail.com (Postfix) with ESMTP id 9992E1C004A for ; Fri, 21 Jul 2023 14:07:14 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=qESCCl0+; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf21.hostedemail.com: domain of "SRS0=IzS0=DH=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=IzS0=DH=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689948434; h=from:from:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=dzNeee0Vsys3rqOCrO9Lhx1pbI3Vt4j1u/C+au5IWuw=; b=J7x4IJ5OSEUVqYo8V9bNUtykBM/AgQbHUuZ56QTdLfkTxmvKlhQXNJ242y0gv3r2wLZPyg YXyGm57Q+6yDE3+FmHSqu6opZSRWKsmyl8H6teQTSMOABJ8jumU6c+o7Sjo6xIqv1Py3DU upMTlwplpCAEFW9NqQ7V+aKhPacTpMU= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=qESCCl0+; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf21.hostedemail.com: domain of "SRS0=IzS0=DH=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org" designates 139.178.84.217 as permitted sender) smtp.mailfrom="SRS0=IzS0=DH=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689948434; a=rsa-sha256; cv=none; b=eEspEM6g12Lt1etbGQlEQQ+5D9qyh+BV2pu8Fg97POl1I4PJWf7pozSouOrLgR5JFduKVU jf+MjcW2ha/j5KDkq1plyk9zb3ogaGZij8cEPQLtYXpx23DI0eYpbwP8XdBQZ1onFyCU4D ZrqDGugntrcOGA2KWsXgKqLKE3czkFI= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 60BBE61C21; Fri, 21 Jul 2023 14:07:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B0231C433C7; Fri, 21 Jul 2023 14:07:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689948432; bh=bTZdyxvTtZgnsZIW0qXy4zcErrTkNn0mTmm4UjRN+Vs=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=qESCCl0+iQuLHfyRueHqahM4vVWNdMg3ivuHV7vx8jYnR+7wPhZY8zxBCOR+/Q7B+ 2IPqxdHva9fDbtK4KqaE5essvLqJZfMMdcrOaEJ3xhA3+GEUDjErJQc6WDsvXH9Xlm O6YzicfTK43iABbFokQ3yq+4TDo36v7PF4hQja1WkvfmXc0aNeDxLQ9vOWQRnGz6oj iqngu9qEVKyMUnuFoOVpmT/28R7PGzE/wwLhLFdaUMMrBB2UKzWO32+2kb4cjenWuF m1LGc9DZmuhDAnlSnF/QuDXgHZ1aW7hzcn+NKl/cPSU3dCp6K2wLYJ+cXIlglx9lqg Rr41b98rrUu8A== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 503BDCE097F; Fri, 21 Jul 2023 07:07:12 -0700 (PDT) Date: Fri, 21 Jul 2023 07:07:12 -0700 From: "Paul E. McKenney" To: Valentin Schneider Cc: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org, bpf@vger.kernel.org, x86@kernel.org, rcu@vger.kernel.org, linux-kselftest@vger.kernel.org, Steven Rostedt , Masami Hiramatsu , Jonathan Corbet , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , Paolo Bonzini , Wanpeng Li , Vitaly Kuznetsov , Andy Lutomirski , Peter Zijlstra , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , Boqun Feng , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Andrew Morton , Uladzislau Rezki , Christoph Hellwig , Lorenzo Stoakes , Josh Poimboeuf , Jason Baron , Kees Cook , Sami Tolvanen , Ard Biesheuvel , Nicholas Piggin , Juerg Haefliger , Nicolas Saenz Julienne , "Kirill A. Shutemov" , Nadav Amit , Dan Carpenter , Chuang Wang , Yang Jihong , Petr Mladek , "Jason A. Donenfeld" , Song Liu , Julian Pidancet , Tom Lendacky , Dionna Glaze , Thomas =?iso-8859-1?Q?Wei=DFschuh?= , Juri Lelli , Daniel Bristot de Oliveira , Marcelo Tosatti , Yair Podemsky Subject: Re: [RFC PATCH v2 17/20] rcutorture: Add a test config to torture test low RCU_DYNTICKS width Message-ID: <7d2fdbb7-e574-40e8-8561-40a3873abc88@paulmck-laptop> Reply-To: paulmck@kernel.org References: <20230720163056.2564824-1-vschneid@redhat.com> <20230720163056.2564824-18-vschneid@redhat.com> <24b55289-1c35-41cc-9ad3-baa957f1c9cb@paulmck-laptop> <5143d0a9-bc02-4b9a-8613-2383bfdee35c@paulmck-laptop> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Queue-Id: 9992E1C004A X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: enfb7r8fikjbeeh4uouohjpma4wf4wa4 X-HE-Tag: 1689948434-870477 X-HE-Meta: U2FsdGVkX1/5udZC8FeZ4yTBgdC/bQy3zLiEgMoy0InRJF5nLHat6Ajzu5cpne0X4NkKSRl/2gfH1Tsw176qzPxWWIKsvS34JuTupCnplJUYpSb/ujE5745NQju4h2obSPEVa2eJnNBJr61WmFVauVu00Pa26GmyPtkFB4jx7JjgWteshEci6b4QAB68ZPXvhXicR8VkluyhL/TrQro29wgvTgbqNzHLoVIk3Dnp6S27woeKR+nQAq42+InApU8oKeQLJGblOJK+lYCRrswU2I1+hEN2UwNu2KGziRRPdrN7RyJb9DsS2GhsygQeURt2uUSRS8avZgifsziJTDdYv+Lz2YivSA9RX8b6sfaOul8DBNndw0f4BdEterkej6iu0wZr/I7fFb29SO1qPKpcFSrjNZ1uFrxaJdZMRF9aPPEATDFx0dYaMcb0TfsGGx2L/8nvk1jXmD582lOfeRbr5JoEJItSfUqlC88BfbyWzUIBDlJKhht6RkeptvgeMkc4RMmzkkjXyZ+ziRLEQjDeTG+WPINI2xPCIL5NJ+2RxBgOyLjCG28qqMDneuANQexTIBNMWxiHevjdpFNbij8aJVGNyeoz7Kpj5/3VaW+hppXSdUElj7Aw11t1/2fMBUdvc2ZQ8FjyDp4tMMtTmSGoFoeRf3SsVQl4tXWUEWFXGa7B3QWVKpR6fNluZG4TJHaNNswiTgpw+WNiEY+sOdfpvGb2Ptq0GuD9vDpnn69E12LGJj2AigoIjMpOON4IP3tIWRk5XCU++oFR0NaTmFeRjTvGQQD2mursOC3EGUS8zcPS2cAopEW3VhJgFCKg3kFEsK+lrxNUT97wKzYyuZCJtNjVCYUncrx75ixCPRzW+Y2wawzsx68qxp/uGc2NKo54Hl58NmFhG18uXDUFH2UKS28gTfUZI7dXhtLujHaVVJcQoI+2gSSAVrjOjWV5RoEUOg+wyCylWlbHs455M4R kr65QjdK NzVJMC+YXwbcK15+iQpwQmeEpIboNJV84k/UrxyZ6X01SPoKZLBzFq/cpwjDSfPgOR7Cbm+1Je8T6La//W8bIEAhMzIK7y1gXhnAJGbYma+k74ZTRhZEMmqj7v1kWhup90GIB00t3kejlHe+D7VSQlE+RgvDq5zar3dIZY61LJs5x2v69qhNXtFCtmkp9qy7qbksQB4a9MHP6Dqf2AezBiaBdiN5xoAcdZGh87eKv4lgIPFUaToQM0GOZ4uKETuf16ys7weil1wct5iY/BntUHlFW2WeorpJz5tqd9GnmUMHX6t8JzsfbZ2aCh6JugBDxENyrSLd2nq2hqA9coWqaBukNikCIXA+2ycqYSJmxJFk887eXc9VDc+HXrd/Z2+quDITPvdMW3eL1A9pzOOWyAs9gJdelwX3vZJLx9aX3J4lXgcGSKj0oi3VNO+fYRGKosBFfyZyEtmvi6SkCOr96n4WLVIb4tCofLVesb3cHB/EqXh8p5m7IMus4XA0bnAxcRICCxfDSFCuUA7FsCSCJp2M5mBHuW6+4Umhm9V7+vKDxj5G2wPCZko/ZYpimZ/5fsYbTo1NoYF4F53ohrex6OZkN4oTFJu2xkJwolO7LNf6aiqb8rtiSS9/P/yDt0Doarh3u1E9uW1NeuPYrROlnxciwdvnugBxg0DcNkhGqBffIOTE8DAR/rGj9Sf3nmTFYWZk4tQsJUXTl/TcCw8p/YIwodA7jbLrAuHNCzOYVsEdwU6ITgooH6H8227YgD/+Ojo4G X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Jul 21, 2023 at 08:58:53AM +0100, Valentin Schneider wrote: > On 20/07/23 21:00, Paul E. McKenney wrote: > > On Thu, Jul 20, 2023 at 12:53:05PM -0700, Paul E. McKenney wrote: > >> On Thu, Jul 20, 2023 at 05:30:53PM +0100, Valentin Schneider wrote: > >> > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE11 b/tools/testing/selftests/rcutorture/configs/rcu/TREE11 > >> > new file mode 100644 > >> > index 0000000000000..aa7274efd9819 > >> > --- /dev/null > >> > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE11 > >> > @@ -0,0 +1,19 @@ > >> > +CONFIG_SMP=y > >> > +CONFIG_NR_CPUS=8 > >> > +CONFIG_PREEMPT_NONE=n > >> > +CONFIG_PREEMPT_VOLUNTARY=y > >> > +CONFIG_PREEMPT=n > >> > +CONFIG_PREEMPT_DYNAMIC=n > >> > +#CHECK#CONFIG_TREE_RCU=y > >> > +CONFIG_HZ_PERIODIC=n > >> > +CONFIG_NO_HZ_IDLE=n > >> > +CONFIG_NO_HZ_FULL=y > >> > +CONFIG_RCU_TRACE=y > >> > +CONFIG_RCU_FANOUT=4 > >> > +CONFIG_RCU_FANOUT_LEAF=3 > >> > +CONFIG_DEBUG_LOCK_ALLOC=n > >> > +CONFIG_DEBUG_OBJECTS_RCU_HEAD=n > >> > +CONFIG_RCU_EXPERT=y > >> > +CONFIG_RCU_EQS_DEBUG=y > >> > +CONFIG_RCU_LAZY=y > >> > +CONFIG_RCU_DYNTICKS_BITS=2 > >> > >> Why not just add this last line to the existing TREE04 scenario? > >> That would ensure that it gets tested regularly without extending the > >> time required to run a full set of rcutorture tests. > > > > Please see below for the version of this patch that I am running overnight > > tests with. Does this one work for you? > > Yep that's fine with me. I only went with a separate test file as wasn't > sure how new test options should be handled (merged into existing tests vs > new tests created), and didn't want to negatively impact TREE04 or > TREE06. If merging into TREE04 is preferred, then I'll do just that and > carry this path moving forwards. Things worked fine for this one-hour-per-scenario test run on my laptop, except for the CONFIG_SMP=n runs, which all got build errors like the following. Thanx, Paul ------------------------------------------------------------------------ In file included from ./include/linux/container_of.h:5, from ./include/linux/list.h:5, from ./include/linux/swait.h:5, from ./include/linux/completion.h:12, from ./include/linux/crypto.h:15, from arch/x86/kernel/asm-offsets.c:9: ./include/linux/context_tracking_state.h:56:61: error: ‘struct context_tracking’ has no member named ‘state’ 56 | #define CT_STATE_SIZE (sizeof(((struct context_tracking *)0)->state) * BITS_PER_BYTE) | ^~ ./include/linux/build_bug.h:78:56: note: in definition of macro ‘__static_assert’ 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ ./include/linux/context_tracking_state.h:73:1: note: in expansion of macro ‘static_assert’ 73 | static_assert((CONTEXT_STATE_END + 1 - CONTEXT_STATE_START) + | ^~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:61:29: note: in expansion of macro ‘CT_STATE_SIZE’ 61 | #define RCU_DYNTICKS_START (CT_STATE_SIZE - CONFIG_RCU_DYNTICKS_BITS) | ^~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:70:29: note: in expansion of macro ‘RCU_DYNTICKS_START’ 70 | #define CONTEXT_WORK_END (RCU_DYNTICKS_START - 1) | ^~~~~~~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:74:16: note: in expansion of macro ‘CONTEXT_WORK_END’ 74 | (CONTEXT_WORK_END + 1 - CONTEXT_WORK_START) + | ^~~~~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:56:61: error: ‘struct context_tracking’ has no member named ‘state’ 56 | #define CT_STATE_SIZE (sizeof(((struct context_tracking *)0)->state) * BITS_PER_BYTE) | ^~ ./include/linux/build_bug.h:78:56: note: in definition of macro ‘__static_assert’ 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ ./include/linux/context_tracking_state.h:73:1: note: in expansion of macro ‘static_assert’ 73 | static_assert((CONTEXT_STATE_END + 1 - CONTEXT_STATE_START) + | ^~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:62:29: note: in expansion of macro ‘CT_STATE_SIZE’ 62 | #define RCU_DYNTICKS_END (CT_STATE_SIZE - 1) | ^~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:75:16: note: in expansion of macro ‘RCU_DYNTICKS_END’ 75 | (RCU_DYNTICKS_END + 1 - RCU_DYNTICKS_START) == | ^~~~~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:56:61: error: ‘struct context_tracking’ has no member named ‘state’ 56 | #define CT_STATE_SIZE (sizeof(((struct context_tracking *)0)->state) * BITS_PER_BYTE) | ^~ ./include/linux/build_bug.h:78:56: note: in definition of macro ‘__static_assert’ 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ ./include/linux/context_tracking_state.h:73:1: note: in expansion of macro ‘static_assert’ 73 | static_assert((CONTEXT_STATE_END + 1 - CONTEXT_STATE_START) + | ^~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:61:29: note: in expansion of macro ‘CT_STATE_SIZE’ 61 | #define RCU_DYNTICKS_START (CT_STATE_SIZE - CONFIG_RCU_DYNTICKS_BITS) | ^~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:75:40: note: in expansion of macro ‘RCU_DYNTICKS_START’ 75 | (RCU_DYNTICKS_END + 1 - RCU_DYNTICKS_START) == | ^~~~~~~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:56:61: error: ‘struct context_tracking’ has no member named ‘state’ 56 | #define CT_STATE_SIZE (sizeof(((struct context_tracking *)0)->state) * BITS_PER_BYTE) | ^~ ./include/linux/build_bug.h:78:56: note: in definition of macro ‘__static_assert’ 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ ./include/linux/context_tracking_state.h:73:1: note: in expansion of macro ‘static_assert’ 73 | static_assert((CONTEXT_STATE_END + 1 - CONTEXT_STATE_START) + | ^~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:76:15: note: in expansion of macro ‘CT_STATE_SIZE’ 76 | CT_STATE_SIZE); | ^~~~~~~~~~~~~ ./include/linux/context_tracking_state.h:73:15: error: expression in static assertion is not an integer 73 | static_assert((CONTEXT_STATE_END + 1 - CONTEXT_STATE_START) + | ^ ./include/linux/build_bug.h:78:56: note: in definition of macro ‘__static_assert’ 78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ^~~~ ./include/linux/context_tracking_state.h:73:1: note: in expansion of macro ‘static_assert’ 73 | static_assert((CONTEXT_STATE_END + 1 - CONTEXT_STATE_START) + | ^~~~~~~~~~~~~ make[2]: *** [scripts/Makefile.build:116: arch/x86/kernel/asm-offsets.s] Error 1 make[1]: *** [/home/git/linux-rcu-1/Makefile:1275: prepare0] Error 2 make[1]: *** Waiting for unfinished jobs.... LD /home/git/linux-rcu-1/tools/objtool/objtool-in.o LINK /home/git/linux-rcu-1/tools/objtool/objtool make: *** [Makefile:234: __sub-make] Error 2