From patchwork Thu Jan 12 19:43:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098775 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 93D56C678DA for ; Thu, 12 Jan 2023 19:58:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C3A0980015; Thu, 12 Jan 2023 14:57:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AD84480014; Thu, 12 Jan 2023 14:57:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 819B080015; Thu, 12 Jan 2023 14:57:39 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 643EE80014 for ; Thu, 12 Jan 2023 14:57:39 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3F7C780560 for ; Thu, 12 Jan 2023 19:57:39 +0000 (UTC) X-FDA: 80347207038.12.2EF5216 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf07.hostedemail.com (Postfix) with ESMTP id 9157440022 for ; Thu, 12 Jan 2023 19:57:37 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=RaGKpqyq; dmarc=none; spf=none (imf07.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673553457; 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: references:references:dkim-signature; bh=FFPKfQhi1RR6oz0II4O36iNGEMWuMWROzeT05TgEQqM=; b=A8vB9IRONsv7s6odFOsfCoPtL2xXbqGPy/QeRi/Zdjh6XSfn8b+qXYiXuObRETlXNUkzyB i+/dUooAbIX54IfryofgFsjAlOsk50LzItxefdo8KSnt+naB6n4YrmgS+nX+wXHmqvqBy1 VRiVqlnuTnRN5ALuYvk0SFMsTHG+qNw= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=RaGKpqyq; dmarc=none; spf=none (imf07.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553457; a=rsa-sha256; cv=none; b=bylL2KitdkLqW99ZdMPxchd3vuBJbI6kJiUVGgiGq7Rlfux+y4W0hn4B4SoP8C5Lz54KCm GSqqK6azXfGZK2iIdnLP1jduZwrEwmNisKCIYi72g8jVNw59dHjsc1tWULR3fhLi6phe+P ULEOzD49l3I5+RVZPp9wny9CqV4uTLo= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Type:MIME-Version:References: Subject:Cc:To:From:Date:Message-ID:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:In-Reply-To; bh=FFPKfQhi1RR6oz0II4O36iNGEMWuMWROzeT05TgEQqM=; b=RaGKpqyq/zK9SlNjTC2tjN4ED5 sTgPIaymFfkI7cWpVV179CKQcVzEOQRVhnIy+noiuqisc8Y3evgKJUiyplvjl1HbKExAwqR1L5cRI cIpU16imzCqo4H4t8hHvrKs51Hazpcdis7GPW7WqWYyUnVJMo3glFbEV1YO1/KUq63xmw6zWRni8M q+r+jmD1JPS2/5f1tzIob5VJVF1mYTI34eulJXL7stW6BbKeXceClpw/C7VJmcL8rerOH+EyeRXAA pl/PB9yx4kOt4qfN/jVJ7FuSltcu2ISKODVX2TsZ0lYjwuJHXYkrRHUgz+IKATkftIztoqhxtkYgC NhZ8/Vwg==; Received: from j130084.upc-j.chello.nl ([24.132.130.84] helo=noisy.programming.kicks-ass.net) by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1pG3hK-0045pb-0L; Thu, 12 Jan 2023 19:57:25 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id E1DCA30345C; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 41DA72CD01200; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.599561742@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:51 +0100 From: Peter Zijlstra To: peterz@infradead.org Cc: 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, mark.rutland@arm.com, 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, sudeep.holla@arm.com, 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, "Rafael J. Wysocki" , Ulf Hansson Subject: [PATCH v3 37/51] cpuidle,omap3: Push RCU-idle into omap_sram_idle() References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 9157440022 X-Stat-Signature: xb9ohgby6q7jg33gjk3z6iwjfwqn3iu4 X-HE-Tag: 1673553457-525332 X-HE-Meta: U2FsdGVkX1/o6viOt0lxmO3r0HFc3H9jh6yg9w3fwGjjEJK7n/iPrdGQspJFq8PjUIM50RWNFGApyKN6EEvC7zk6fZEQV1ocOv5/wg4pVAD073z2yoj/dvvjdmNMg5jbsGAiBaL3eK7Id6iR91JG2VS+63mdml6RMUYpMgE4K9CiCiYaCehWByffU/zzTOmV/9kYhzBugyC20nJQ7S7i29lyv251qUDRH+dhtSplTwbzmYHTlcNcDB82wpxaZCf2mw1OUZVyQeWiY1CaGj3wTKEpMDsKyJESnWrleHzGsfED+BAABdCe67gPoI3Vym3hIIKtzFh+6l7Mpdl4HJ5yEnDtmZAQofce8VBRe4PkAIJJebaDJFmvTrgDkIdWUqE9YUGgo8jsGCNWiEzNwudr0mSEEE/vd0GXAq7T280xitIumxLNwADfwbWIY8aZisRZsLqLW5OA+Tso9OxkniQG9MJOjs+daAWUxvrTk6Zk00u+sNpJM3DRZyASizCG4uoYAEDYEzkCOKn6VDGgx9czOk5SITVchFlbcQjNtEPmHywcmazaO4u6u/twCy5F8Q8OqBPKOcaGDCeHNQEBvIV61TJLe/f62kKAG9C4J6a/QQij8ORkC/Fr9X6+CcxcfW/BGRr6mfxneR0yyiT1pvoi8H9/drES2gXZx95Jym0HooXxwSvA8nSq2srXCaKl+Zw5sJ3VrJRDGeiwH16gPgpViJDEwEmazx7DUSiTJIvZSLZCwuUPzwjOLNbB1aIXx4IPrEXveEAMsjG5CqpYYOq28kjSVOCf0JGMN21rUCS0sZHGnScdODEFwiKE837XQqWD2NjNBRlH4PuftoeOpp8nj0nmNHNiJS9qjhV/b8BMfN7LWgzJG3ZDDXFaUmmjWErhlKuJxHINFoB70bnOW6TM7V2IW8cexaeZCcwBAiL1KCI0cKaBpqx6on0tS7p4V60pH90IRa0dyj6To3xeiW/ lKMqN4So BmZxoJCDi5EuQby72XikQ4JQPNPJ7ZcuAH1PhuhNbui+x23uy43P3cI3RA6BlhybtLQ2kNN/jb7UqZ7FlwqPa5qyfUN0zJnUT2ITL5jGO8l5WoGCRiQjeCCBEMBoYapKlwDiEWGwiDkSFTRGRvUg8K4+3HdfZAbpB2iUKshKlFMq9ecXGzNmu0m/M+1Kt44WpAnkGwnGQjbgnf64Iphnjbz69KZS4WMcJUdYy7xaxEusEWZ4QEGJ58ktQZCfQsNW5kXmMZT5SBDRqM186mxg+pxjqs7qzchZLr4UUbDr8PLVfZilfssxZ3tGVim9R9WXOkcknJhikdD77/u23v7QzyQ9HZL8k7ZWRuGf4wCNViTVaqbtMi9hLqyCeuWZ2xycFhb/sqjYkgBD6Xaj0rBr+q1QtswoMUDRHqXTCggqpAJVm8j5NYe1tb58+o4480a5EPBHX7nfCDysTrqSHiuk4ExN+SOnclZAV4AWnmJVYjtkBpifw0YeGNc2TQlKyQxnCRgDNjC3YGuhkBCmcq9417PH06k8gOT5H/bwMqT0UOR+p86fzS9/dzStTOGId/wZhN1QVQusDR9OsEsjWpI1P9LqjZXoxOd3O4ybl0QxIMWOFZCmjrN8asdcuTY4aY9oWBOOKFZHQZr3p54jPBYsPcSjObu4VhZfHSCfoaHUw38ODGECH/XUxnmvSqKYjHQ9xpfPuAiMjc0GtQEXvKAs86DoEPusc2A+Qnr3YCHlq+tF3erX0mi1VC+3kU17OhUa6wusVGyG8jdbityWhu0m9FRjINKQIdNTwVs7RtK1t1/CDyn4qm3Oiebxqk+J6SvRMj9rLfraOajCxAObRnp576heXgnMsnzSJmk7bJrgNL1iDPW7shFKTsLsxFP94lCqPbTdJeJhFOtw6tosl3aDow8JoxpaXriS/GTFndJPL9YXLxBUyE1pZKSyHfvjXMX86zgkO81tybqCp3GZ2ZgwELOZrEGGB ee4G0KX8 8RSJrcSMezGOfGdpuB/GMin0gurJ079HKk89tgbKQrOovbR2pFHRCygWuNZ+ER72+O3L6DLACmz5ORQB19701ctifihw9hciKKczeydqT9l0Ny8OXsSpJrE30wNRoENUeeChg6mvSHEjL/ZBPPVOA4Pyw7nGVR0c8AVF0TYoipOJoAffS2SLkXVg13f9N+7OXMJJRQtdvFh1bi9hGSyjZb2sFtuQ7aS9tkbSU+MocrUT75ZCozF7Aby/9sawNbyDLmx5Zm+ss64WjQwL1r7UOMqy2uInVkBA9VAqB8Syn/Jt1wxLx3OZn8o9iTqcJPkPahoH1ECu0EJb/0fWORztEVjSKtTuFjANusQ/eo8CK/Kx61t9f75fdM4vzjZGAqkHJ1lVgoKcf5CAt+x0iR8bcdfxJG+iy/aU1hwIi+UZK20LS4ACXT4ag6QZyNb7blhH0FK8KK6c+qXtC2c3yZ5jsk6GN2I9Q8Hlr+DMFNwIILYBpPGRWMENT2JwJOfxZ7lYL5thv9qa3uqFluSDHQoBetUMIvGrXQD0htM2uP2jE2RXMJA2jaZan3awrm/cPXb/6Mct9bEABcnzyyi4qq7vZj7y9RhnlsITuhQa0uLaVSVLDLamu/+GFM52JSAfYuHPcbZcqXgh56GOL6+82uOg3qQDVYX9pBUTRAMatmkGXlCqMSU19XU5oLoNJGWVU36QKIpFkonmsABoJtLBlK76r99dlfx/jZBx4+2s+RreS65LUDLgWcg4xE1A9h333UCw8QSrYkJ+jGnJQlvWbK9MV6k7zhxl5aVUI1ScQ96v7CcADXvY5lBV6Vj6ZKvS0TkqEfZy7hpNHAoYG+vPnObXhyAZ1qM9HJHdGY03N+MExf94H1/7ij2O6CQZbS+ZmlaKZE1sWqPtiNDnowZ4sSC8WVZOET10cHdU2PscmoIrnu9IEIV95rmziNxcDBGmMRmzMEvNYvGrDaqEN7oT0+UDCfd9NJkD5 ntXkrwj/ oCCFekInsxTuOiw+Ps8hrRbCd3bqfIDvOvZi8zXZSjJdV924xKI+LKNgXUN3gVV1zlRbtw5lvTmNVJz+5yEc9CdtAJ0NYLsKItQYHaea4pMxfj1D+ZbivsV5TtQpTIN+Yf8gQjs0yYjo8Vrj/vsoc5I6DM5y/JDZIu2nmUqfwSq9r4smpxgapONUFVqd+M48iunAHhbVKuWJtwks7ziugrsOEj6ArVhG+bgDBfHTGimXVFornqZQa/h5N0W4JdzYfcx3znWW8Jig6KVR/XBA6j5gXgA+F4TE4nvZmU9kbbrpYWBCplzZLCaptRZhNrqi0ND4S+MSuoPTgDP1bgtZddHZHOgZreezqetRhZkqajfFsrn52D51LUWzP5wQIjbirKo2OYNJgpczeuu9j2MGaPepwB33ggXUAvaHbb1KMSjd91IgYyx4BBWVqcod1z8sJmwbonEzTvhMC8u1g978PJbYwoeB7Zb0iwRM7CzKbA5T4Urjpj/P6xjfB9MquhnZYdulKJCbwVg6AEvAlQIx+Y3s3bMcBWlM0UNDmGKG28z6aRXcTsJ3srbVDGmOIyaMQ+bLKn7gbpwBYLcGSTNJ0qXdiaTTrrY1Tuza0jiw5zGQbHiUZc8RWwENY/2uw4F3zASbk/qchwdv+9TzDe8CqbWgATNUKt/CeD3mO5HE4YOOtrkRj1M4Am45Meirt/05rhH8kFmAGwLqD73L8ySLxcpkgKMxDs4zP/yAMC6Md8bPtDr2n1JoSu7qv6lLzSAiiHc/laWnvuPO6vpvsIpp+CbtgWk9vkZRP65tVPN8uQKV+UQwFH1fRD2zxiXHGMJZWvYG3V9vZlqCliSTwa8op8YP3cihqtf6tUdGwbD5kh/asAuPLVNlLPyqXtyWbs6Dc/Mpbgr2jJFVyLL5yKd3nFgInFWYO4OuH+rO+Del89b3my6SI3cyFStwiKFJQzPaCTQGUp9is/B4L/Pd0wxJFt1h0PzMM lhFa7dLw 4N5O3bUC++eMJ4optk/qemXZemVShS5TZLmPoP13BkpDczmyyWqRSWg2MAzUAuHd/Qil8wSc3/clXXYKepwHF0BJvaMDc34fi/9O/8QPR5GFa37AXMNFPF0E5Fr2ln3Xr2Yp/CKvYwzAqFY5Px+LZv 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: OMAP3 uses full SoC suspend modes as idle states, as such it needs the whole power-domain and clock-domain code from the idle path. All that code is not suitable to run with RCU disabled, as such push RCU-idle deeper still. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Tony Lindgren Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/arm/mach-omap2/cpuidle34xx.c | 4 +--- arch/arm/mach-omap2/pm.h | 2 +- arch/arm/mach-omap2/pm34xx.c | 12 ++++++++++-- 3 files changed, 12 insertions(+), 6 deletions(-) --- a/arch/arm/mach-omap2/cpuidle34xx.c +++ b/arch/arm/mach-omap2/cpuidle34xx.c @@ -133,9 +133,7 @@ static int omap3_enter_idle(struct cpuid } /* Execute ARM wfi */ - ct_cpuidle_enter(); - omap_sram_idle(); - ct_cpuidle_exit(); + omap_sram_idle(true); /* * Call idle CPU PM enter notifier chain to restore --- a/arch/arm/mach-omap2/pm.h +++ b/arch/arm/mach-omap2/pm.h @@ -29,7 +29,7 @@ static inline int omap4_idle_init(void) extern void *omap3_secure_ram_storage; extern void omap3_pm_off_mode_enable(int); -extern void omap_sram_idle(void); +extern void omap_sram_idle(bool rcuidle); extern int omap_pm_clkdms_setup(struct clockdomain *clkdm, void *unused); #if defined(CONFIG_PM_OPP) --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -26,6 +26,7 @@ #include #include #include +#include #include @@ -174,7 +175,7 @@ static int omap34xx_do_sram_idle(unsigne return 0; } -void omap_sram_idle(void) +void omap_sram_idle(bool rcuidle) { /* Variable to tell what needs to be saved and restored * in omap_sram_idle*/ @@ -254,11 +255,18 @@ void omap_sram_idle(void) */ if (save_state) omap34xx_save_context(omap3_arm_context); + + if (rcuidle) + ct_cpuidle_enter(); + if (save_state == 1 || save_state == 3) cpu_suspend(save_state, omap34xx_do_sram_idle); else omap34xx_do_sram_idle(save_state); + if (rcuidle) + ct_cpuidle_exit(); + /* Restore normal SDRC POWER settings */ if (cpu_is_omap3430() && omap_rev() >= OMAP3430_REV_ES3_0 && (omap_type() == OMAP2_DEVICE_TYPE_EMU || @@ -316,7 +324,7 @@ static int omap3_pm_suspend(void) omap3_intc_suspend(); - omap_sram_idle(); + omap_sram_idle(false); restore: /* Restore next_pwrsts */