From patchwork Thu Jan 12 19:43:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098760 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 EED03C63797 for ; Thu, 12 Jan 2023 19:57:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5D4518E0007; Thu, 12 Jan 2023 14:57:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 53711900004; Thu, 12 Jan 2023 14:57:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D70958E000D; Thu, 12 Jan 2023 14:57:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 660EB900005 for ; Thu, 12 Jan 2023 14:57:26 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 3489940E2E for ; Thu, 12 Jan 2023 19:57:25 +0000 (UTC) X-FDA: 80347206450.12.2CEE344 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf19.hostedemail.com (Postfix) with ESMTP id 2D3BE1A0006 for ; Thu, 12 Jan 2023 19:57:21 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=XHTa9fJQ; spf=none (imf19.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673553443; 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=WMNBIHuf5Xvagmacq/Rua4pXk5oPDpB6DgeHQM3GMNM=; b=lINyOMwm8N7F5ua43RQ70DUEc/W9VtEHHGz5FqcuBbS2DrEPeNLa2TRjARlkO6k5hf8eVE ud8njZbUp2wFmRgcNdHDb6FafUDN4u5aecEatBGEicLjXorIhoqtmuwX+EUzVXCC3R67fV LZ83xW7JzLRBucV0plBC+FqyD8Hb2DI= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=XHTa9fJQ; spf=none (imf19.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553443; a=rsa-sha256; cv=none; b=r+XJznVccnQ5qS9OpDZibNRP8mo/yHLN/dlJeQSYuu/nQywTPq+XNg/ELoL32vkpD60VWa 0VYB3Q0hQi5/MLmGzXbZ0udpXvrc2EX9HfPUKvXydFPKio0Oy5hsiXl3ZBK2mzGNdeo+IO dRlTrsnpVXEjR3C0Sx9Rfk4iEGCqF+M= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; 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=WMNBIHuf5Xvagmacq/Rua4pXk5oPDpB6DgeHQM3GMNM=; b=XHTa9fJQ6l9MxKPEyBfPupJlnK QujDsEFDgBb1RH7NNdfEH9tiUdGcD8VlMIlH2CjVqfd+fNH42psBn6fMiV+PWnaBMJfrQlG8/uPJb Okf5Z6OyNAqqQFO4RuIwX4H7J3wmUlp/1CUcFGZtL6SomSncCRNiAtmRxykSQS8awMOGDTC4+beqs ZcKwNhcoilI8HNj5nEyrlEpuXXx8PCFWAbLEZkl+iVIJPsqVqE5HfY/3I1jWlD4JpB0Yxq934dXPd MeGfH84uwYJtbUpHSynk7Q8quBJdyFnyS2B+X1iqYrC1/Fqf9A5HRlMzd1MAQhBIOXenRfEd52BcW oZc0vWYw==; Received: from j130084.upc-j.chello.nl ([24.132.130.84] helo=noisy.programming.kicks-ass.net) by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1pG3hX-005OcN-Hu; Thu, 12 Jan 2023 19:57:27 +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 EA92B3033D2; Thu, 12 Jan 2023 20:57:12 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 9D69C2CCF1F4E; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195539.637185846@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:19 +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 05/51] cpuidle,riscv: Push RCU-idle into driver References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 2D3BE1A0006 X-Rspam-User: X-Stat-Signature: z6cu7yaw9s9b58x9xgux849xk5xf4i3b X-HE-Tag: 1673553441-672022 X-HE-Meta: U2FsdGVkX18IYo8PUNEmAbcPGw5H/IExdumrodO1xUPw74Ye1eLULqQtSjsHQVGvkeaLFzq2d8SKb0SfzdImNAPb0cgFT8FBbnFJG02we2NcbJGNP1dW+3Qwqrifk10a+CVOHLh980sJhTXNi4G8wiltrxOieR3vGuRR645negYlW4lMq9DUtbE9JmBPu6AGLoTrHg7Xg5JMsDomSc6N/hluxgwR7f9Kvdy1jRyPJeouD9RZHuqFsvbUr6wpxjxB10YR5rqePFaJb6SP+w7n7ozO9uh8qsz41dSzGxJXzX7dnBKzk50w0UAanbA6YftEj74NuFEJGzUSorfa2WHgpRsO3a/Y73rud3LuXCw/CTwqDopg4ufCiHqRRmxOIhBfVSAta/FGOaXoH+KxVFtqFcLP+1vo6WLvDxplJThdXmcxdGucfuXSgSQ2I4EyxBjxSODpJZvJU2uc8SFkC4eJo7yJY6V+QC1jkiihtba+piI+yBx+bY3t74sp1REkFhgV+otbsONLUyMFIG0RXiFo8jmCe0z6QyyjTe2C25VRo3ra9Dm6RoROmIkiS81Ax4pflYitJNqTFGBCLWp4OW4xhmuEe0zVZhhileqHHojPiH1nQcEMSO14appi1gZj1dlZBueOx0ygZXHi+BlYkqQmMk/41u6hWlTGGtxBi9e/cS/61QnlbPl72yK47zGSPCnpAtfnkwslenVA7qYcVksJfEKmdYT6J/aNOIY+FbAai5K4V0/bv5SAS7AufMYXdcntkZ/pfTcZocWcraGIEKQ0br0sHPDUtpbWCSA2wpGkQ0MJMxy/dPVRZZrLMFZHK3tWQ3rFfu0I9CGnDtssZVC0gAmkulWe+I8dO/6XLso9Xte4bRrFZPm0Be7yfiodCf/X11rQkGL+XVyHtDbgnffEA/7uiHNi/E/tCRsoVPyHuEhrVCTiHcyWKgyXhTcZVSTwhPz5UaWrVW2+fc0Fdbp VijPyBed lhSC5guez+7fPQo8BaONM7m9TlLMUdjhCaXClZ9USlAbH2vk56Y+CNo9KX0Q+kfuUuPGuwBsHtghLVAt3nh1jQ3n5QTlz+jCovVWB0XlOlCPq/WQLcunI+TsVxncroptjqToVRlxdkNba9A3tArK7r2/Ma24eNuY94uwJXvxxYoyeJ37btQAeOHsYnRH4zGk3neB70l9ORoWTOUo0+X85LW6Oq8Bhs/W4IesKupzgGT0OkJ76BkIlyKgrbky/jVLCHg2zBFNsFALwhpWd035FJCrB5UwRsgocrp8S80lE0BlYW9G/MH5gFLjly85jaVOKDksjjY+NEB/pXG8qWGJHpS8e83xkMtQqfndKIIR0h+0WYL+Pi+2+t/IBpxqWhjTIEbvEbU+QylG+7qpFsYJuRp6WfS4Zo+6lHjSsodvorKohfIYrs2umb2eaN/mnviyCzXH9YDzRzdLBRhuNdfLn0Z1e0AwtJ3eOP8obHXkOxrvBjFPpt58FaQYDAq2bGHME5gVN1hcYpfwyXIjSancHMOTYg8JYE4tO3Iwul0ROUOLjjiDpR89rPcFWvvAYt+veEPK9CUhyrQuC1xndObrtBaDy28hVMyYJCWFU8hVnI8lYSfx7XfbKPbpFdilZBlViqBG6pzyXyd0a31SZFz/SyHHz6mQQpwqkJD5QmIS/oOzov05uJ/QcEGAs8bB1d9nQfxgWkuMWYvAdYq2i2BUM8KosF0eOifaq1qecX9s/Gi98NrKIXdC+c2XFPwIcJp9ZtrJaAcfxaB9iwQA1HqFGW6JbrhkOua2P+5GFYCqyBf/ns5NBh7etk/OeRCW/K51vpk7awzBmi0aONdyHgtwsfH2EOtwKycZh65Twv5nC7RQiM14J1cWviuZf+FpV1ygUwqfyfsCoV/5qbXQaKeeUttgTNC+zZT5KSP7IsT+sChMpt8v60CSEJLDmt768xXDgTv5t+lSE3ZA63u/NNDjsTkvsUa1N qby6JmbD ZyLqUcZMmBqgrIJRMRBpVlqcFtwRdm76hPnBe81ECKslHGLE0Xd7fXoYcoE6uc4HpzuMO19uHxnBu2AUyYDmW38/f5YKFp1dBTsJqVDtGlQn1cjt2cx3E/peIr7HFgcTPVPXR1r1FgjlU/r7U4tJQn2zLSCZI213VZ1WYjkeoACAFT5UAPN5ePzcLAjmCOwjUmuO6LwsLaV95VrLlfVxt5Cx968l3Q8WPv54g8f8iEb/gPljgY0zbc3qe3w7h8tH3t7G7NkyHtOByah3LlQ6XmbMmghC7IIWnfHQO+2R4K83+Bb9gfq9P4QVquR1jPfHsthSA3OkYBxj2CV+AkRefAAXZTjiDsJMrMR0cyH6UDkfLKKiFRB3jfzJdp5m+ECoUueqp8HFbkNNy5za1yJ0TaF74vL5D1+ImBlyHmuPC1a3S3a2W9QfZ+r2U6pFUskv0RAN0y28/blzZQ8zj10rLjtQZrY7ixd5AIA1gucrLsDdlJTBPr7lJAwoAs7bJHkwSQ7qJx8WjcPGlu38XqxIq7hhCae+6TrqEQ6uBveO9kg/QaMUVEcOzVqWsZ13X5W+E0Nr2MfWXDNGAHO+GwGYYCdBLcjwDywyWLAnL7pX5z+dquv7F7MLL//qN4+SPblwjTRuxbYSRuNQsz3g1z7IjM6ZH6zDgD2otyZvt2xN/QlEHN7OSfqih7j86ItglOl9Vl4/563eUM1zUn12Fkz4iFReeHmXXkWTS30POLnAWSl11Z+CtdSiy5wpRdYx2KnzKstKeJ43ix8KC7ljsIWpH9X9dM5VEX4jrI8ecYuMhVtOD1mitdmjxNtpbWp895dMRhiY5W6nfbJLOSgpTwlWffFSVx3JF5mEY43YwyLYDC91C2wnDxKi+CdO98PnXUGZIDPQ81eOts6VJTSTtZWIwGkREFpl3GZlLis2lu9u/dnj0RFNDhsWuQUbZO6fTsxXmSvvAjJMIGGAQd05pMeD9Q6XaWp+w WtpQACOi 9HpPudsL2lSTBfprwm53qx+8ppP4NwGlsQINl9fHbmo/sRo1ztR+ThzlMusHgdlj2PS0Sg7u+O3fFzmM+qEm343WWwEWPN3k+ZS0EtR0MawPZDI6QD5GuycknJg1w1dkjopHfa58swZTDGqY71GfVw5BFXFggS5qO1mF1zo8Bl+7dbRtTVY4799pQfp/OhlJ/5p1WLsXvF8b+kBVXM0neAqVg1IRuwJ0lEwBtt2sjLlsxtiASogBRRxcqicYsIb4YUzOD/yR5z234f1K4VQzJqjJg2QYLwegSUiib+drctO1H//ebOAOiZsMLrCd2DRCgfT7x2/n91MIQjWYXhYnQNM8DsElg3Hl03kDcP1d2AQhqv33BCEHZ1x5VYWBmiaoEYGKpXf8Zq3sdOBx0HqAKgbxOJC3aMplQckr9UF3bFPDB1AmN4e84nthyig5w3Rg4zTiKTEVNIPmYU+vFFQhwqrJhVIkPjoLxXRKJp/3VRTQC1MBH7CQ6ir9wfN4jwKDmXwMvlvv3g0I9Bp/JrfVrU5xVgHk6gK0onT/4071T8SNEIQ8EOQMIHhzs4lHGdzd5WM/n7w7KiILVf/g0RE7OhHctWJJQ03UdCC/mlmYwtXJx7H5syShu8SZtoQQpj76yThDDe0yWY/odpTiq+D+yK3hxdIi/jUz98A+L4IHZ/RuDfJVLGFRh8old7ILwOMG5FdWeQbwaHzW5ZuTrbZLhlA4FtQdozu/VvJOW5eRdPCSsy/l97mJNMYk4efJhMBwRIFXireinIWGLKCCgGpzRa72D3HghM+CjWN9GgCJoZS+L2UgRH+e5+G5vF+hjuea6mTQOwuXlO/9nNVs+ak2sxYZeevLOBq/z41WSJoTHWAlWxzDZIKzTEchgKKoBOKSxMP5pV7Sc9RxDlFuKtxkktIw+soymJfTPq15N5Z3kKb0f232dUNuL7oUG54aZ4FAnv0JBadaSTn+sLKqAyzJoaZJY85HS 8ibccnAI ferqldAAaxbRWyc/5MW2+12aA9rJSbkrhJQgmMp7YYcE8CQpdt7hSo/2SdQEQ0WRgV9LlMqM+iRQZYltWGCMCnLjCXFvMZKfM/Jq4gPOxTrQ== 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: Doing RCU-idle outside the driver, only to then temporarily enable it again, at least twice, before going idle is daft. That is, once implicitly through the cpu_pm_*() calls and once explicitly doing ct_irq_*_irqon(). Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Anup Patel Reviewed-by: Frederic Weisbecker Acked-by: Rafael J. Wysocki Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/cpuidle/cpuidle-riscv-sbi.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) --- a/drivers/cpuidle/cpuidle-riscv-sbi.c +++ b/drivers/cpuidle/cpuidle-riscv-sbi.c @@ -116,12 +116,12 @@ static int __sbi_enter_domain_idle_state return -1; /* Do runtime PM to manage a hierarchical CPU toplogy. */ - ct_irq_enter_irqson(); if (s2idle) dev_pm_genpd_suspend(pd_dev); else pm_runtime_put_sync_suspend(pd_dev); - ct_irq_exit_irqson(); + + ct_idle_enter(); if (sbi_is_domain_state_available()) state = sbi_get_domain_state(); @@ -130,12 +130,12 @@ static int __sbi_enter_domain_idle_state ret = sbi_suspend(state) ? -1 : idx; - ct_irq_enter_irqson(); + ct_idle_exit(); + if (s2idle) dev_pm_genpd_resume(pd_dev); else pm_runtime_get_sync(pd_dev); - ct_irq_exit_irqson(); cpu_pm_exit(); @@ -246,6 +246,7 @@ static int sbi_dt_cpu_init_topology(stru * of a shared state for the domain, assumes the domain states are all * deeper states. */ + drv->states[state_count - 1].flags |= CPUIDLE_FLAG_RCU_IDLE; drv->states[state_count - 1].enter = sbi_enter_domain_idle_state; drv->states[state_count - 1].enter_s2idle = sbi_enter_s2idle_domain_idle_state;