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 9DCFAC7112B for ; Tue, 17 Jan 2023 12:39:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D01B66B0071; Tue, 17 Jan 2023 07:39:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CB2816B0073; Tue, 17 Jan 2023 07:39:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B520A6B0074; Tue, 17 Jan 2023 07:39:56 -0500 (EST) 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 A59EF6B0071 for ; Tue, 17 Jan 2023 07:39:56 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2C25440267 for ; Tue, 17 Jan 2023 12:39:56 +0000 (UTC) X-FDA: 80364247992.24.0892432 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf15.hostedemail.com (Postfix) with ESMTP id 25E73A0013 for ; Tue, 17 Jan 2023 12:39:52 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf15.hostedemail.com: domain of sudeep.holla@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=sudeep.holla@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673959194; h=from:from:sender: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: in-reply-to:in-reply-to:references:references; bh=8PQET2inuxXodzNz/Jp9ZxK1RazBm9bUL0sxBd2ab5U=; b=Dcv24CxJdcpBzhTrtSpAvdHl6UuTJUW6mjyDMa/JzVszZJ9PQU9yEmLBBtQXeU2gHZBP3g Adlva5q+rRhHwyWGDP00I+dfOEagBj8mengECvZ39jF4dFGjbig/dzD2QY0QTuJ2Tsgx8w LdwnKKtd7yAJe5k/zBBWS/RJv+6sKaI= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf15.hostedemail.com: domain of sudeep.holla@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=sudeep.holla@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673959194; a=rsa-sha256; cv=none; b=eLK0fUQkNqI4OWdV77jDKD85fTKzbIxW/cCpG5eQwNIjdINoRaihVYlY9VcArmpbkT9X00 nWxBlFUGHrYJ9CZUU+O9iGakGckC0+t6KYsiZBHX/iAhmKW/qPpQbZLLLOSI/HXWROtLV8 UEuYVT5L5panF3NtwtitjZa0NAeMAwY= 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 D33EC1063; Tue, 17 Jan 2023 04:40:31 -0800 (PST) Received: from bogus (e103737-lin.cambridge.arm.com [10.1.197.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7F6B53F67D; Tue, 17 Jan 2023 04:39:33 -0800 (PST) Date: Tue, 17 Jan 2023 12:39:31 +0000 From: Sudeep Holla To: Peter Zijlstra Cc: Mark Rutland , richard.henderson@linaro.org, ink@jurassic.park.msu.ru, mattst88@gmail.com, vgupta@kernel.org, linux@armlinux.org.uk, nsekhar@ti.com, brgl@bgdev.pl, ulli.kroll@googlemail.com, linus.walleij@linaro.org, shawnguo@kernel.org, Sascha Hauer , kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, tony@atomide.com, khilman@kernel.org, krzysztof.kozlowski@linaro.org, alim.akhtar@samsung.com, catalin.marinas@arm.com, will@kernel.org, guoren@kernel.org, bcain@quicinc.com, chenhuacai@kernel.org, kernel@xen0n.name, geert@linux-m68k.org, sammy@sammy.net, monstr@monstr.eu, tsbogend@alpha.franken.de, dinguyen@kernel.org, jonas@southpole.se, stefan.kristiansson@saunalahti.fi, shorne@gmail.com, James.Bottomley@hansenpartnership.com, deller@gmx.de, mpe@ellerman.id.au, npiggin@gmail.com, christophe.leroy@csgroup.eu, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com, borntraeger@linux.ibm.com, svens@linux.ibm.com, ysato@users.sourceforge.jp, dalias@libc.org, davem@davemloft.net, richard@nod.at, anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, acme@kernel.org, alexander.shishkin@linux.intel.com, jolsa@kernel.org, namhyung@kernel.org, jgross@suse.com, srivatsa@csail.mit.edu, amakhalov@vmware.com, pv-drivers@vmware.com, boris.ostrovsky@oracle.com, chris@zankel.net, jcmvbkbc@gmail.com, rafael@kernel.org, lenb@kernel.org, pavel@ucw.cz, gregkh@linuxfoundation.org, mturquette@baylibre.com, sboyd@kernel.org, daniel.lezcano@linaro.org, lpieralisi@kernel.org, agross@kernel.org, andersson@kernel.org, konrad.dybcio@linaro.org, anup@brainfault.org, thierry.reding@gmail.com, jonathanh@nvidia.com, jacob.jun.pan@linux.intel.com, atishp@atishpatra.org, Arnd Bergmann , yury.norov@gmail.com, andriy.shevchenko@linux.intel.com, linux@rasmusvillemoes.dk, dennis@kernel.org, tj@kernel.org, cl@linux.com, rostedt@goodmis.org, mhiramat@kernel.org, frederic@kernel.org, paulmck@kernel.org, pmladek@suse.com, senozhatsky@chromium.org, john.ogness@linutronix.de, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, ryabinin.a.a@gmail.com, glider@google.com, andreyknvl@gmail.com, dvyukov@google.com, vincenzo.frascino@arm.com, Andrew Morton , jpoimboe@kernel.org, linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-omap@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, openrisc@lists.librecores.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-perf-users@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-xtensa@linux-xtensa.org, linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-tegra@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, kasan-dev@googlegroups.com, Sudeep Holla Subject: Re: [PATCH v3 00/51] cpuidle,rcu: Clean up the mess Message-ID: <20230117123931.3ocl3ckkf72kusbz@bogus> References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 25E73A0013 X-Rspam-User: X-Stat-Signature: 9becbtsfxujqtjbc3pu5z3x6bto8ye3g X-HE-Tag: 1673959192-415685 X-HE-Meta: U2FsdGVkX1/NSzEUhAgGISPvhesodoWEmFnpMQEtDbVTIhmadx1wkMJ1P6R4cvgDgXVUYyNXj9R3tdL/+6BVIjrDe1NETWrcC7VNQzuD+hrK3cc3hpVYpMEiBcuWMTq7Q53dmqg79M6z2Uh/mH8aaMnX83/ym4T4x7QNpuRPhA5pjUUbRVaUdB+trAebjV70PmqlDHZchGnbPHdpzlhpC5FiJRp8HKBaIjWLWnsHOXUsGzxnX2nKWayZquL14I7zCG41uoDAhgw0/nHt3nmfeFLvjwGxTfOFkXCrZ8y3z3Ofl+e3JDIdKitOpWWmeGVo/iWaERGTd7fnbQmO4b+qeB4QQtz3+55Wx36LiRkLrf54OOfejW4YccyzTxURip0bVWE/jmWNNLcLn0CEZWe3gpeJsBcTZTcgm63NB1xy4i0zkko1MmPasAXbEw7IlyD0j5aRbzBX3Gd8k9XjjqTWV4YkJWZcT/cHZBOR5xCxgs5/SRhOQdZoc0Qq1xET+XDvacelktBF7dHTk/nFhGpY5pFWffRlWS5CH0R9rSyALoWEGbwt+6Fh1fjX+hRN1+zPwl5NJhRHObUCBJwhwRrZFEVtHwRziHMJlhDzLpN39KR6d2FUhUT1tccfBw99KGP4dg106xmHD3y5m4YH3fUlmap2J/Zbeb8G7DS1QjtEWOQYi34HB2Fsz1JXxz5a4KDDzQaQqYvUSb/b1lR51dGIwVxXXLyFlWQL7esB8N0r8wH/1n91orXeEk04IT8yL0MdwCF+cIBVfGyLpdw4Xv038Ttq6Yf+ow39Ar3FsiMXuZqLAH0f5u4TKFgDaJNrjyZD2M8U358b7PCcYD8zimyj3HAewCk8roeDC9+0nSuQcPqWjdZ+9+UAbv99WAuCwKpSBByj7H8mVNTUQqDM4CGfOdL5Jcs6RdrSoVmJIokFNKQO8DhIqrE9pSuEq3Y5AoIcx9ljJTqurwYAdBGVGd7 dwHlfq1M IJ4phjdGscqQGxyUdmPZPAfAhHv1dRuxSytRq+/Zo9GGDw1ybRxISeEUyobyZH2uo2PYt/WuWS1JqD6/kQAma7vMkbUvcHiTaH5cZFvRebtC3cum6NgVBwnas1s/9ffMZT+H58J40w9U+zgbiuo5pTLabAkv+SnZu/r1xSpVma7ZpIUnssygU9qsmhcmcwgqI8fw0aa39b/gIy9NjgJULN67sNVKK7dPS0b8YElfm7KCTFvhPA0c7e4vAJT5438GKmhIxlP4c6EMhLD+TgUaqkk6hZzypfWeJyfP6z2W2hLcfZ8e0dTeTfyiyQYpIfk7UjF4SlqqG6roVFcMj/3ojmJkPXDwDmLogz+oDlxGCWtWHxlnafdlVgSriJdDTow92vzwlUiWIZxSKdtuzJMQoqK2Tu2zTn6ZHoTkiEocSt25PRW1DvaRDDSlWi8O0XjionH5npfLWo6QWRpbL5UWTSvUJZRQaq4jx4VlqXYP6rjw1OX10VbMSFgLyH39GwR7YN7s2l4nFCnDOG/lVRfCNUCX47tIXSknryyOBGdskimb4Qc/Fi21Xgu8RSx5Dh6xmTJpsQLj7an4NnIS5Dn0aCRPGQphnuaDipWLyW4hXElK2Uc0HZmapl5bi0CaC+HExrWI5Ezmqtkae1HRX2QvDm3D3yrH3/Sarsxq2GlcZz/ZfvhFu+u871tZ8TciUHu5cuRdZdX3PHtDllqP63Xu4ARfgfEJJUT71rPejWyA/rY7UQlPd91cdreIxk5eQTnXZemzCAs6Vb2MzqVqMSAKD/7ZkQGX7n+eTGS3ZYRaXFYdyX0zEJAPntVguX7IwMoLYed0Q0nAKYDXa5a+ClBIFZ8D4H6AZawIIKN8PV01z8MJWi25plcZAJbJGQRInxXdb4nw4QUHadnuuo/gaa5xSPQctEQQBiPiKmSlBxhqCMnxDNwc/f9EoqMwJtJakGieN34Nj67cYwZOr9xtDY91NawP8iTDy 6p4aGoi/ VW1RZp11M3lA4K56/CA99fN7DQntvVFsNo58BniHngcYFztppSXDGM2Ku3MfQPtYqyetzwNXYkOu2Zz2vWjjVISHKAxmvCLM5L4xgx8uGRIjZAtHb6m8cm97LqzfL3iHRJhEEINuH3rzB+aVEi/heM2v+gXOGQvrYBbRnU/xvmL+Ewy4yuLzN5U2Ou0GZQlgqk9W7Z+eTY5E8VoAYEQys+IyhjErmPX1O4F9isvw8sN8T46tcfQvAPuxLPCmGaIrAJ4f3wpSEIVTCHjveuhkyw4d23bBi1MnlMMjVfz/FQ2MN4QCZkFAvhWWBql3VTvd249oA9vPnKFBtQ9jI+WKetCnssU7NuqoYSmnntaKvw+X8YcUrYYb4EbmambsasbVEVy0htx0p/Q77Y3YjCkjMdtScpuvlaFSj7qUGvWs41YrQSKqD7iYAXTNp8GoTy26FeZaG9kWy85ydoind6yAWxQ8sIxOSKuPmZynsrfGu8BXHsPatSbnUYuvx8KSh7Qwmci5NGlOn8FntVorWb6yARXQcROBIC1yxIdqZLPHldso1bzZTkF7bLIrr/sWAR8Js5Lk1iWKNvFrjO56Mgi/XXO+GKvTBpv9urhS9ZT0s/a5AkgyelRoTsCr8ZhkoB8HSWEdB+MRg+PKPSNfBY/t6MkuAPUxSC4NFWFpOIDjYUOf7ayPhn4WIrUcZnzZA9BE61LgwyHRAkx1VcIyaHCGJYmvozxHSn/CxBz65L3okwpCvOS5mymLxOSR1EFqSvdDuDKSCeA5A7zipBKtbHRFLEjGWZc8RWoTlGamIHaYT61ONizQFvmjToJgQ6IjdT4UnvZekQuUZxoYStn+s3CEmqbPwUDgcJOaKGQsAD4zO0e/5T3s67isasmgDDjvshNXzV+XExrvsSufZtKN8jKU1X7peI6AEXkG+iTYQDXWFekkmphEk5be+PlE1EE1bfqZ6XqF0NvLblOrX+WnHqdb8y8yee+Vu 6z13iT5C gUCke3A0Q8xnaY790tvziXqdBQSXZGVWQyREGzczEGY56IsEl39zg6hxO83NFzu5B6rpw+V1pP1wojjAt4qhHIwTHezni/B6ogsoEQUuOqWJlGQojJBXkkb7RM00eV0Wtojb/rrFJvruH6GesSH2lagf7Up+2zDDgyrQqgJrMgeqdC1H7wrpRrbwVFe/HgBeMmPVSde2EOrVdDlQnKmfFCfvN6UPsxCC7bDsH7xSvG6FhsY5Yjm3CVp+2CHPQzpoVINwooJnoQIQNj/XVrIXWSeiqfqFet0euhyQhL3VU6RbcXQLAq54CBm5hfjF1i4rGYvWhJFtOB/oiOvyd8ED9ZCb36RlrHhnvq2wuhXC3sgv4wXY4AXp5NlexFpI9ItPBEJayoIyjcqF0O+EjGdUdzEo2+Vdg6nYBJf4u9f9C2wV1bewvFnpt2lLnujHxeZ9EfMab9sorFfc7inhhZ69Q7PgMwlstgdU1PL9wp0L1wX//DHp8Ny8XRQj+/CARYSCRDgn3OhS5OBJSIAh6MBE7Fq9+AZLbLdsG/0rd5PMDM3OzvKe2JXfWG2UnaZC9Fx4+yg7/OYyVHLQhgCrnFCS6119ZPnEFPusSPtOfQJ4aWItzQ0ZUQrg5OXsILYXnYC6wqSy+7HlmjJDPdh8e6jonAVyx2TCVW6HGh2zBL/x1wEZyYnZ2KRyV+DTOU+TZVx4aYxMwryAFAcUDYVbB6kSf1BpdqhPiHpAMBj8fXk+YWEz9uzh1Q3sMwzTxhvBg2BlBoEeIPRJcg/qgPKitdlR41I0CZ9+pOynFQ09ZK++KXJiUYgi0TwsZbQgnBbyAid8ALY/DjYrBN/0eAxHR3Z4vfv0RKBXytguUI6ho+Ci+u3Qtf6uItSuFgc7BhsCcjA8WZBm1objliWqdfhUkdIestkVRswuTteGVj9x/jXz7MEDceBaXS3WZrgzigBgDGWs2P2NdPKSFC290huxTVYyiSPjpYKaR pKpqLDSR AvGQAtFfsKUmWXNGP0Tu2jftIlGzha76c9iLok4RhvUA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000025, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, Jan 17, 2023 at 11:26:29AM +0100, Peter Zijlstra wrote: > On Mon, Jan 16, 2023 at 04:59:04PM +0000, Mark Rutland wrote: > > > I'm sorry to have to bear some bad news on that front. :( > > Moo, something had to give.. > > > > IIUC what's happenign here is the PSCI cpuidle driver has entered idle and RCU > > is no longer watching when arm64's cpu_suspend() manipulates DAIF. Our > > local_daif_*() helpers poke lockdep and tracing, hence the call to > > trace_hardirqs_off() and the RCU usage. > > Right, strictly speaking not needed at this point, IRQs should have been > traced off a long time ago. > > > I think we need RCU to be watching all the way down to cpu_suspend(), and it's > > cpu_suspend() that should actually enter/exit idle context. That and we need to > > make cpu_suspend() and the low-level PSCI invocation noinstr. > > > > I'm not sure whether 32-bit will have a similar issue or not. > > I'm not seeing 32bit or Risc-V have similar issues here, but who knows, > maybe I missed somsething. > > In any case, the below ought to cure the ARM64 case and remove that last > known RCU_NONIDLE() user as a bonus. > Thanks for the fix. I tested the series and did observe the same splat with both DT and ACPI boot(they enter idle in different code paths). Thanks to Mark for reminding me about ACPI. With this fix, I see the splat is gone in both DT(cpuidle-psci.c) and ACPI(acpi_processor_idle.c). You can add: Tested-by: Sudeep Holla -- Regards, Sudeep