From patchwork Thu Jan 12 19:43:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098773 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 C12FAC678DA for ; Thu, 12 Jan 2023 19:58:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B5CC38000D; Thu, 12 Jan 2023 14:57:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id ADAC680015; Thu, 12 Jan 2023 14:57:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 644658000D; Thu, 12 Jan 2023 14:57:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 3479780011 for ; Thu, 12 Jan 2023 14:57:35 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0512540E1F for ; Thu, 12 Jan 2023 19:57:35 +0000 (UTC) X-FDA: 80347206870.08.AFC3256 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf14.hostedemail.com (Postfix) with ESMTP id 76D89100011 for ; Thu, 12 Jan 2023 19:57:33 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=AsVrq9wT; spf=none (imf14.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553453; 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=K+6/dwXz2WKb5RxNLU2q+chP38k8rKZMVN0FbUJ4gys=; b=CfIHnXKiej5AP8YhzBEIaaEaDBa3nujPlPrP0MQTlQo5izfQMEn2/bpNwbNgh4jK9Dra7b 2uRZeslB70LgQFE4uywtswiRXT81HjSM/D3x//Uj8mERnrjEMCp2Lkbq81+BSG9uvWIh6g BdSjOA2HJcRiHjv4m+WwFdUhMCCfXB0= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=AsVrq9wT; spf=none (imf14.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553453; a=rsa-sha256; cv=none; b=vFvoofLeVxtIbYaxU/w+Xqyj2XutyavqzSjYDW5ns56HOfKe7SES7m3OgRyk9pN64paQQi 1KDbiPvqCGN1gPDgsCcMeBJNGdAzZ9i791l4+IJfdIMB8PQWzpFVtg3EGuB3oK4sT+RM72 mcdhbUof9QB9g0lg9CpQ7Lnp11SRvbI= 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=K+6/dwXz2WKb5RxNLU2q+chP38k8rKZMVN0FbUJ4gys=; b=AsVrq9wT/PXJk0qR4yYeRmw2Z1 sFGHg+aIPPyDTboHjpqLWy3X1T8UQB/O6PTb8R0zTtvwDN0yQS3aIcfBsuE/iWvY6nds+s1WuvFv3 aNBBQ4zar+ZFrynYU6+MbnFhyaLGBsOTsPM4ZYNVix4uO+OhmsgT/kUOAnbP2Mcc52m3QWLGGYtZX 1L7dr5kPMZibWpkerKF7Fmbrlol4brSBcxyJg6biKltchaWjpjjcglDEjpuGTK9bo4Ytgcqw2yN0D 1pUqiaV0oLyLNqyJvkzl3dQZtJxguFzo9JHpk+jpR0u1rOr2V/4ymL5sYskJ6n7f/yKV2b4XR2SmP uU7TgixQ==; 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 1pG3hB-0045nr-0B; Thu, 12 Jan 2023 19:57:05 +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 B880E300C50; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 8D9992CCF1F4A; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195539.392862891@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:15 +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 01/51] x86/perf/amd: Remove tracing from perf_lopwr_cb() References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: 5y3gs5ed69ok8rc94q6p8kgf5cyn1aan X-Rspam-User: X-Rspamd-Queue-Id: 76D89100011 X-Rspamd-Server: rspam06 X-HE-Tag: 1673553453-93276 X-HE-Meta: U2FsdGVkX1+BO6j1VkQWko6XNRxhGx92LElLlhJJJGxSKEKmR1dWOeqwhip1kprtSKSC+O4v55vxxeoveuYf1kP4B7/USUtPusae4rzpBgC9qrpLepi6/i9Cv32zDfhOHFKAS5PUHiegSNRyGZr2EyBp4/Kvmf8g4mXjonrD4CVKG8lzXzruQv3FEF28UvBNgJpgL04RulOyZPncuYtd8y6Opr+nHieGPRlPgPZzSObAGwBUEdDc/O+rJvnQKBQZSZLguo1FN6VUwAaGva/iNsNMHxOjnfgrNbSJhpib7nLN05n4IBpwn/wuKqK3240u2js1P4QlZeag1S4HDszybbrmsjYDKEwXAxASfZCFifeyGOq2bylLA1NRJ3F5JTwRUohFWnBRPaXi4AihzvyrJYI/fUDYQRiGv0t9RFXMSMJ+yXeFjDNa3AQnnBZREIpfs1gcq3pyMeJ8vFUMZ+zzjCrLU82yDorCFoLACY2Kie78LduFopS69TQ06Ig+NuD/GS73cxHEbvmTlLSS3fa3BJ8Q6rLGp+FOP7K8b/BGJAyKmMioNx1OciY8oR3iPskCNcB6XfARRvJ5ySvuVioJDu1CNh392cLPKmRHUbbGsfbFrB4csho3XMLUrVAPVHsnC5Fmz0+CBjk4gg692ItCzwr5OB0qJLm1T3Lum0OdO3aj+umcnLXY2f6ZDatBeD0wIsW3dH8+qSPsSRwlSNUCwHqWz4+RBPXvCS4UoPMMPifP0wIsmF2kVRZ38IP0Q2wt/Gj0Kw3sytrBrqjd9IJo3po9ipcbl9LyZ5+CeONAvXfZIo9/hAbnLu+6UXD3wMhYyDrVAItQ9RtGL0AoX77S1UyZqvgxjNVkrtMcMMpxU4xKAudio8in44SfJRalrX4yFbTkgyZlSxZtI5tOCh7+Ffl/vsrgkQmvARfI3VuNyuN0GHU9RGYkXbOWZ0i5xUtBrXU3ycx78UyycADgnUX NXUsJTjF mdNZUYxuZ96x4kiwqLJAOi36t2Kad5HNchjoKZNkPher0om7bulD5gYzXyfKK/yZBxMcuRiPu5IyK1zYEs+o7elDYE58ejXDqkhQXB58Vwm6y+d6Yf/HeLqRpmRv3WVDQCe6RX/gCeqj9NfeLvJFS+lx3PtXlOwyWIravOOqNgYX7HOp5/xlG8uVfwpp4za82bbJKzC2dWRZllOeIzWXeqlbBylvjgEfzzidvosNPNt0vzlENk4djcYfa92ibkOUjAXE9sp40OPrGMM5EX4MsHXG2+B2t7+sLC/VnaAer3pw4B74kR655Y8YpOa9z6WT11fkQiEnja0Z43IZ6BwZUboXdJSZuHfPniFw7/cOGQJbFexGG4HBwCSdvOHCwPv2c77k7w5NhvzLRA08q/4w/q4IqgRj4LYM1pQAW0ASk204BDX32LV5p4kkIDN6yG/39NZ4a5/xMSAqn1WrJq9JT3jMYk7pQ9h22f/MezQp39XKcSXd3DgPlg79tSpdmDXe85qmiKBgTjKc0cQJq70hVbXPGFIDb61qQhhRcJ4Z5Uj3XSlcC787va5eFzZ91MiOAn7r1V2M4Ir6BGejE//M67AnreqvpZtFGcYBS/7xfU6IGLePZtiRIAx9D+YsH6KGUiqTiXEjyGCdD1R5pMY+NXvZhca/iFOykLZmWqVX3vB9lYY/FHe3Dt72q8fQ20tJTtIS+Qt51YFS0YNcd7oLjHzDbBlstyob3kj8j7v00a3oKMnrW6EZdPYXYGQv7QgVzN671RBgQjXPVTdXgdEVMhphMcvRGlmiWDleIyZDmLSiKIgZ9qF05rPjdBL7MU03IM8is6lUB92V0/B+Pu1H9SuDilx8aNyVrKiv7dUag+lm/QElnlAMB8eyhESIisObIl7MnPrJhiRNVOO3vguRDD1WH/Ru/NPF827jh1RwF0twkmmAX+DjCLMk1S5KYlH1fyEeVQlSaOkv25oS1TJ5LPd8t8JYF snUUn1/K o1qo7ijPtyn+qGlAOwqAMMq/+QCOtulVENr58aMxP9JLJt7Z0II1cVp/3J50FGw3IL0wcH2ZM5hiZOJSCfDAOadwdQNQz3F/h+ZQKIY/ZA2i5rign/fdHNLQCRx4Jh36ZGp/iQEdr+ssQWsc8XQdnjL8FnyVEw+jldMiGlNbrLjlWNPMwL+M87eNsSlVqFutTuyEZnTk9UUFNSEHYk0DKvG1/jaJhnOgiY/y6xSmfc5kooYBU34NWoyYRVekHFzgcMsL/wD5DALZ2/mqLiHNSawmEc9sOt1qKWJw/t+mLNm61eZ6uFFN6CGZw6ZNxYIcaB4hdPbAsL5XDdbX7knZx4TcPftxi9YqtpWjfYwHd/eCLJnofd/jb/QLLH8pl3NFC4OQ6mdfg5Y8/QUBrttJQZV6rTLFhfrNC1GFSP01vEcZyxs4f5jmxPKSX4l2qKcGqaLw4Om+RvHALY0aZC5BI2XzvrougZBKebGlmcm1yg4TpL94Rhigg6g+kJt7K5lSrsQXHISkGDUQ5TacL6wFrb5RvaWosf2/V3yh+WIkLkuKqxAQcNEVpss63/uM3odUrjOgmIF5AsxvoWM4AXakkxTkaY/yAJkxbFuEVUqBKHpWkTnMAaDY+Xyl+1j/EXACDlTLTmnknLguirj8+GcGrPwxHPzv2d3iTKKti23u80haA5J6bcR5Akah1XN2e3MeRzJ6xEv5msHoBAbAi7eBSjANq8PVrJU7IemM77jMCHg36+WC49d8O8EKaq8pRYPGcjrvkUnCXnencfEPBHI4/HvNR4qUnfyUlru1zEGph2a8xzq73Hsu0mMf/C48pP4StdGOugIGXXEttdkAZW6Uh5g13iOp2SmyxkphqTeOTStsjmyq6qVD8pT6BZuDfO7b2VFx4Xw6NdqiJc9iAG3cABZnCp830z0G5tUSGt7HOHdsTvoCjoYJo3XJXp+Mn9e8jG0HQ04+Z/mQNdbR2Su7NYA/sFM5x 2w/W5i9n GQ6qEEemWlmgjjvUd/aVx5UxqhJGGqi0DvFbHIG437lE8f1TjWTm8sZsZkxS4f76vc5ggjU/SdXlaexehDfBN4xlcSW3prZqPiJqPNVlseV/+bNb05r7iGutCZ9la12fkKusc3FIu22xtR8sG2STSvGchvEU8cUQ9BzhqfuEipOlqAbDGQaPBwHGVoeUuJTL1QChSKGOmy1m3kLvQbaZ/IfM6pUatz0Uen1Uk90QmRU2BiMpLp0AUVzjx7xhSmUGqLkGXd3j/3b17uDPcuY3JXUmJK5eL4Za8EJPdttpd6OMtH4RzdXRTzL1xnUoI5XaHLGld2jrwDnIybfSEd85jbxXSTCMIB4Qn1RpLMbGiWIHp1dVftK20II2wcJ81LcaTXZLRfKU3GmiR7og4ifL/eYXQJHOCZg4cBv9d7n9MTjYBxlGriB6KsgARNeiX3jpZI6vWIZQ6fweO7l+goKlPlfVGeCzOK5oEJ7b3A9mDkciW+Ng2RDFtNLpr/8j4T9zL+Bzc8OnOJMb5Jm4pbq3NZAyYU+Kxahz+pKWXV8NaWs79whFe13TPTRCM7rSjQmzA9rZEJFmp/G/775WyQYTkb7xHGjDWJR6ezVotfi8i4Qu680YNdSxS/mEb7ELI66Jij0Xy4UF77onoTSSiFLwjxRdOIqYA13J0IOE/Ruahn6G6ZkwMG43UzcwmpFIPxR9Oy6fKC86JQnxw4+wMj4uGl8shAJMd5dpPfuGU/R8cpFYGZh7FFX6Qb8iZCUZWxbsUOtrwMRsMiacdR1lgbiCwkfVFrzHHFJ/pu7G4+DVnZPdJjrd4/kqaPI+svuY/U8ysQ7zRZS1SWCeQ9xnHU+PvajToS1vb+6ERdfO4RUv8eVAAhwUwFhoDfdo4IXnh0AUZq6koqUTsvaAbeJITBCPysnDEjqqhOZoyHoll+/6+5zQ+J1Ktlwf/VqYfUMtCWycpxq1wVPSxkTAtCEKD1eWDw9uvnr2C G52HuyZl kWNg2GyVpWy82lhObEUzNqOovA6j3cB55U9yMtSTT6ZJKDc5YnCBDlsHG3Zwt5rQyvFZC5ZALXvV4r4QWFznt4djbYGFUbiO+dDkT3kry/BpEXd3abqRgtfkXesPgThCwBMBmMjMtQbrngcXjB+cYe 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: The perf_lopwr_cb() is called from the idle routines; there is no RCU there, we must not enter tracing. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/events/amd/brs.c | 13 +++++-------- arch/x86/include/asm/perf_event.h | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) --- a/arch/x86/events/amd/brs.c +++ b/arch/x86/events/amd/brs.c @@ -41,18 +41,15 @@ static inline unsigned int brs_to(int id return MSR_AMD_SAMP_BR_FROM + 2 * idx + 1; } -static inline void set_debug_extn_cfg(u64 val) +static __always_inline void set_debug_extn_cfg(u64 val) { /* bits[4:3] must always be set to 11b */ - wrmsrl(MSR_AMD_DBG_EXTN_CFG, val | 3ULL << 3); + __wrmsr(MSR_AMD_DBG_EXTN_CFG, val | 3ULL << 3, val >> 32); } -static inline u64 get_debug_extn_cfg(void) +static __always_inline u64 get_debug_extn_cfg(void) { - u64 val; - - rdmsrl(MSR_AMD_DBG_EXTN_CFG, val); - return val; + return __rdmsr(MSR_AMD_DBG_EXTN_CFG); } static bool __init amd_brs_detect(void) @@ -338,7 +335,7 @@ void amd_pmu_brs_sched_task(struct perf_ * called from ACPI processor_idle.c or acpi_pad.c * with interrupts disabled */ -void perf_amd_brs_lopwr_cb(bool lopwr_in) +void noinstr perf_amd_brs_lopwr_cb(bool lopwr_in) { struct cpu_hw_events *cpuc = this_cpu_ptr(&cpu_hw_events); union amd_debug_extn_cfg cfg; --- a/arch/x86/include/asm/perf_event.h +++ b/arch/x86/include/asm/perf_event.h @@ -554,7 +554,7 @@ extern void perf_amd_brs_lopwr_cb(bool l DECLARE_STATIC_CALL(perf_lopwr_cb, perf_amd_brs_lopwr_cb); -static inline void perf_lopwr_cb(bool lopwr_in) +static __always_inline void perf_lopwr_cb(bool lopwr_in) { static_call_mod(perf_lopwr_cb)(lopwr_in); } From patchwork Thu Jan 12 19:43:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098770 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 111A1C677F1 for ; Thu, 12 Jan 2023 19:58:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2009B80010; Thu, 12 Jan 2023 14:57:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 193E88000E; Thu, 12 Jan 2023 14:57:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E3CB780010; Thu, 12 Jan 2023 14:57:31 -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 A82A58000E for ; Thu, 12 Jan 2023 14:57:31 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 84FA2A0DE3 for ; Thu, 12 Jan 2023 19:57:31 +0000 (UTC) X-FDA: 80347206702.01.41DE682 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf22.hostedemail.com (Postfix) with ESMTP id 085AFC0015 for ; Thu, 12 Jan 2023 19:57:28 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b="MCFGk/zf"; spf=none (imf22.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553449; 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=tPOdw9LFGiPCDTfwXmDjC03yH+Atd2yWpwgqK4SP6Bs=; b=AvghVs09U8oARx9JdTMtmLavrR1pZ8Ik5G1elk4h/52zlkdQL3wxnoJW99OcD2sYpKlnCi G0ywylGRmVsjEruzf+h40s4o6ejSinGIMpcdRuxkk/Y2QHgQ8xVhKe2vhJjiATJb4Wpd5h tTKPydyCBt23EDydJvCqInirRsy1jM4= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b="MCFGk/zf"; spf=none (imf22.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553449; a=rsa-sha256; cv=none; b=5ZvpUpvRQnGexJ+QkuH86u1b/K+Pt3z3IhXnkDAPRDg9mXxrYITGFTz5/gRrhrunIKhd0T +31oee/SZiCGl5BFDNaHji8TFNkhvSM/jopG+AAePsLn+V9PTEDPrnYU/w28SStQJoSbro c721j+UtD9OLhyzL6kp8gs6KwLmkppk= 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=tPOdw9LFGiPCDTfwXmDjC03yH+Atd2yWpwgqK4SP6Bs=; b=MCFGk/zfAQ1MOxe655CfrxSndB KMsj8OM47QEIEF+dE7LPbkmxg/PQAts31gFJ5Xz3no3m62IuisxdrSXrLN8SYgr1mtDIwtR8p1Foy vgMnbz7h6ch5F50b53yunuqk9MFEuX5uEMORRcRhTqQRFnQzXIgNjlWLrzQ8IyZodgjiEI5j/hfm2 jtsLGmSu2xYww6Em1c+Sd7XPqSMSM0BgTy1Y9iUSaQMsmpIltEMs2Z+FvPcdV8LPGTs0uCR8XY70j Jdml4OVol/2E06Nb6eijodGglka4wn0K9TaSFCWA1YgF/306McxeUsk6Jgniwje3STV7G1K2gesSb SZObcOlw==; 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 1pG3hB-0045nq-0A; Thu, 12 Jan 2023 19:57:05 +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 5F208300F30; Thu, 12 Jan 2023 20:57:11 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 9180D2CCF0C22; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195539.453613251@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:16 +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 02/51] x86/idle: Replace x86_idle with a static_call References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 085AFC0015 X-Stat-Signature: knfq7nzcpytu948qoy86qzzsgjpf1ibd X-Rspam-User: X-HE-Tag: 1673553448-534492 X-HE-Meta: U2FsdGVkX18MV9y4V30OEExi5E2dKXkhGKdTjJGjUfVQe5rs4c6HChvbdjiezaCSnGHHtDHqv8lZdNe6qJRTG+gFeUM2BjUv5FXnK9NDPMUzRHKHXidQFYi4BZGbj7+LkVIaWs2w6XQAAhL0IP1o6eZSN+FAM12+p24CUYeos/gFc7tWb8jNyBB3ur4LRKoX2ZhHBI4uiu73U9uBozL4ql9k6aD1L1pQJUJN+vlR/Jedb1W9o0OVCbl5EKgwspBG6AnKdRGL4uuofuZTW8PSt3NPsB6jzkfu9P7WrWhiwzOzIsm8h4UsUQe69d9mQ3fIhj2mjq9pkglhZhoPQf8ojX4h8VEFYg/fxc8KCdhWLJE7Zcj5VRP4QZVVyCsEWNpIrQ3rTGBoF1qbQgt071RUFgh0C6aezrMnQsgJvOHPF76DVH08CwyUWE2X7fe0Q3aUx+m5BXwHO8UQQdBJ2uSJ8Kx+8BTrqwpjIxDiTsH0+1cie+Gn6/cAuC/E0W0lddSOqpFcNnW2RnhtKEiPooOMsxVBjhyzw0ZK3d1wc/79WacYPBu143Rs9bUiqaydNJodn9iCJGh97S9ZNSVGy9w36CpsCr3Haraf2zrxBuD+EE76eJJQ0w63+UOsYwxYxHgUqwvpvU6YsxRE8D32apbAO+WeMAIZ/ccS9reA4c6U4acG81kaxMgPstEj89KKKyXivIJtZcIX1AP6VM2JArhUkm99POo/kPKbpRFjeXY6/5k+ikrWan7XpBU9kteC7POIQCMar/GChhaBsi0HokbJxulbmMjkBGtrCy7HwFtYKs/z+UHM955LjmOoaugrf68jqM3y54E7xj9Ws6YYrolw2hWNPHcMul2inOLmkV8/dbYZSxMXpmM/mBzlvQs/XQPrxDLYcx7Ep6QFeErW1735oIbDCz0oeQFZM5t+iL7eiskF/kyqINhzTIhHeWfyLWOaHlNJ0oCjSUZTTfk3pi2 a5mqEbRY WfZ1uRUqaPt2iW2c9CKvJn3oRxpYAVYGRuQsJsGnBZ3gN2xhRzw/I0k2S612yQPDqxJkZzzKCxOd52/dHKZC3u3h9K0rSy1Utt7aGoxjbyQ+JvOe+GBp2PH1RTQMsRKwqRdkAs5u3xz79XFIMSnIWpik6nnC/MZB6DIpwr2Q/J3usUfIj7N9CXicYd0S4hbHl0J4AU/i5i2W8Cv5WE5Sz3zhq7FvGZKgjPAVv1CnVImF7VPb50eGKVNBWiF9nQnR+iRTRX0lCT40vSHyVACRh/wspa9G9ij0X/HTHIe9Lv+/XOUA1VeIcfluUusodITAwfrohjVtWJslB0rQy1k8zXhWt1NSQcohqc1YhEYlYJUuBW+68DJIRxQhxTewbX9ngcxUXvSY4pyV7ny3MxfsJj5gO7LUfYnl2bHuB7ToGGRr4ECliagtRK+N3aIqKdtR0VDDQP2fKnJuJnp1UXM5hq1pZSjYkcZL9NsiBGreWCF+Uat1v8ukMRnPcuVNU5+4ii6scdrFeHONsrEW1cruJC/+HKZ1cKYtq1gl0KYO4WjyIBtjV883o0bnqSlWNmn0UPBDhzLVIgLhVfZY9Up6eeLuawlgoYPRysPa1N7WBrhBNNSiN74exHAEIkcrg3P6qQBaAorEfa2euZtT6T8aQQ1LbnJAUCZ5xTafiy0VD0njVRWAD+bvhvk1HeZY5tC5WuHK2YV6CodMNZoiiE/Cg/p/nwU79LRXI6aq6r++TMIpe/hNBmSiVcvt77287hLJ2yqZKeWmBHXfuotBFMuZNXDP93r67cZkEeTfxQ953k6KYtDQA7DYKlVwYTHOHs7wFDEjkkULNmL5UHJdIgATK/rX0nAHLoGRDcHz+E0pavQqjxgk4H9U6mNs+00/7RL4gtu5fmlu/q5yKOIKez9B+PpHQ4kpFNsfMfLjRDEMvYJ+6+YMjtIppz+wS+T5X9St/n8ADnoLRPIxglaF3E+EyVt0/1nic Khp9poaB ua07SC1kcAwv0cPufCugozSVBXmMRlSQWQJiSUXb9rTF4cdpYOil5yZpEDf+xSCY7kx4HGTa1BNSMjBkB0h4OUe9dFhsIgwmuf18eAd/0EpdAxu7YwVlFF7rNJQBEDMhdQNEaDgDPRVmgRITZ0e2VLF0QJSo8PApWObGWzHEr8AXLkbDZS8OIAuPbK0p4uSkvhbTlnwSGMz/ESFESrGMh69MOn06mdQa2kE8VfpU1pVz/DA95SzRiYbcU2lOY2OavM0U0etbNF0bK6vUlJ8OzgEMzsVy/qBtn/2zGC3M3lugPD2KsEGa/JOaraQ4ZLCCcdxv+abhmwDi2tYxoONDrstcWDtOUTSMPYW2/g8wyuJhkJW4i/VO5OjD6VAO4pHH4yRGx14xVNQ6E14+Ns7iMxfmsXyOsD4bUhuW1uXKqBWQlmLwJJULu8o83OYVeKtNIbSCNvhG1FV5Qo++/HFrFN1gZ1AgnL7xMtLkh/9auOc5MzX/CLz5vtBOjA5QdxYzD7c/urSfMYEnt4aWo20c+7dhVUl+2IRGWHZ7cEdlAyJh66QYQhQDtzp/O5Tq9yoUMExBTCtRnMIipnK+XG4JZYAmQWEUxz8Vq4eWsqNRQecpQSp6G1g4lITw7nY/YJ8w3l/zap6ncyNOcC/dxI8uBPwfb6Utl2tUffk1y/2K6s4FtwSaYXczJyELclq9f+eY56deAlT+sbw58DQjC5Fml4UxnEp9Sf//eiDJrjLRfyTQcixuVNrx6m4HpvOg4Q1gdQCcCU8/RMm+69jht1/DvbmcR1C+xnJjV86ADj+Pa6j81ASFcC2u3mQrTpEXV5IeFDnNTUj3xH3SbgYdS7M36gflJD5Oq1Dp9/KRGlkodBrjIPbYgI0TzEzRPm0sawFq9CSwhAwiCBzwSPNqtQPDB7VJ2/Y3edxLhMkmxLh17bZe0WaLsRJhalXyd/kptOixkHIYTuJvy9eWqXtuODGx90jpSxd0Q tI7Z7AQu bdd++iC195UJlP7X658rHdgSj2I0D2ZCnS9ppk8jRAgD0g8h4eLsC5zY5J7X3oZowV2U22N3JHe+X9HpuSqP3w8KudN5vqHAHj2cVlZeaBZPY3KNdZ4vvqY8Xm30piiUy2j0XiNmoudoaY6ZkBh11+8xztXWLN/MFLm1/8MUtLAKByM+BpfoNrBznogME7xb6i9HXM5BX25K23acgiqufN6Mdn/TsX0hExLxz0c64NBnMUE/P/9dq/WHy94eJTwNm4L276eNKbCiPwAu8+FpztZw2uuy6I51qq4LUgTd+ERS2ysz5zKY4TVWUt01N3Vm5av0Jhfq9x+0az12thcpiUUGutjI7MX7bSqhKj3iHjXeyTzhIX2jLvnG34AySWyZrcP1N1Tb+07iSdL70G6cQqCM9lUYCZ57dtK3DMGDdGpB6dPmVdsDMRlH7aJthRx3nwsiIZ6+eCFZaVs8Kn3INlG5zdXZROB7W6Zx3C7oCnsqlQ0d52Atze8UZERH1rImshyWQ22jPl3G6PMweLNoNP0/MCcYxGPZGXr7iTdPVzlJQkH96vAxNx1wfcwXMNaZDWtBXHXBtZjMq9M4FnQewjj18qqDS4Z9IBBWD3P78kT49JcI6xriQS8A1UQyg6+JV0RpxpLcHXUGY8H+YkYn8WUq3dJPJ1FfYUTzZhp/u37gz8z/DS72ovsVDPKpz0LTVkFyR/lRUiS3ZpuHR0UBv3dBqCRqgzN2vqZqfBWHw7KOoNzXGNQ0hGklu3mE2Xj0emqaOOaUtTje/4xsNrGmogOPg1+Q8Qu5px0zyD2xL+p1X0pYtUawKIoxfRN0gn3vVE0Sk7cJuadRA97IhyDzTz07/0H1CZqQJBaSnJHEWxEYY6xPK7Ki3TzDOfqGmEMwy7bS1tbuz+PDliUL116xgFHwbzaBliOy6zuajlocNXoAOZ7kOFtrBjfA+uklU/6GFwvh8ovA4NNU7y3VToSIUntZ0E8JM 2vWMBLBK xYhcVAcF2WFfZbpCWPr6inng1z4h6MpQPwiVFqCIjkPyJGX7/lHLMPiypLA2ERU/ig6OIPd8GhEEyM3/EERr7zwEmUGV7/6s2OW+y09ddT4WiVTSltSdq53//IexfeFXsHuBIv+GV5XoF5klWrRCDx 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: Typical boot time setup; no need to suffer an indirect call for that. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Frederic Weisbecker Reviewed-by: Rafael J. Wysocki Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/kernel/process.c | 50 +++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 22 deletions(-) --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -692,7 +693,23 @@ void __switch_to_xtra(struct task_struct unsigned long boot_option_idle_override = IDLE_NO_OVERRIDE; EXPORT_SYMBOL(boot_option_idle_override); -static void (*x86_idle)(void); +/* + * We use this if we don't have any better idle routine.. + */ +void __cpuidle default_idle(void) +{ + raw_safe_halt(); +} +#if defined(CONFIG_APM_MODULE) || defined(CONFIG_HALTPOLL_CPUIDLE_MODULE) +EXPORT_SYMBOL(default_idle); +#endif + +DEFINE_STATIC_CALL_NULL(x86_idle, default_idle); + +static bool x86_idle_set(void) +{ + return !!static_call_query(x86_idle); +} #ifndef CONFIG_SMP static inline void play_dead(void) @@ -715,28 +732,17 @@ void arch_cpu_idle_dead(void) /* * Called from the generic idle code. */ -void arch_cpu_idle(void) -{ - x86_idle(); -} - -/* - * We use this if we don't have any better idle routine.. - */ -void __cpuidle default_idle(void) +void __cpuidle arch_cpu_idle(void) { - raw_safe_halt(); + static_call(x86_idle)(); } -#if defined(CONFIG_APM_MODULE) || defined(CONFIG_HALTPOLL_CPUIDLE_MODULE) -EXPORT_SYMBOL(default_idle); -#endif #ifdef CONFIG_XEN bool xen_set_default_idle(void) { - bool ret = !!x86_idle; + bool ret = x86_idle_set(); - x86_idle = default_idle; + static_call_update(x86_idle, default_idle); return ret; } @@ -859,20 +865,20 @@ void select_idle_routine(const struct cp if (boot_option_idle_override == IDLE_POLL && smp_num_siblings > 1) pr_warn_once("WARNING: polling idle and HT enabled, performance may degrade\n"); #endif - if (x86_idle || boot_option_idle_override == IDLE_POLL) + if (x86_idle_set() || boot_option_idle_override == IDLE_POLL) return; if (boot_cpu_has_bug(X86_BUG_AMD_E400)) { pr_info("using AMD E400 aware idle routine\n"); - x86_idle = amd_e400_idle; + static_call_update(x86_idle, amd_e400_idle); } else if (prefer_mwait_c1_over_halt(c)) { pr_info("using mwait in idle threads\n"); - x86_idle = mwait_idle; + static_call_update(x86_idle, mwait_idle); } else if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST)) { pr_info("using TDX aware idle routine\n"); - x86_idle = tdx_safe_halt; + static_call_update(x86_idle, tdx_safe_halt); } else - x86_idle = default_idle; + static_call_update(x86_idle, default_idle); } void amd_e400_c1e_apic_setup(void) @@ -925,7 +931,7 @@ static int __init idle_setup(char *str) * To continue to load the CPU idle driver, don't touch * the boot_option_idle_override. */ - x86_idle = default_idle; + static_call_update(x86_idle, default_idle); boot_option_idle_override = IDLE_HALT; } else if (!strcmp(str, "nomwait")) { /* From patchwork Thu Jan 12 19:43:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098752 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 448D8C61DB3 for ; Thu, 12 Jan 2023 19:57:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ECF928E0001; Thu, 12 Jan 2023 14:57:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E8020900002; Thu, 12 Jan 2023 14:57:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 99E388E0001; Thu, 12 Jan 2023 14:57:25 -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 818F18E0007 for ; Thu, 12 Jan 2023 14:57:25 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 3F7EB120DD2 for ; Thu, 12 Jan 2023 19:57:25 +0000 (UTC) X-FDA: 80347206450.15.7F6521E Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf22.hostedemail.com (Postfix) with ESMTP id E8221C0004 for ; Thu, 12 Jan 2023 19:57:22 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=XY7SfD4J; spf=none (imf22.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=zetob5Egrh+4xSqY+h3U8eHRaaU6Xv/VYHG/8LvUn9U=; b=y9mMxuicn+DF5027PaiO1n/QJ9jn+zc3urwmc89eBRZwVlBYCguxnir97puip/En5gz4Mx B9JRvqZxvRLR7cjY8jUVj+jvUckhpYKLi+OBkhpdFkw9nDOrSjUC089Rwe/BtoaC9Z4YZI snmbx2Wo7RGtxVGUHciKPwIjoxg9U0M= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=XY7SfD4J; spf=none (imf22.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=OQpvq+YONlTL3g9KKSvpMalmfnhOFx2YS03Izha187rY2ejg5fkT14p/i3tuMTp5tUumZr TqkQez0GRiqlWcqf+9I7ElhffCIxTsk2sbY2FOxD8Z59MdrO+XjjwbU8kVmChuGmWgixeF skVXK9uVTHLYGHf40kCkwhe+5ElazkY= 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=zetob5Egrh+4xSqY+h3U8eHRaaU6Xv/VYHG/8LvUn9U=; b=XY7SfD4JzAJJbveELIvdat/cbW E+yFFn4aNWAgBawJ26SoENVk9HjgjCyHK9vtm0DJHnuC5VDdB61ndo4h4/i7Q5MSw1rkqiTic4+xR 3Y4D5MUptZ7ITQwdJ+rd2ao7vl1gTwOWK6Sx7WR4lsMotsDZ0CjhwtIvhpsU+NDMSFoT0g5aNyvGa iMi4QJBO85DnX+Mw7tQFfzfNeRIKSpTPmFw5CM4c/Zo+olx5lzudeaiJOWa1G7jKsVRtgbLWqFUp2 QH+tfhDjHvNHMqws27xY0eX//Ypm8qtyiO7rXUI4Q4fOaQ8sTUtjWWcBaaRXjx9gG6YdwAkHM+oGP 31LcvOtQ==; 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 1pG3hW-005OcC-5Z; Thu, 12 Jan 2023 19:57:26 +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 9F135302D60; Thu, 12 Jan 2023 20:57:11 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 956222CCF1F48; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195539.515253662@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:17 +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 03/51] cpuidle/poll: Ensure IRQ state is invariant References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: E8221C0004 X-Stat-Signature: cq5yimk8bgyjaf7y1re31uqri9eekfqx X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1673553442-916715 X-HE-Meta: U2FsdGVkX18BGsxyWAbbtiYiAjXFglwieh8RIlAJzvnaqcotBkQqZaSRxIPzvveKsT755gIxtzwfPyFlC3uvDmljh0ExkzAzgk/zVeJGGEu9H2HKoMexNCYlHdUwvGdejlbTwhsDr0qZL9BNnPV3bUQQeHFbk1FI1D6KhMuMgN552aeFjfURH4MlaTMVtvDkkpu3ngmLNDiPHPRb3d2X4Z5ZJAgfBJWwAybEgkCPa1IQZ1EsjBsB7ljOma9vlER47u9S2eRD8Os+wU/EyAsUNpHivnCA/elMzLeEJfslEatiUGnLsWTh12tIKHWvpJJ1XmzQ3tz8r//1qON3PaOotaD4eAJT3VUWDqx2wANNT5d6MUN5fGin62ynDmi5fbklzErJdfvlOXT6dBqYJWghTehy6RjfWO0tGbtd5M16NiVOcf/Smsy5kvyRZ14qXF8VxWFfqAaZRHEQGEz4BS+jwgWnl4+/yKZcrj+7jmGWbbdunXy1ekHrFT3VCigQ0jth0+2GhvE59LKufOzEYNlw2f3dhr0VhTwoSC+Quo8UdbQLveq5jCpWPpL0aB7g11KJdebxX7qSB0TqX1iQRo0h/ixDWQR9ivNzKdP52f7YPBg1UDVqsnPCFnvD8A4MV4XWo6sXmeKjLpC5SJjQhnugReTzSyQNgFmbUuOPuhad0onbpV+2Xw2dKTw3Xg2lQ1lyd3dZKDeW3g09wCQOw93sydmYnWv/6zojjt+bM2UheoTNa+4YkNLF4e5lkHRDKiBGKJfw7xVFtwl9waNF+1JmS/ySh7FSTRc/0YKHtbddkRvxR4EUStZkb8ghVrIaGpv1o6sTC8l8W0pR4dagP8SQVGsj7eB78fYQTtAPzo8UA5X6XQkwMV++FwlmBKXcIQix0eUkpzEi5jlGByoo8Pk4rrNAoXXxk9fXXVzkDmueNaEXStgXEoeLdITFyazrt8v9sMtm5x/qYe3tm1zVm/P tCpldMi0 LDtZKixMMu+kkO4QSxmL+d9DqdBQ1ziuCwctyULv39b6QV9x9Ldh//6lbnE0IxNcAAGpkAn2wUJvNxZylWI+K4nu8Xg8hTD+5/xrHAOf2RvF+CzRayBwhoUZL2fQK8sguqGwa1HHr+wabxhOcwkd53vz4uppiRQtZIZJ1bRjxhs8gaC4iythDgFFZB2++f22+t/fASlRm8P0v1CUfQeoahvIAxwbbBH+uFdUbrujN7fEbrrPpYLqK/0GJkcHL48njoiquPTHF7S+ZA/pEih3G4EsX3xQizlGuYJ5bMuf+rUcvvO0EZGzo9dGCNEZzywPRRTKCAplfJ3/V3PBrfbd5cfnf/EGaIhg+qAXTGlwkFmotDFIkO+vei0mK6qVRlXe/MXDzk6eIYMR+252KaJYaLbV209sLXCD3FYF6WL/YsF+p3N1zRUZ9ms/xluL1aiJItf+hLs5Jh3VRX0OCZDselxNgJLLkAqtpU+6tvUVm0Yl1Avs568fS54TKVkGIxhNcK8lu1g2GVyQSo5G1s9PnTpPqbf3rK2L6cFoV+AvomZ/zDYEWvrmK5i2RzfZL+v0V/YpsSKYmp1GSVzZ1yVy8p461n1y/+LlAQhM7E2UT4PC45JvaYE8sOFKZ3joKiFeWq4pV0SzGcb+XQlapGE1e1l8mB2mIUXhMIb5UVeAZw+4brvLGiqgl/iMpyxYqveyCTy4vTUiCNdSRwySy0SRI713gxtSQZWrPw9KFgwcWeotSj+28UUc/uOzSa+TMxMKd1tFzk+C+9+30iVkHRbLIHb33UkTIUS2e6M0Vc91fQcuSzKjiwjavpNmlDq+H229378NYe1cQOSEp4FZMag5XiT00rpPk5RmLoPYQNoKD2aHnZ49IesjudJrMCzOElGckmG/dBp3qZKauEkC+/rknubyFR3iLDHCbOq89tkf3HXF0J9EVr4u+QatZtFO7ZYB1gMfftCK8HS/CmVWJFG1AFIhomI+o nySPphtV rsFpTzED2P2Uw1ZO/71TRTD0+SRmfXmPu6iGtVFPvl1D3a2o3Z5hUkY0aSlPcND+lbSBnKu5yDZTTL/LOP3d1cASb1TSTtyyKJMRyo4AzvUGrcSOliHlTAFFOuu9OHvyStgRn4017/iSkb7lM9kX1IJ2OTj8SHZR6MVLDfsc2heifE8fr8INfxdm/7ko8jhli7XWNQB/b2I/tjodhMntO76sz0pC1JVBxg5TMOzrb2FkEowjePRirb52ra2JS4MXWWZhEx2DoWEQJLyY7/6lVRmGVXf/O1QZsnk+ri2mYNnhFtNAjB+McpCQok4BW2m5AI9zaYLrizFW7Jrr6bUNpWZPx6sIQL27E8yn2TRrVaceKFa3kNTq6+kGdWw2C0F349mu9u440gufQ5UHTrrpA5RPw/i6sfoGm/5oR8lAqiYpTJDK+NuoQAz8ABPDHtA3cxfgjOjW9jsgdhyyIjFDF+tnFe1ebsDOPtqxDHyWcfxtDZlZtMoKrzgJK9dqgKzp6pQ+5H/TodFtSiuJ1gMtaYFM9E/ovzpV94PlvbuXjlAnLRUbpuceW1AuJQTqof7kmvr7h7nVuQBU9sq4pttZXi5mHWWtP4UC4j35r62n3Tlt6xFLenTrfYZpJBe5cPFH9CrT/9U1+tKwc27WDL4HGFqc9g6Y9FpuniNoCiqs6n+G5ZNq8/lUnWBhWNBwKkUrKXBZ/KOZeBQ/5p1ih0/S1fVKUbBbPyyk2bU5DaoSpzFbGN/5nwVyBCqg2atfpgcxz/X3xUXc3fxYyQNroJ9f7/ZAzTmxfRUFRF0JL9EzaLOXiYoNvpVF0QlJCTgG/wVjbgVfLLvJh2MzQnQVVVUTTGX4spdEK1PEYGdZIQlzOcO9HiyFsXvcIx/V8jOxdLwg3wlVHJO35ZkNBG/CTHtdUauEf7K2QtLeVeoQ1Jdo/oq5LfT7F/O3YoieDLks+13hbrdkWWU/BA3Hxnz9jsg+vFQYn4oNo dQFDuYae v5H0Of2fOv3xaduo0QUXx9C6YdWrZtOY3cOvZ+W5gXXvHiSRg1YC9vHDnJGGOf6IeFSyoHOkdapipyeguzbFXEkd9YRhE0504xK2JkjrCS9MIgqC6YcD2XLljm89M4mk7y9bpfRCupHXYdInpO+82hYDed4esIRHH2UqZO1rKNZyzBD++tx35+x32R+P6gAYL6sqab0eyXtEWgZAPgKqEABeQ5uvpY8l82UP6r94fA1bYVX/RDf4pPTuJxvEsgfKesxJZ9DFOmH3K1eMaLa2tOAZ7qqcXT1Fa9Z7a4zL4FyK6aFOJKeOyr0TNsM7MPO1AiUdXnlmxtcLE0gPuE/NUPWmz3uV1Vf2c6NgrG0ssvIlI6yOkn/hPh8XvATtOcweYQWIa8Eik4Ny9jJlQ9IM6EMFtaDUTupeM3mR5vCUHhHcdVFV5oNCC/WWcywVaAmV4wXaO5BLutVNrcGMA54fuMn+Bs5VB/u3hSJfvD9ICEe62N6K+UkLyiPlWhwuDVdwphRj2mTnfQRzRAM3el71aGfmv3LVvYzSxZhKEC4nl8jI2Ex65OHI/HwNahi7bJZA4svrySp0xFy+Oyk+yzn+WGc7EP8F2nKgy/p9yC46I/cUZS5Iv62qUSq21NAGY6aqsExn4xBHd1Ryf1ISY4dNcI1Keae2CSW7gSOWvMfKDaNnnfTh2kQ1F7yqXdziOphm9ND3d4ZEadLXJqPUSlAwsAXKvzWwqAY8QmfipW4fGAmphCcCgg8zgnSrfUSkb3Ic5laqWu39+Y22zEgpfQAq/t9nZA/Hj2xQLF1kx90m3g7pYFtWBK/z7cptZzwrsp18EneaCINUNnyYWAHFpHDCshjaBdZI4+0EarLmLBhWpKehFFCvP3a4lU3zeG0o9QTFhU/n6VH/cKMU5o0U9X2Y341ucAWPB/WRkZRpCj3qVbAGSGYLXNTrYq8adlpdM2+ajFgokzqdJkZM0yZ+1F6D351+p+Z30 EnEhN1wt rVrmnTovWylIGfGdMLfBNqAxPpvvsFURLoT4nZ5ZUFzZcJazljOPDW6bPtJHsovkXa/hTebu14ZZxIJPYmE1hl8wYmSDG5RPE1uPv5PNAy+w== 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: cpuidle_state::enter() methods should be IRQ invariant. Additionally make sure to use raw_local_irq_*() methods since this cpuidle callback will be called with RCU already disabled. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Rafael J. Wysocki Reviewed-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/cpuidle/poll_state.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/drivers/cpuidle/poll_state.c +++ b/drivers/cpuidle/poll_state.c @@ -17,7 +17,7 @@ static int __cpuidle poll_idle(struct cp dev->poll_time_limit = false; - local_irq_enable(); + raw_local_irq_enable(); if (!current_set_polling_and_test()) { unsigned int loop_count = 0; u64 limit; @@ -36,6 +36,8 @@ static int __cpuidle poll_idle(struct cp } } } + raw_local_irq_disable(); + current_clr_polling(); return index; From patchwork Thu Jan 12 19:43:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099350 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 DE811C61DB3 for ; Thu, 12 Jan 2023 20:15:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 770048E0008; Thu, 12 Jan 2023 15:15:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6F86B8E0001; Thu, 12 Jan 2023 15:15:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4611B8E0008; Thu, 12 Jan 2023 15:15:14 -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 286C18E0001 for ; Thu, 12 Jan 2023 15:15:14 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 0A516AB56B for ; Thu, 12 Jan 2023 20:15:14 +0000 (UTC) X-FDA: 80347251348.22.B8B7509 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf01.hostedemail.com (Postfix) with ESMTP id 5820640004 for ; Thu, 12 Jan 2023 20:15:12 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=FtR6V7iB; spf=none (imf01.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=1673554512; 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=Xy9+JvHHctWh2TNOLRKTbmGfpkTQoSEdFlJnj8l2Ws0=; b=Qh7k076C3UidII23vH5C6+O0fvX0flPX5kQKMTsAblLdoO5Fjb3pwrsJaNSfvyefIX9nPT 2QHOZW8ug1Nj++1bZHlQNECmYES0861U/FtCA+2q9HGlULVrsGV0BrvUBlAjmGe5uURqm4 PnugniIpMDMTidL08y8DODMw5IKSZgk= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=FtR6V7iB; spf=none (imf01.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=1673554512; a=rsa-sha256; cv=none; b=JffFa2mOCnrKdp32zG0mXoKatWxO3vBp8Qpts0vjXRG2BuUo+ow3qMQEMuHSIINz0bY7P6 RV7mWhS5g7y0ivQWlWxmpBsF6x9PEI/MrH9qJLIZGr+/zHOj6HY7c7dpbcRazAF19hWZZ3 rrAvCXJLFGgz806UJwapgC1DLpzADcU= 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=Xy9+JvHHctWh2TNOLRKTbmGfpkTQoSEdFlJnj8l2Ws0=; b=FtR6V7iBnq/tJFzxTCM/j78unY /49Ec+SxLqZvSLDvUDxP80BJ6CshhnFTYKUGLWe52tbZI+g3IT66NcxuF4QJLpXQFqUnB8IYsx7tx rvkkcM1E63xXLT0vxkkEUcwCp+mVujqeEfWYa0bi1HB5/HtroXhr9t67Q2WalkYHntgPdGa+81VAW CoQSxFuXnJjq3lUVUMtBhxrXycskxIxMnWpscRtmQgQtCtsvQQolDB8Is0Qb3ixSa2+dLSsu8VyyZ Ux3DSJ5librNMIilmqzR2tChKdku7Xq+k9WLJD67Xsi7/M3iylmdycXuodbdivvM3FwM/ipJb4qqQ fc1Tmr7Q==; 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-005OcM-HX; 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 E0BF73033B9; Thu, 12 Jan 2023 20:57:12 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 996452CCF1F4C; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195539.576412812@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:18 +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 04/51] cpuidle: Move IRQ state validation References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: 81w5s9mjsy1fwf1tziysxoae7t7d8brs X-Rspam-User: X-Rspamd-Queue-Id: 5820640004 X-Rspamd-Server: rspam06 X-HE-Tag: 1673554512-927362 X-HE-Meta: U2FsdGVkX19D5VpoyO6m18diqv1p2z0m/4pmFVNRIV226x10cay9cRocIaEj+oAW9nJ+RzLOi2TvqsU9ynjMwLuggyHzctwxGy2HbL+GdGtKV9iun0xWX4q+ZjWuHVyJbdE45D8tauw4op51PUsY3/TT1oj22YZlbjl15lLVfD1r/4x9MPe6LWD+eIlIMC7uxl3605jBvIy5LXC3mFDV2rfQa0yG+9kgyngB/OiZC646Teg2INyzoHpekA+CU/r43ysVgzQIBG3sOxoIkddLyddeRnu1fQ+zDEqB9l1VgV8OJvzukwZ8BRRqVbJbXY0+wZgIr0olWe+zkhDxacBb/C6CG4DLJKJDxJmQTEmfWzZW31DDqmHH41tATA+k2qtJktjhtblvA0Z4j5aIpcStNwl4FhsRD2giJvcM5hMnkwSLBRTF66ugUgR8rhMJ3Tq3urpbIQjvmI6QQNu6OcdjXiDxczdcq09wqlTLTS24hMQgJRYNKqSEBAYBmXoP7DkjGlyYx4B0Vm14YwM12m1weNT5HsJnUWokoP0XoPzeRw5+TpPmtI/tCav4K0yViDPJ8MeSrV2ctkvzT0LeIvlzyti2oAK64ZjJdoiohHFn681PKEZgPsafnzrpjAPVDVEs4twoQaotRcHLiH4WtWBSNymceLA15BH7DuxyPgxiaaVA229NZpECnMcDGVtZDtupkfirKMLBc+qoeIfa2pygO0UQSvmdElpMVIst7Az6A3jSqs4hVp8UKHZFSiaCLoJrSqp9mcItyus5V02JjtwGPm45bRpT7MEGAbcWdvseQ4DDWmX+IifNM4D/BUJWK0mquZqFpwChAa8z/M24TxAR8sBDrsTIhQ/z4uinsbwRxjxAnPwG0EnDlVtgccjtQc29f+Npq7b0zXoye95ff8JI/xKMT4TbCusnyDlwOE6QZP5F3k3CNi5JO21NFIziIKDfq93snr/3TTZaVO1aKA4 idt2JUwv i/s7AWUdbDqBwU8/8wRTGhLOfnEcyzygJV6TD12IVzH9UYFdmtY/aesXNGZ0LwrEcKBSuoxKcGikv1eQLemirH/F5G9Y1lcT/mU3kxi9QiYz4kQKBjpyhmFwFUmYEFboe9iNv6fZudisEU9337wdPnA87wVyGFNavOEjnWfSNyGtASRlFwSTw5YtrQ8AuX/Au10A9gzQwxx7/1BfEX+u8i8dU8wTst/0Cn26tZWjQdN8OLEBGlVr0lPBqIoRWay9peHb0jaGbn+iHH8bjsOEAEAQBEFcD386HQ5QX8K9RnGdC5d3Rc277kWK0k06VN7z90PjgESP3CQKsKFy6Y0+JOSNLwkjgDZpN8ABpZem5BhJY11i61wMdDa7/cTSt8l2MEtCUYLqflt2oWQQlk5C3aJZE+KodCHHMJ6drpRAKPlc3KPODuJSre+SThGzmiU7ZkjMdjhS/ZC5FQMqVKsSMfFf5ftC6EKV+pncTq+qJ4Pg90OCeuZpsfNb5xe6cH20JwWC/1iXEV1biGRFfqovQIcKEZ0E/0M5Yh1W5zUlJhQeBr1xmklaELNs6mh04k0U9VoBmymRstQafdtG/EZN7gwxXPCt2NUd/50kX8rLCmiLMNAzB/P+llQBRb4ANwlsiU9/oKlbg/loZcshemsbbU8/hdcssDwYEAirMx1qC7RUEAr9k4JW1lKwx3rJiOCk38TvNAsKOD3zKnxAhCVxvQrt5EWhdt4mwP30tE4RfCArwnuwFqLZNlebkeXtyFv+uB/mNnPjIZ93iPvXR3Jd9YeR3Pv1gGMXnm4EvojSXO7PFHF9qymAjiTIGulmRiQuuyRxf4pdIPyZMH8nYAizJFpzh9MzmvGD4GCZ2LtQzV37FXYRNCtgo8WurYrPROAOac4r1bxVPNaaTc/PXRwMiNzEq8kcCJN+nKguRLOO36YwD44svY9M/cbmK3Vd36mRhoqIOKjO6AM2QHs+H/0gYLWystQKd TCDKbO1y DHtmmedp9k7lLDoN0zuz8YRKpkqrgq7rRJqyhQY1lPsdG8XIzPhDsWy41OG5cuxBvFjGo15I0B1iDdCZDQaT8BnJbCzyyqXmiVwHu1XkyaxLesQyHt27TVXMGrVnVpDspbr1u3VczKx/u3xbdHlwK9pCh8vLEBYkXM2F2+Uz4WabfW4BENwfp3w1xYl6dFq/+nW/Squm8zIzdm1DtQhAmz+29upaPopQQLlNkFwYzhwjaQxcsPvGECFKyGIXJpGWbve53MYzem7SNz9gyr9N9zRhxNdAgyxYYd+gDeeAGDW7RmL5s6qOuLyeutr9D9YtCGpcLULyfW2t8sv03/K5OEMIo2MMnCZYu42EpYfAMijwb9qD90HVOUhuFntc41Q8MGDrm+yQ4qTcGEwinlDG4w+BSU6tjG25IKl/aGTdp7Py1aG7w7i0qdPpvAseMOVps8QqtZPlhWsh+k6cHt9gHwhNzhwkm9Gwz7crnCPPm77xYOoFzJy+GUkIH6zGrGwvC3iaPtoxgaX1R4Ep+ZXy9h0/fWpupOtivcb1wUeBPhM3s4qDZDqINtHQkOGLL9nvRxkxRjWeJ/4NZ59TkOsVepFsiYqTmGmMnMrBuj1xqVyS7rZ7PTLFxjvhEeVcxKp7BIpT+l5zp6IkgUokk2byyY38TXIinH2AONsa6I50dNQwxwGjLR11cMV3FhlCY4VkyFc9NzsIsnZnZRkISTbLkilQqZw6OrOn6l5aTsNTp3j9U0xv76XQgETNWIq5gCwXiyTLfJGUz06PgHl5ZUUVACNHqom/R2ekwPMUX3A5Rmgt9OSNAaLywbsPYLZ7+AB8Btarhu3YdVWuooxo94wJ8/3UYgwNdRZuPOHGppOpaGJqjucDqEyz1rTJGrskafAbTJHgDbX010vOf0KZWrqZa3bnld7Y4iIf2/Ulv4VvaDqz12DN3Yjpdz4SbZDtsqyR+QpHvU86IDlSG0QUXxalzAhqtloSb 0TZ9hrhK HVFMdbLkg3LHilRa7xnFLY+I2qz3JYvJQm2AA75LURfucxRas9cBHVnX68e6zWk1iIrVMiGaP8rJdS6qM5OBOP1kbYKK1+YyLNtsEk+GGAZQEw0Xj2Jckhex2K/es3o50KEKoyyt9GOEwa/wtzygfJEtsbYK7Cf7yzeanNBOmn2P8YHXrBPeJzQJ2SxKFw+fy691/B1V0n8xJbDJCTVjDOcR9/6MkmY1HGJXFyIVXg//YI8GO/yPD00WTEYLq2aHVkQsRwFDRWj2bzBvB3DrYPGKhFzb3VKSvXkPWBxtmBruNWIDwiE/CK4XnLbZ0CCs9TKpKdwEhUjRfdr1tPrXdhP2s4FJx5OWRYy1aw6K60vf+PhuUNUX+mD5hyKTbCEA+5KGnu0RW9jKuTTU+AWETcpCJeiuosV0fpk3SDN+ojz6AUvvgjW/6z2hJzbvOMXU32bVlBe4K2VeZSp9O8mJtRihg6yZJl3DCCo5F0jzt9aNjtrmrRgfzFcO048c9QMtQUT7CaR+hqsUySB5Ze4aAtTW2pIxZgOIHsCPS1QDhHUVf9M8IQEJSLM+T0gDC6OZdnc+VHxPn4M7b1Xt7QxSUE5Ubm6KOZL6ajzKnQnDo3kDwKLNG5W1LrsfxbsqfNVnIxX5iHrIVebjMpkevqiEohGJkM3JJou3RIEXZgVPY7OP7HZOSl20mtmyizD3TLpo1meH0ZLyZCKKt+56jh/07BXdkCjmv0d44MO/Srf1a6LOH7oeAsoASnDRvyIbIngKiWRKFHAkmu59FVqmTVCuXk+629p2r1DWBW8llANX6f4Ox0OzAqfcVxhhUK6/EcwWw93D8TYEoc0OZRrCR1sZiF/Z+n33JqMgS6fE4Qm1REC9YQVZy39GnIAF3GrfTvdLSNGCjrTyaI7MhXI9AlJcC+BakZnKQid3m8Mk8JJHg6NR5a2hZKPKosfJh54NuBlr15e0M7WxnhPjAXxxRjEgsONq5hTW5 KsgKLLZy 0HhPlzbD9f2Tm3o3ySDlCR2sgCmaWzudA9YJT22qH92cKAktQmuR/O36DF8EuR/8GORQ+SjgKqNeeIYbpx2isnhyyY+mka3Py4VSyqYGPs1w== 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: Make cpuidle_enter_state() consistent with the s2idle variant and verify ->enter() always returns with interrupts disabled. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/cpuidle/cpuidle.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) --- a/drivers/cpuidle/cpuidle.c +++ b/drivers/cpuidle/cpuidle.c @@ -236,7 +236,11 @@ int cpuidle_enter_state(struct cpuidle_d stop_critical_timings(); if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) ct_idle_enter(); + entered_state = target_state->enter(dev, drv, index); + if (WARN_ONCE(!irqs_disabled(), "%ps leaked IRQ state", target_state->enter)) + raw_local_irq_disable(); + if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) ct_idle_exit(); start_critical_timings(); @@ -248,12 +252,8 @@ int cpuidle_enter_state(struct cpuidle_d /* The cpu is no longer idle or about to enter idle. */ sched_idle_set_state(NULL); - if (broadcast) { - if (WARN_ON_ONCE(!irqs_disabled())) - local_irq_disable(); - + if (broadcast) tick_broadcast_exit(); - } if (!cpuidle_state_is_coupled(drv, index)) local_irq_enable(); 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; From patchwork Thu Jan 12 19:43:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098753 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 0C44AC63797 for ; Thu, 12 Jan 2023 19:57:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 279D18E0008; Thu, 12 Jan 2023 14:57:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1AFC9900004; Thu, 12 Jan 2023 14:57:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A8A7F8E0008; Thu, 12 Jan 2023 14:57:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 797768E0003 for ; Thu, 12 Jan 2023 14:57:25 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 516DFC03A8 for ; Thu, 12 Jan 2023 19:57:25 +0000 (UTC) X-FDA: 80347206450.16.FF4F125 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf17.hostedemail.com (Postfix) with ESMTP id BE98C40002 for ; Thu, 12 Jan 2023 19:57:22 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=PpHISELX; dmarc=none; spf=none (imf17.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org 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=Z3KKcWa6kIo8XxnBPrwezUQgJ6x9WmWZQX/flafg2tU=; b=crWkSbtNpQJRbuKakxoiZRciyG/mlU0he6sKY3yaGnvuqONPECsFb12I/n7wnKuq/ZUxzO FOYNyfzBWChE/Iroadrk9UbEYMrjXYH4qJTW7Co92cysjzvu9HTwanfjTUIjso/vyTqg6h YqbztNl+6GfkjJq6HVhmQ+LpMcKeu+0= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=PpHISELX; dmarc=none; spf=none (imf17.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553443; a=rsa-sha256; cv=none; b=o2l+g9jwqFZ651heLb+B5BEgIY4Nne+Izg4y+eHhS0Clt1A1MY8e4rXEre53ihONdLTllu YAl9gHBqMUxlbq2jTyiqMO6/dS3bwscEUmKIgy6+z6deJDl/GxYIDdq580HP16ReHpfKDX P3iHTYzz2+NDv6mP4fcql70V8wCSmLI= 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=Z3KKcWa6kIo8XxnBPrwezUQgJ6x9WmWZQX/flafg2tU=; b=PpHISELXEmnMHJvLFAt16OXB0d DPSGScXaLcWEZ28c+crVEelhP+2NctCyeJdqyEH14VNT937QvaCtPAT1SUKwrARUTyZZPN/9eNb0N uBYDeE24g3byzsfh/5Ct6sdoJZUVTepI+8uCWJIEqNlajiNKddekUu7U1Xb+Li3UjgEkSYGgSw1bo EcmAdpfUVjMr1DpMmSS9iZVU8P2OoWNhWBj+ZOzWdPEE0bEMxVs96sP0ZCKBSQ6IhlV36k/oZtssk ImqoJMqVIwHxbSBtzvjC0yQnFNZYX6rGb5Gd1lIRsPHN44o/4fikx4Sq60jL3JDvn5ueQX8YywLDn WavqFquQ==; 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-005OcP-Jj; 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 0262E3033EE; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id A39622CCF1F58; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195539.699546331@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:20 +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 06/51] cpuidle,tegra: Push RCU-idle into driver References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: BE98C40002 X-Stat-Signature: f4hipu9w7kg73tg63si8pyngtrtsmuxt X-HE-Tag: 1673553442-438442 X-HE-Meta: U2FsdGVkX1/qocYu2HF6m8aE+B3BLpTBNy2zzBD/bMDK0py28M39lkuUVXn0Q8b+nOhQ3VsGsdRMysUwH8vqOMpCM47T7Ee/kxwjB+VJRqE+bM6xzN65nEP70jnBvMIy/4h0GsfBWMxY0AVcZJmC0d07qfGJHo6EE15AKkkwRt634LOQNqbT7T4tUcAl0eYZe8IAX5uXHE9fzpWBM7zMa6ZkvmFHBrX6yrTg6zbAb2CIp468H8wf2MpaYs1bObods7hnneKDJhgpjyvAt2Fp0p938fIQjU8dDZ8EBdwtCqWgOIvaZx7gORS9tDJIKGrhWTiEq2W7FDJvH8F7m87cvBIHNn4Dv8/uSrhD63eOKNL+2sDag+Gg9ZJBmcz5gHDwjWregFFsbuEvypXqjsZMDlH+bnxaUzRyJ3BLvb4c+Raf53rPmzvpvJ+zOUcpd6u3biVOWiuqaBEiEaUxtd17N9SjsEuSIWYQ33MmcmB7eEWHmLjkw8G5HpAqkE6pI+f6mzCW5GIjcasBrddE0atmo+3feXmTzmWspg8v9C/Cg2at+oaCJw15t4Y1G6Ld/ujPUBagCJDLKP0LlqDLUh//roHaAeKCKDbjcO/kJGWPrjGIBvBuxfs8McpQgvV66IPqre+QFxwncOTEsruLdYP1NEFmOAqMUbqGUX4uz781hMgdpXU1JPafMGspROux9/rEgL35fYdgdYFgZn1GpQlOjd8hYXvtoO/JxCTKGtR6UiK8O4oy4Wx8ZnJRiNSIn4EpJzblkhf8MZCulKvniRURSNRrLd3zV2zw2y7AxXH5LAQEzljfvCcu5d4CA4RMrdfhoz+mB73nVhPgheh3SSNYRaM/Zaeg87HaEeh4tbXgMgyEPVuDet41korbyaVwKsy0vSVoEyHa5N1DxKVvfnTXNn4CVcUr3QKBcBLPzD/GXdxBe/T2fGvEtoYASc4/6gUYvhcqiPQ9HtHV7frBT/b 8LcbICAh KEqaqc3nC2yV3KGtbzhJY9YQgsnaE7R5kh7oFoVBuQoMmG6np9dQy2FfOGHB0s72sGVhMENFAUtY+RcK+6Ya3sRj6GIii0WzFK3lbhbxcx8h8SLwJIz+Ejzka3gbvfJwRr4ryMg+zFbOLOOd4MA9YWu02acANyVEuGcEbSNiJcSGLFrwKHw16Ak685DjsRnJg8bPqw5OLXWY48S4NzEHDB7GH4UK6jgOGu0A5m3anl/nSZwuOJLqhNQwfnG14tXRnxXw9Sm4i1UHf5xdIOo+7S1HhQP8ZKuri/oRhNdr7ykF1Jm0D8B3stAoz2wM25+bVs3YXlSEI0MoLd+TfM9FI48ZaS8eDddTC9pc3+3VSlOmvClNat7NpPm9MjNRt5Evi96zv571Bt14Ku2e6mBbLx5JDzryexqVwiqf5MHW8z9VF7K1a28/kj7ZHd8LvjW8aRRkqHP830Xcbd3ecyC+HGt/Al5xucldxcxSqx+NVShMKaXlhKERLcW3t1sdmuo7lbTGthd6SLKOMFPnS2Rsk2AVI2GiFpUeMVRkzXWbxsvjvHW1C+47KR8fJB8eRu6RJCEZ2HWZXsvnkhwQiyXPO26uKZN35bK6ealn7hNYuBzygv3PDb8atECdLJ5JIPKIdr47e8dcvYq8OJUmnqy2UFw8LeYVGroNt4LHwge0UF+xbWCQkgAPptJVqxzR2BnkdvMI7wpSw9/FG4fx3vQnIWtbzOf49TH5GsrpuSrPJSH0QdfBW86J+4akdjqpZFMt5TJH5WE8UaifV0jqcIwRj9lhHgjXR9sTx9It6hheC49i50Z0kAeIiUCW+03lNYxUoWJuDZ0L7Fs+0bUCgnRjDeMmjjY/xF6+JSoqHUaiokCqXUa6Qr7rgHCkbO8zPPfWJWJNFU8FIf2jvmJzQXuuB8v/eu+mrA1jmTwLM17rUZp/6faTopHG5zPOzc8BiolWNhSE06E3l0RQeMviLei6cV025XELO roOPpKfo ZynFyd5myw6lMoBi6EwibZt9IUvxFmFFBbhA3IF8ZLr0PjYBW/LgOiGHUPlbGgB8z2XePW4YyR8yUvAyd6kVxT3B4e19n12+jp/Veyyw3m0nlmeeryk0zZ4nDwwcKHtDRBcAidhanh/pWc1tWSz+KwnsTClqDJdxWXwDtGb+JRSizat89/Is9Cjq4mf/Do0li2X33uBnjnX8Jh10owRpfq2kx2mno/i2WJFseetuWMujy0iOWazEklt2jYP44HeZAzZYF7OJspT2Q678Fm8ZSbaChwyOwBHl8W0n0BxHmmi7B3pw+jxtR7bVJbwcHnFMOTYoY+fGvHa715gSGRP4QK7ugNH0+gZ0f2jfs3T25qSr2uwBvT/bbLQzgFx92X1+tsWu3dA0S2cABzAriGgBY4el71ubw2ymdjB4dCpjZGqewjN3A0sMsjQm+l4ah8twQmtb9oQZcm5VDxyXaGu8IRzCQUeOX+621mCWfwPilvK7gVTfbjqmN7X+OnfTDmrsir9sxWuxK+cLEUG1CSsyQ+3E7seYiN5nmOGB4lkh6XDK0pQzPfKy4EJ9V6PhBZ6RQehb2UH01nXc7P71QVLmakJ7a/BqZCYZBNQslg4ougdy0xu8ITnNu/Lb7vzKxaBusG2UbbWgho4bjDzK9aXbDMADGeKJUkQ3JH1KDKvu2O0jq/3XqlZd5l6SR50QaAjvT9PAN1n73rq4ekTveobK+Xfc+BIaE0sJyawFTCAsK/eixzL5JUIMwirWN6bpawhxaRQDpPfNgb0toVksb0B0yq8n6dRHMlyqZs5X02yFIYiHWJoK5xjLBWJ8aAlYXE80wbh9S4J6uLBWTBbaxC3cyVGSCNd2E3H4oWj6RjYRp2vleaU7v0llRVCuRK+7ZQw3qEUco/+KUGrBsUQsYp2oOVX1fyz/V9UU2QYcMGQNhZkEIMcvtrEqkErOT8y3mYy6ZsPI3UKqpWl2qGLmNkvgt7JMj2mlU 6iL6kvkd TNu2TKkYrhx6f/WsyHu721uUs/U9KxzG0CWkG4HeNvMbT2jFK568scLyLXM8EtAUkgy+/5hSROK6L0Mms9zpjqPsZOyzpJwRx9WmEd3cfA3ZHIk7sWtZBr2JIsb0q9srVgMH7txbXRlZcVsyYr0pXJG94dKwtGFkEAHTfHyDg3Yv32sgimhN6UgvMNj2Wy4r3puGRqB/txqu3NbpHqqCwH4tV9C17mBm3qramOOv9qPQLQQtj+CNawVV3GA/K29Nlr8wlXj3QFOIPTDU8c+kA4UJJkpieUVtIOkUr3in309OuWGx8hmfD4De8pcMa+1IIcNuV2DFoMFKhCnez1OgKIQsN/S3ONyUHSkblEyQ0RT34dk25IAIRtePTZedrvUJPE9w23ZRnPboWTvMJ+0FeZn/J7zR4ECP9uxqelBR+19f+CUzxcFlnQ0L9QVefD6NbPV78VyfjubIEpMSPBsunB8YIv+nznOkMSSXwsy9hDabYxEvJOz4eYsCBZ5tUtqLe/L+j3W0wQj9vhoBi56dedz7kaztRNZgjSvGD9+TkE1Ro3U02hPmFfKK05XpZmkgQnUJM+EdqMAUyqHaeCPog5E4Usdb8MCGEwB7Uur9n/n6dz3YQiYQL3LWO+QdchVVAaWYye7+0u5A9nL5P0pusYpfRu8ZbhHQ6U1tutPbXU0mCIY+yK5sC0Z2oOf4y9Pe+jAz8Ym2s9aMdD/UGaC5PSBx0d2HvK2rCzUW2q5jQS/FufsooZnges2yXUInibHdQ8H267ufwR+AEKQmdwlk1yPRhm62Yz5681Kl+6HDcA8KUJMM6hTmUQ0p2H/bo1uKoskrMT/UDAjyO16fbJqphBqeZjPqceYuI/FhDxKMzruvS4NJJ3hlm6Bq6/kwFMqMP8bGn8nlwqXQXQArOGLe3Veu5DEghSApAKSb7dTT8tXslY/eLRhrKUT2p1HudgnjaTK4Ty552pmh4qPjYoJRSga6muG/4 YANtWOQG 4ho3q97+KDzNBI+UOyPtsn3Vxq28QUyoHEgCkTHsf6Tcii3LCbkXtOOiDsv29wnIirH4tjENb35iKHTPSIcBihgbwyAIIZSTAU7CGcBnHAmA== 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. Notably once implicitly through the cpu_pm_*() calls and once explicitly doing RCU_NONIDLE(). Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Frederic Weisbecker Acked-by: Rafael J. Wysocki Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/cpuidle/cpuidle-tegra.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) --- a/drivers/cpuidle/cpuidle-tegra.c +++ b/drivers/cpuidle/cpuidle-tegra.c @@ -180,9 +180,11 @@ static int tegra_cpuidle_state_enter(str } local_fiq_disable(); - RCU_NONIDLE(tegra_pm_set_cpu_in_lp2()); + tegra_pm_set_cpu_in_lp2(); cpu_pm_enter(); + ct_idle_enter(); + switch (index) { case TEGRA_C7: err = tegra_cpuidle_c7_enter(); @@ -197,8 +199,10 @@ static int tegra_cpuidle_state_enter(str break; } + ct_idle_exit(); + cpu_pm_exit(); - RCU_NONIDLE(tegra_pm_clear_cpu_in_lp2()); + tegra_pm_clear_cpu_in_lp2(); local_fiq_enable(); return err ?: index; @@ -226,6 +230,7 @@ static int tegra_cpuidle_enter(struct cp struct cpuidle_driver *drv, int index) { + bool do_rcu = drv->states[index].flags & CPUIDLE_FLAG_RCU_IDLE; unsigned int cpu = cpu_logical_map(dev->cpu); int ret; @@ -233,9 +238,13 @@ static int tegra_cpuidle_enter(struct cp if (dev->states_usage[index].disable) return -1; - if (index == TEGRA_C1) + if (index == TEGRA_C1) { + if (do_rcu) + ct_idle_enter(); ret = arm_cpuidle_simple_enter(dev, drv, index); - else + if (do_rcu) + ct_idle_exit(); + } else ret = tegra_cpuidle_state_enter(dev, index, cpu); if (ret < 0) { @@ -285,7 +294,8 @@ static struct cpuidle_driver tegra_idle_ .exit_latency = 2000, .target_residency = 2200, .power_usage = 100, - .flags = CPUIDLE_FLAG_TIMER_STOP, + .flags = CPUIDLE_FLAG_TIMER_STOP | + CPUIDLE_FLAG_RCU_IDLE, .name = "C7", .desc = "CPU core powered off", }, @@ -295,6 +305,7 @@ static struct cpuidle_driver tegra_idle_ .target_residency = 10000, .power_usage = 0, .flags = CPUIDLE_FLAG_TIMER_STOP | + CPUIDLE_FLAG_RCU_IDLE | CPUIDLE_FLAG_COUPLED, .name = "CC6", .desc = "CPU cluster powered off", From patchwork Thu Jan 12 19:43:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099349 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 359D0C677F1 for ; Thu, 12 Jan 2023 20:15:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CC68F8E0007; Thu, 12 Jan 2023 15:15:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C4FFD8E0001; Thu, 12 Jan 2023 15:15:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9B8D98E0007; Thu, 12 Jan 2023 15:15:12 -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 8912E8E0001 for ; Thu, 12 Jan 2023 15:15:12 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 467681A0E38 for ; Thu, 12 Jan 2023 20:15:12 +0000 (UTC) X-FDA: 80347251264.06.83B873F Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf01.hostedemail.com (Postfix) with ESMTP id 8276440022 for ; Thu, 12 Jan 2023 20:15:10 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=jacsBVte; spf=none (imf01.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=1673554510; 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=REiFsq8Cu55BI5UIL8KISCBnMH5PlDDv/02JyaHCfws=; b=sUrRo1+k6b9IX9bQv/TbPzFmML8YChW6hYAtTTAz3FEtykDYEEfX1tYXiTOPn4M9YiYQaa 8g8mZoWG18YMFjMbFJGw3kWTRYd7gU7bJJSg6Ar9mDDcb9XgA4kK30zS4xx4leTmNx7pwV pDJvUC9brftBj9uXiBBZM/jarPwwHVU= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=jacsBVte; spf=none (imf01.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=1673554510; a=rsa-sha256; cv=none; b=A6PdDpdtOXrKh0skh+wp/BxIRSGmjCki4AG/cPaKQniP8n7uoyDpLgneuQHfrtKopKl/6q DUwCcbF56QHeH6q+rJ3UjMuDwJiyav7OBoypE+e1dXGSl1VXtoFTboqfPzLXQlUVFvjxjp Jv5eACvPnxmmUVYAHT7nUmtgez/4KRg= 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=REiFsq8Cu55BI5UIL8KISCBnMH5PlDDv/02JyaHCfws=; b=jacsBVtew76U0uVdyT/s4IP8jr GtFJuqoX/fTEhe6iRFRexCm1jXkTxzLVYW/jcOvJ0fcg1GH3zJ0VOMMq38KNB3hYcQO6ydqU6Pi8T aQIWbAT4z6h98bNMpozlieRMTrJMS4S6RqhrEff1G1lvb6/Qj0ZJ2PZTCoqJhHzSexCsbfft31Kgl nDOmzt618M5lwlBtRFllX/uUp9iZXSp1lY72+9iiVyi9YVVjwG/UBK+Nt2D8rJ5EvFjqmWDoGKlr0 4J2aw5Y8AHSjp5K9dnsERD/LPM5LxvNw6Y1oo53MnwCdNqbBPY8YqRl2QQ8k5x/NM/tBOT4vkOt1U dTYOfX1g==; 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-005OcO-JK; 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 016403033E9; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id A81F92CCF1F5A; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195539.760296658@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:21 +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" , Kajetan Puchalski , Ulf Hansson Subject: [PATCH v3 07/51] cpuidle,psci: Push RCU-idle into driver References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: iengawc7i5kaatjaktsw4oots3awugh4 X-Rspam-User: X-Rspamd-Queue-Id: 8276440022 X-Rspamd-Server: rspam06 X-HE-Tag: 1673554510-393861 X-HE-Meta: U2FsdGVkX19wyrUxWtGn+pBN6TW+4TO4eXUWV5HqFhcFzTqoffia8XvIxBEianCdf8ZNEKQi5P3IvJjvrcenUfpywvbMjyWb2oBnLrvYmpfpWB2iIU6aWQZOLNi12aByf0ZUUpD00dpphBhsXQk+wFLzC1WwuLfB9eanRSwCtIZ3X8SBS4WLhAGq5bFInL3EXSzA95wDSdJ33Tw5+M+hH52S/mdnKQGn0DpEyDRu2cx0bY0+85Q+4+z3TBr/Ewg0zSMXU+4uBcPkA0p7iMlpb0n85xIEyThBPamdeSGGbmss901B6AwLKTKkakNHPgjINydWd26E3SzKto0MqReyr9NOfoCbP3n5YXzcmnYW4rymcyU5GqxP7yVTKg9//1nJNBKCVKXCsSNU/v5dhwZQ4SfUriqnTOwiqG1BCDlrCwBlXo3/WYPffADp4JugyBA5NigioMpl/kp1i6i4wQeqMY4/emlWgrSSF+9SEFz5jACvIMobGpPv0vujbijkBqXUH5U5hb2YDxf9rXHaiQOb7rO8ijqFhO279g2nw/+fA7DStVuqvteADMACSQJWIkrqYbLO2YQ/S9vfcmyJRLjpjq6LAZPlj+LRR5vlfyT91O4oupG12+DuVXGDYIcqjZXoKCkRKXajXrXF6cEqAsB7gFVcsaKm4iVTigkrbX/7KicOxjgzHmslY4ojzoi8OEOhOlBIBQBNMoq/+NmCnLph5o6+26kDESIrSwlSi99kTxhxMogUxt4x3j7YdQ3nhp0LY6YS6Bj5pRQwjQTwtOzkdcWyslSVZwoz5GiWgyDWWZzxmWRBCNs4AtetejzCbvvPLDSFvupX037lvb0sIy//EoYftVS2YcJYY8/QDhvzOwCZ+ldHpsKhxRRlb0rMIFgWyP7OIUrM0YQjJ0b8vGh2UkGmmyNp9C2cG+Q1xpphZw+/owpHw/mksy0OCd4TZVXkMUE9fwISTBLAnYLoAQN OxP5RMqD YvN632x3obgeIK80EVdF5R24LbtCcIoNfes1LtqY+cy2iRAjBplhtpk7Iq0IUXSYKwlmzzPsDL23sVXn8OtfLMnkM3yilI7cRol0hTwfzhIkEwy+rXLQYV4cwPBRbZE4pMhAjc4PB0q73Lj4UITT2Vg9B0vjh8CPYDL4O5DWFh3yP90pU69h9MFvmuDCzIHfQK+sJJzfxj6eDvbhkhKK0L7wxLm+f7dAQPWYfPGeSzsk5zVX22nhbelRO2ad+xVdMuXomG291O1/Qusj2Gd01V0DKXq1RxGZpzjiFNYG+GAv0Jnvj2T3EmyX0vtA/uuNg9NVgS9Kz7UJ2eywhDwAbHO5EvOps+HdiT/3BOJ8LyEVBV94jhmPwHb3XTH1UuZa0wuRTpPBvCLDo1NHq3qF/jZ+/coKjRQFIg8L+S0iTaR+yzm63PrT75pYHa+Q8mZ5w5TKXW3zZWG5yR7DtthX7P1a1A20SSdX09BljUdotzeGRgG7yptuaaqVkdohuU4CDrWPcgr+iPR/vnvS6jgwrLyFOF2sBBhhkr2JVlwzXqVurlMtg3f2G016ac2/IYewGb3K1Cb5oIVgYWJHtbFTBi62dYPxhGCdDXseMOUpjmLp/pXWKA3PnZfraD3sE3wK5aXLXco008/rXGTGndrKfq4BSamoovNV9LN9iCNg/DYrq0WB+0eqSWSwfQAdPzxIoSOY6ievttnKlc37QBAEHZf/mwNtexhR4SL3iMTI5/0/gZsrqsk1+elgM9AbrWnyiEX5mkeAKJ7kcu9DIL75mYPNu1mFUbFcQFm6IXcl3xyo3b2jhE0NYWjVGi5SmTFlJ0iG+XTLvocCHTk8nrYKHSk1vyi+3oLsoP1Ci01VQOWK5KI5pMpo+q/SAFVuCoVEBxjChkrrIYKekVK7U37s1m4oVN/+T9/htTxlOYhw+BuFdbwPvKHcQQmoVP+HzPUwh6TkIPTZJ/CjNiFT/a+UQx4fWu/2E 7rVTrPCW TbJ2WMir1BKRC8KPyD0zcC28TeqWhrGUgUkY004LhmseSuPCL3z5TXl7huV86JCH2/2midZaB+NQSQI7y8aOHZbXDMgsK+udpGUZz/S0rmB27rKm5e/DFSEq9rTc20iRnKHPQkk7blk8kwvwy8HM3l2H60SE6DNeQhqDhEO7meoHF4JsNlUjYRDaiX/Ity/LKETAhEmGC0+mBFOqL+aXwkKSAhtJi98b3CNYC1nFVNAT0M1rd++e/osyUkicAPk6Ho6i7pwuI8MqnNIzf+P+5mxLUuOFPYqwoM3yZPmfj/1+AJK+h5EbAvDEfVtoLd4J4iseT6O5BnEmht0j/3dZKzx1Uj0kLnlDoT3vDC6i76mi39JFmMRjF3gu4pk+pv+fjAY4TImt5YUF1UYY6qLwtbQNc8+yjfuo1Ieu3Wv+2YghO/vD0HB26ZTvW6HTzOILLCHkefCGNVVD3mKUoosYcIn28X9h3nMXUOiIJ+Kv4lEo3/EfKG8xRs88Ej+2UNzPnWOi7maLgdipQ5u+bdXztL4AvIVjPneF715RDMqXcYFjZlPLaQW+9pGT9JRRaDiC6KlYcSEOZMF9oYLUFKURtE4XiC6j/uqmT7K33/YcINe7UfdYNeOKwYgzlkkpL/zWOa6J5IwExkfRwSNP9FXNVCtKa1Tk/a2TB/NjYfVG9SOcq78kgYQyvm2hkMygfmRzsHGx1zDXv/cSlpiY3/TrVnwYQQbliY6Ylh/46vFP4X7PqRv7fXRKuD20r0Cr//RtKd7GfsdbcVhW7Z5HDX9GOndNpiLZFkgv/+ndB6+nt3Mc++kVAYuRAvizulLmbjmDdgTRS5/gtQ+Y8demixr1YdMd3od4RpTPzdDhv3V3Xy4erQ9pJVnHV/evhFHTVXK9Bzwds1jkCcWpOEF7NlKXq8Q05qJRhyMJvTBOStY04nwGwmovaEPnJNMoLV+dN3rALthlfgfNjBjxevds5b9z00D7hqh4/ XbVQQdYa P0fodJFNf/1VxA4hpV3ojponhMJNP51sXOM6G0b20bIt8IV8MQY2rCc66BwRkIonMXG8TEgiji9YEgMdapccADu6faKDveU4WBVNQxi1HxVWacNm/IGiHnTKawM9AihMrS0w1xrs9BYMcE+nOSiXIYjhoBM2htQO10YosKGs2HlVqBu2MYMekhYef9w2AKq4zO/2EFrzG4No8+T4aOra4ow8ZRbtLIsAkD9uNt2aJVj184YqXmPvuJ7LlvwSH+zKZCuNayrYI0cbd2C0u7fCasCqGpH4ZrX/kfOfiqxHHvjExO2YqCAh2/pvrmzkKbnM/9usfmFhBi7957wfd/h4Fn8Xq5PubAzR7YRK+AcZVllmhCEWt7yQPjAQdr45mmXNY62+UBkQzdENku8fwWzpNEmEl9OYgJbRUEpV6uSSo2/W8fEiUcGcLUrkli9mvu23icxlPJDP3cXgEZMtEO8s2gOBRrIIkJtZP4ZZAXXxiVs3A49i5WJywGmAKX5ohY4i6EVYW0e1DsJjVD5wztq4WzRrDvhP1CtCITN4sHmJ20hywMM2b80yVhD+ndHkvxuuXu2lZI2rpua15MxLP8B8Cqa2SvQdZ58tbcfJfYVUeU6Lg4dINPuQ0YwAm/eJtFq2D55xDySW3xrSLyMV5FjgZKemGhWUMzW42xqDNHY7axE2f6kfuriQHmTCq3Pxig/n0D954WgZnuoR+taPMB8HbrWUm0x/m4nzGQYW0dsMvVo83+GwiHqvvbD1rCnhxcN32BHNI2CrM0q808+V5PBiGk9y4+xhyO6xp+2vDc13vwP8fXwADkF4Vzq/8W7OILhqnrGc2G6uDWuYuMDyQommUk9sJbMui62g5hXOqu64h3ImQU1Wmt/zoB6LEhhTu34ts/1arveQkqlj/AV2NJc5H1OzPJD9yg3vbo0IxsriST1eUitiSWYXjzjOGGpO2voYaZKNN9QENyJ/yVtqkpviyME8fll0D djGCQ7zz QyK9fLGQdvYyIUMH0XC/hHne4/RVOGzhsp3M3emACUvgDMy/lgZltUyCjZLOLlHX4TuOnbG2JjQ05iTaW/SvnzCJ/0dzibjdpgBQj0eQRzYg== 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. Notably once implicitly through the cpu_pm_*() calls and once explicitly doing ct_irq_*_irqon(). Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Frederic Weisbecker Reviewed-by: Guo Ren Acked-by: Rafael J. Wysocki Tested-by: Kajetan Puchalski Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/cpuidle/cpuidle-psci.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) --- a/drivers/cpuidle/cpuidle-psci.c +++ b/drivers/cpuidle/cpuidle-psci.c @@ -69,12 +69,12 @@ static int __psci_enter_domain_idle_stat 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(); state = psci_get_domain_state(); if (!state) @@ -82,12 +82,12 @@ static int __psci_enter_domain_idle_stat ret = psci_cpu_suspend_enter(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(); @@ -240,6 +240,7 @@ static int psci_dt_cpu_init_topology(str * 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 = psci_enter_domain_idle_state; drv->states[state_count - 1].enter_s2idle = psci_enter_s2idle_domain_idle_state; psci_cpuidle_use_cpuhp = true; From patchwork Thu Jan 12 19:43:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098758 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 CE57DC63797 for ; Thu, 12 Jan 2023 19:57:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 15EDD8E0005; Thu, 12 Jan 2023 14:57:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 09DD680008; Thu, 12 Jan 2023 14:57:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 477CE8E0009; 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 17B2F900003 for ; Thu, 12 Jan 2023 14:57:26 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id E1C1EC0D34 for ; Thu, 12 Jan 2023 19:57:25 +0000 (UTC) X-FDA: 80347206450.10.172DF6E Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf20.hostedemail.com (Postfix) with ESMTP id AA4741C0015 for ; Thu, 12 Jan 2023 19:57:22 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=YR175EZY; spf=none (imf20.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=uinp+F1SpsUbDqJ/LD9jugydtpLudfVqOBpAkBm/Kuw=; b=ndNb/l+NQMYlhAXSKqBN5KDBzKLvPWDNzhxZfi02fKH6rfxnlj0JQwhPgI61AY9oWpAAd3 CdBbYI7xpAX4BX1jO65sB9Casdbor9sr3JV5Xsn22RZQOxe/jbVuiYPRawc6YYDzCMHqH0 gWZJ8U59VHlp11C5sGH+SULHEBR5Abg= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=YR175EZY; spf=none (imf20.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=IHJ/GC6isIIl++pK01qagOp1un5ru0E0+FFStnqQUFHTBtjslKHxBrImoRwrIy4RJAC4ul uhOkz8e96xNLuk8F7+yKx31+XFGY/NBQS81G7z8pDpWnARVr/+UOlFDKYiA4WIgY77OV/U E1nbwNeug2VUN1xVgx4TOywCx5WpTpw= 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=uinp+F1SpsUbDqJ/LD9jugydtpLudfVqOBpAkBm/Kuw=; b=YR175EZY4r1kZkSNwONKk5sRjm 0Jh9q1s+0AnbJ3XR1s+uETOHy6/KMPWcZ2A/3pPA2YRmIe4FLXT5YQWBLkP162ZQZQxcLo5zKmBR8 yPxuLFclFoYWLWUAfQaCyKbJfRfGBsr2SyTtFnOANeO7FTb/SglFZ6SweZE90daB8dw1ASmM8UjQM M4ZnMo5a3b3a00pQSh2naJ9Y8eCc6pRMpPzYKWwgFkcsiZ93mCPMmAdByjjnxT7hStav5sFWJ+w/a kpBCoIODr/szF4CoOZ9aEs2Ye7nsYGTHHRFperi/Zde5nuQcuGmRSiIIIE6VXydfVcevstKfVVHvk kpjr9KYQ==; 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-005OcT-Tg; 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 0BFF63033F7; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id ADA0F2CCF1F54; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195539.821714572@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:22 +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 08/51] cpuidle,imx6: Push RCU-idle into driver References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: AA4741C0015 X-Rspam-User: X-Stat-Signature: wapjjirb58bukcwwudzdqpacbp74epjp X-HE-Tag: 1673553442-918660 X-HE-Meta: U2FsdGVkX1+DVrnJ+YZL3meyyFEUe8qaFg21KLnSIL7OlbGrZIkSiUtkLv2iee29GYYlCmHr9aB2P764yRe4epzBtO1ZCcxLzNEJEUiUXxoQ6wxOsEHi/Kn6ypRg6wpSc9aO8Yo1RDObRt6F1WIkzkBOs0ZB1OgQQQk7aDRVHtUSC2+ENrbvN4kxbQKNS5s0PDMyr1ZEcBUUP+3ZIsNVDbbZa2mBYP680JT8qug8d4C30B55F1QuwC+eZwclngTxovFKLE/dEyYsO8G1MWq27X7Xguj9jzDHr0QADfksfKaQZN9PFF2QP/ECo81NOfJuPXDVW41S40ha+2q5QY0fabVqJjtwl73pLu9ziAGv4ezKWxDixfkoN707omvVI5B5lGRxJ0ayrVEJ8dFLJ9dkNPZMuMQDQFPqs2FFVnRqrWpSacuHaOc5dyQaFq5hI2nzHcZgxB9/R/oxgEQOlJcR3M1HFBQY30UqgYiEe5VgA+CILyETPhb0gqxdbC3+x8Bprvl6URhTrX2Yyt89zJoabf8bKKFcFvJ+sT0ZqAKb1C3jZ730t5sIgMbcFXasx4UK1nCbb5xPFIvJ+EL7OV6SK5MxlJkOP/7/KaHmalRqapWDyJCqinWqCt8N14sOiT4RrA956bC5Lxtu9lsUz7U168zUuEsiWS/DWpzn8dvYU2SsbyusllXQXI82Q/g8kmohY7o8oWAPc31lTrl6INH8kxNFCBAMbh2O2iMdAq5nl8ir5Q38ICgKltxel1CsK+ftD4kGTactmO6dCFpgJOXzNt+cnKZfKPxif1P8/E+KgtUih9DUwhHm74n4Gs8cXuw7xk/cN4+3++tie75iQsIW+M0potueLwLrIjkCnpciZ9lWkU8V5KY613XFiPAk63TJfwJcc+1BP9aDe/YptpbIiavehOa1eCFmTpg5BGtHZVaPuoXkA+BtbKp4H/OhD34ueTTvlKQOhLJ0+Gb9zKY 60evAQC3 hX5E2BvsPV30D+MZPx2/VdpshfXVdgdQf5STBTArAZinzOhaCAcKzcG9zLR1D9hAINOJNtUOzR9NUv/0EEjz1s9ho8QwHh8PnOlTdvEt/3FIIVTnUaBE/VeK+zFDWweqx66I3jNe2UpwUcdTsK0mVCmyT+8aRR5oF3RQOPAwaq7D46suHueTJ8mPPaLCOcPw7eFfU2TVVbYAwIkBRRN2tfia120JmfwFHKbLSKU0XCVqqfG+mrRQNiiAE4UaWPmcn1PFw0wBC31Ke2W331+cQC+RoElYLhQr5bG3sf2zKbDaGQpDMkg/0yis2KgPpob2Ph/NKCG6yrf4otWcXPwxBCwzJdBERyaaK8HBx2SNV8jr00pMxjvH/INPm+6AP8JI1ee7Yhk75yepDpyaow+4q+4VJ4f5kpKESJfEYjiIdydczIvkV7HozfK9VP5k1h3mJ8cbVl1yEBRJStGhaXkuW02V0czbkMKY1i9Q5Yfbn80+xL2kQRwbv9NafqXJSCSRY34XcYuxk15t8SuXpgDOENAX0Kq0dtlnmsUFwiCUG4okqodj0xTWDEI1Ry4ocOwh6rLEk7Gd47LCXvuXZxWO6A4Q1uBY/CEUIXRvbuY11Hbm0irCsmKJKzTHZt/E2ysCbnNC/42mljRmz4/mkcDsY/r6sf+LcA0T5qcrZPBdLMYTpLC4U/mGtT+mFoKa1b2H3nLsxNVgoJurmmFcxtpWXYXurVk1hDn4SNTqGK7ZyiwcFmp+IH9jpiY/rB2/QJ1MxX0eGHMp35J9Gix0My9a8TCsweXv8w3u1PuOtxbTI8QhWpobh9gmtyC94RfVQf5DWAEqx9dkBR2n2Ui4E4U6tji+brDOmHFElVLWDPS5Sr25x8Kb9CVP5nBauZ9EJsxPpcmN7xpEt/x6Z541TI1C/IW0tT0iuEsgIZ4djXXCQ5VN8O1iVqKy365g7LtrwaN5mJlUi09ohy2i5w2Dl/rt6w+3vS95w CRuJ1O7e 5FeofiO2Wki2FcOnJsQI/rRfBlDhcnF0W4ERmfEVULJSbJ6NgdJHX1ELPyYqg9oMLxD0ilfgGU3IUX50Lre+VKWaQ+cx8Hp1PZtQdtHr5YUB3hsuioQBDA0ouWMmnNhRCKVVaVeH3RNN7qRAcDFaGgimMmRmE3Hu+r1l/mo81OvbqMKBc4fukPH7ZWDMP3tRyDumK93iL0yELXjGTpJASBWyiV50xCswexPbKTnVFg/MwXpvC7uPJgxvuMMRSarq0vURsdbfB3IAXNQnlYocxrdOSTfgDmxumbErcPua1CpSzL84ZNdG/DNf14Qnvch4Ic44E9KlsgSzXFARhZ/XDjvWmBl/mLwg9m+kVjBJHQ93GRjFEs0HFvMcSrESQ5wDB5QRE6MvO6DvyyyTrntH9JekH4beplplH1aRIgYpQbVYHj+JKqWQOrIsRPh0D7nLIYgzLkj0lpR/ctUz3bppkPEgZ9cfr25gkVXDceMcSgEcMLnqB30C7iMkv/2SvBAmQSuTkJ0AUehsPhAjhA0opnvyHfTyzCNvrIf5l/YCI9F5Mll87kwynMUIV7RCqFiStw4S5eB5kIBFxQS32pHTiz/abfu0jYD7FyZLa5M2/dtpMOC5d8hbwB+O/FplylVW/VBtyVgpYEgrs7gBx5weY1i72UXdA3HiyAzEWVykYBFQf3Wm+UNopm+RGwcOlnvnMifI8n65ciL23BwNX5i5nhaWDBYrnK47V1aESJ7z7rdAbKVaPVQxptoLr2aAfJY2HsC5Flo/n6ScqkjF7TeeRx0JgNKkH8yMX8QSvgu3BsOMMlaa+EetZOteYFBhLZg/9kWSDfeY4fJfH/R8QTD3agnSPZuH3KsBG3QmBm/2axFtxT9VLhA1H794GC+ZjjAiVtvh7MmUCU+n0wMMEOhfdvLDLPtUyqYcruqdtVZvNxyK5VZ9taIBbHfGebhvPAdtnquaQc/SzzxLkUX+YgddonRxI4eMN Mi1UOA8g tVVHWrRwmmYhbxGWPf+N9sxhcBgDFEu8R42ln2hX6eRaMS/0+T5Zc1karrXbZ8npnDDyS6mBBUJficp1X3hAuZFNeuivAUowyg06mj+x4+vPnnc7cGIWeJYz9aBCfK2G/ZYh1OauCcvQncrPXy0hc0NFPD6TyaC50iXJ8kzaXQXYm0EFkRHZTdOknnk4F0iyEexpwmNa9eI9R4Oh6KANXKdHewH1t3eAGSFvpPW6uYZQ45xo9gqOEogWK5bgF9XD94Dm9TyDWMhglzT0rJ44dDX80fDMiGk/X+CKA8I2k8euOKyrCb4k5Fuj9yPx3VR3D02Ou2XMOZvRfwiFLrzApBEAAfLQJ/Xn0cpEEvHwOeIJVj0l6DxpcfMGxCDHnA3kOeRjrwPBpVzNRE1i4RVU0qQnbntkPA+SK/OXa0QlUvb16R6OTfeCRGMaBMCpaGufhVsAsnfqjKu2gXqMumPaHwW2dsYgNBdhaCy0iaX/x0pHxO/a9OWxYD+3oGXqbutrTQsgIXjvRo8arK5Ud30HrfSJu8p3o+N0Hy9TWSUMicZnD0jaH+qvpKasrNbv4qnd8ydeOVPMFON68TISzGvlUStbQi/qyLsYrnPSU3UBo0x5z8IEdJc/bLL1nm3YEWgEAjQpyEeGQv9SOff9jZWTzYoovqlLJ34z8Xrqv3FgB/ibX3dNyogQK0XoMdgwty022iQ2D4GNguzjTgtK4y3mMzaWzEqrJ3DbTKRLSSXh2sNZ6g6F29QuuEMPeU6OoETKNBF7eWefcfmO8ZvI1Nc93m0CTq5ZM+5edBi7UcI3aN4wQ5fNPPCJPBH7OzRgwrwOPd/mVmrjCXnZNix+Lbip9GiMrTvQzW40XB4a/Zbb583HJUberSZ5XrcGJepcGRf8pHPfHHkx0rJuW8EE6l+53y9iZLQbgxZt5a6ucbTF6mBLHfk7Vj/jraKrHjSIpyJjCCnUiZOp2dfzf1eqXk7cbnzeeW/bi pHq27o1r iq+8XoG4/ie0uwSKrJpVwB48zW0xuhsKPHZvRMhx+jLt24NY4tU3ab9h68QiKqxPHfm4H0E1ukBvxbozfJQV2JRLOu9xWxR7bIqinnrsL24A== 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. Notably both cpu_pm_enter() and cpu_cluster_pm_enter() implicity re-enable RCU. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Frederic Weisbecker Acked-by: Rafael J. Wysocki Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/arm/mach-imx/cpuidle-imx6sx.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- a/arch/arm/mach-imx/cpuidle-imx6sx.c +++ b/arch/arm/mach-imx/cpuidle-imx6sx.c @@ -47,7 +47,9 @@ static int imx6sx_enter_wait(struct cpui cpu_pm_enter(); cpu_cluster_pm_enter(); + ct_idle_enter(); cpu_suspend(0, imx6sx_idle_finish); + ct_idle_exit(); cpu_cluster_pm_exit(); cpu_pm_exit(); @@ -87,7 +89,8 @@ static struct cpuidle_driver imx6sx_cpui */ .exit_latency = 300, .target_residency = 500, - .flags = CPUIDLE_FLAG_TIMER_STOP, + .flags = CPUIDLE_FLAG_TIMER_STOP | + CPUIDLE_FLAG_RCU_IDLE, .enter = imx6sx_enter_wait, .name = "LOW-POWER-IDLE", .desc = "ARM power off", From patchwork Thu Jan 12 19:43:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098766 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 DA565C61DB3 for ; Thu, 12 Jan 2023 19:57:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2033E8000C; Thu, 12 Jan 2023 14:57:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 16E3C8000E; Thu, 12 Jan 2023 14:57:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E59118000B; Thu, 12 Jan 2023 14:57:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id D7A4380009 for ; Thu, 12 Jan 2023 14:57:30 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id AF1611A0681 for ; Thu, 12 Jan 2023 19:57:30 +0000 (UTC) X-FDA: 80347206660.06.C946502 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf29.hostedemail.com (Postfix) with ESMTP id 0375112000A for ; Thu, 12 Jan 2023 19:57:28 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=Y8LFyBFl; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553449; 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=RrpmTujnodPvC1LE/jXScgO4ZKUrxiQVlZ4+SEf4m04=; b=z66M22146IbVLGAvJ9BCAFpP4shybAZhehe3jUQHPdN2Zdmy4uPwSn5adqgP99dDYEil8A ytpfpTXOtC/i/BH4T+0/T6UGktpAKxJdqavphl1IvXpqShjEntnOdkkVuyUCaDXdQsAOrL 3ZrnbZ2lLLfceOm6RN5nDq2+GavuMlo= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=Y8LFyBFl; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553449; a=rsa-sha256; cv=none; b=rOygsEw3ZXXuDBuXKSaU7fnhNJWm0ock6eokiheoxWpPshbs05jZhbsZCBVxu7ypr4I4C3 IQIrdwYT35wUO4RP7O8Al79oryVxQpTDfzdtILBQNlAXRXIiXZLmTW1EMs8nKOw+rCvfqr aXsuCEs3XlDGO5m9zGPIBjRfG0kqoew= 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=RrpmTujnodPvC1LE/jXScgO4ZKUrxiQVlZ4+SEf4m04=; b=Y8LFyBFl3JbIwtnCWjFL/hhR5y twnVLexiBK1ooMbeDatb6RWwBocZW13sf5pirkWAWAH1nsW2rgd7ecx2Gc/qOdtvY6YZxKvumRcTm amulB5kgeQbRdQF87cEBBGyv4iJlugiK9kXbD+c92ulURa+BZ+6IgO0Q1qr4EELRq9g05K3UaslzX AWK5oxOOelmKqL4CSrymA461jkib6Q12hrzk8J/XFrR76pcWqThQ8X70scSBkUeWz1SP2e4AHdemR 4sJ92NwETWbqsv5J5iWtGkWZGwcWClLra0VFFumQGPO8rMb8BpC/UsbZk6Ohp1wUq3mHnYc2/nqyR 7VPa7mnA==; 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 1pG3hD-0045oB-09; Thu, 12 Jan 2023 19:57:08 +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 117A63033FB; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id B27F62CCF1F50; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195539.883561913@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:23 +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 09/51] cpuidle,omap3: Push RCU-idle into driver References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: 7yjzy7dt5reswb65oji8cjehr3c4nx5o X-Rspam-User: X-Rspamd-Queue-Id: 0375112000A X-Rspamd-Server: rspam06 X-HE-Tag: 1673553448-470953 X-HE-Meta: U2FsdGVkX19gtqN7OJIYdTwZ1lyiol5fextAkzSEv+O7mgOUgI99fSABXdOOUmdMv3TIGbHBQHqyU+n5EhPXXCKChSG17OGCsZai2ia1uXtfSi/OpVdjo7MIKgNbhaimxgzBFTuw+1OGit8ugyD44u0xODlMy2+ZT9JQGnCjY1hlWShEWrno9OBLbUhngHehL6oU0CuFfiXERTVgHFtYqCx4a8q5q4u66gSm0B+TgbjuAcn3Sdx9xUeWpL03I7ZPvfZWXtX61zxbPKsXjwNR6y1mjMvsGeebbrbWHVdRBuYECj67yuSS4qcfoto5OA6byul8r6IuIRZ4q606KnCPZrT+HaCFANrbx/HqcBBhtGgQ9HOFNoAZM3vCI0KuscD8UO21TmqF7vSjjDjqL6vWy8tSGnhZLPDRX/YAYt2TQZizqc6BkTf4f/HU0TiJYOXiA6/UbOd4vH3DqEUuSi++0eAZFj90SoAIDKheUiFw8ZNyZFRS1Hq52kuZ/qdUGG038FTDW3FzOOVzhE/7jzQpTBREduI+ba6jgv5eIe0bksT/Gcs/2TG2RO/ospmSIMhPhozrOgaMkJDlcOUArmIGZji2RCnh3Y9e7Iwla3xoVLJEfl2gpb6asAaPMu0WAxRJYocfp/jQScXfVsCoVLPdhimw7RvsBv/AZl21VGFzaR6v5yRSBtv1+uX2Qa6ZtCptLYD/gPAKnwpUNB8DC0H6P9k+4Kc5BFGyNDsn92MCFobYpb/lumCWg15qMa5RfWBnEUyMpoVdC4csTqKnl2RSEekGJE0JLTPF36EHjKTyBeND0tez02ti5vRYeX3O1llCujK6g1bfEIfhNjbqYB2nBjChJloTp+yjKuCmKp1RKuWeLgDppQKnh9+hLzlT6mnUTPQX2ZMa7InBQlx6EUCrnrpNSjuWDAOgB48GQdK7qyHwWittZNnoOi83Q0AE7chBmSQPo6j1n0ElQp8nwZD PaTz2g+9 lQGcrVQq+F9C9m1sRSjjP0cTORKayIMvTltK4ojLlzYewLYxeBc1Z+Ek981+w4uKwtZ/rzZQ9r+y8fKBv5GxqNhsV+xsQXgnLmyeVIQYMVe6tu1hEJkLeUNZn7FzoM1NcM+pQD0QkCBeJcYQ80+3c4gUcsZ2K01PO1IIlF4Gyx4bsFC5RQK/fYX4gDs1jygEJ1HVesJR40jw5Lp+XZczHo1llI38rXve+CjqdLNCPFs3tPs3C7oGaSGeIg2qFlJVrOx7q+4Bo5+qAgO6qERP4HpBGAEwQJQhTv6dnoEbo6okFbs5xZLYVYUFXEUn0oiI4Y3mCTNOvQrW/pASPac24cvUmUCFr4vAGKkN/Qp/jtG/8JpNkbiDZJgayPNVjVs8safdlUaxZuGnApl/wyLg1Mb/oARnSJEL2STZgmVhlzn4WMy2VZT634FPqhoY7cuWInZywiM86DG1Y7lLi4aSlbY29eDHOy/lA/BXawZm+7RKSkuHJS70sL1kTLCiBacK/Q6iCdbFQp+2niRS0bi/ZWkRCFouGKpWqhiwvAZnHe7zG17UNRxVih/BmSd23hjW3zr0qjHrLppns46tB8H4GrrVQGv2PptUxFjDPfLQPmL2Ixh6lnrmDdBry4WDc/UU415Plf+QOmDvupyfVdb1RftGgAg0xzOgtVlHT2Em8sX7DT3MrS8zA8GX6RIN0zNLK5zwyn+CzVeAEFKqtqjyGPJxbFDFYDbceHyREuJ28hPDMZDIQXYB3ECVcf8aW/iInIMsdln7Of85HATCH4g7hrTG3HqCXz5E73Z0K/p0LsUlvvtpQTk6/FLDGw7YRFnB+XDj7if3etU9rWgHIIozp+GTWwWEozkSRSnhoc5kzXl9bPD1ouUt5Y4Q0vXv/KITG4SB1SM4wTvJEsYaTRMVGU3kCmgqeCXdnVqNS7s7Hn3bucecXb+qTR/i93WjiVDoI6kBIyYT7TLn2oOg9U/9xXHM7a1On fe0qcOId W74VrHJ8+EsCD3Cde+Y+nHYzWposuLeagz1vJ8hErBuKti2na0UQuBHxuibQtpyJl95nqBsiDjKWkjral0T7pMg6wGZ+BIOmwyu2L9GtPOBxbHL0QPX9uEm7cwsVK9Cp03noDTuLvfqeHVv7INnWnhYFKa3mNhZm0v03VMKrfS2JilnDroujPXBHM6CN2aJhisizuMJa3oejI242pKh+y03fyd/TKcVeJEs1KcLzG1TcETpFcUrlmuVELob1Xy+cbAhKm9u9Rfctitg/FMXq3gecDl7LLpTzm9kWHvGZ+F70EpZwFBB/KfUPqDoexPP9kgdBjl4XanTbQViJKS3MpCTYrZ3askNaLerkV3K4hgaX8oszKw/q+p6Crfd5WJZFk+BNgbdk5gI83bQxrglTcY+pJsBPqIJVyoMT562a8bA3unihtNeaGqXuRU9qrjoajTS2dwDe+dRxEhPxG4Q7eoX2BYnnvQ15ImrC2CSo5yQ4IJYHVOICqwDi9bZHgmcJyn2lnH7JswTiCXAGprF0YWLKtAQfY9zeGMls4qyPZlk2XvaTLZy8GW4tU0OGyh7G9lnMWkwVXmNtd3hK6THR6oBsy1g/65+qjq2SB3lhyeIDRGv2KRdO04mipjnKNO3COr/SaHXW0u4OrJZ/6Sk0DoPpt1bvM3GTZQj0WoUY/tYSXfU1ObF/DEV6iqUEcllXh5fvH6ODCYqsLrbohxIUTjkzeQvuaTwIgGPPF/QwZJWOG7Y3h2xlk2LsU8ka41axJH2Bua7Lfkikb+XB6aAQMOfly+rDegbQciJjdOVI5g6OuVdgjtTmV9frmRCUyY6jtb0c8rsGHgIt+6kJ00WG2UJh8+h30vLIBcpZ7x/P507rLLlIkhdexxvAgPjbx9CVbgtHalUKpm2AK52ApMSu2PXI1uDmO+MqKQ4IaU4BG2OudjxeK6d23qERGwYwxSu2eI6rXoOFGPj3KKkU31jKWvkO08HOp Ung86nhz 55rWnrkEd4LlOKyUylsToFoy8B+0h28TrO5DN9dB5NS36jGCjJ+VeCFZtw3NrrgrnVfFZ8XziilGy6cIDldqB0EQ9KYH+ziCPQUMvYjK1jqxMwoY2IGsNwqvlsq7OmDQmoT4WG04z+nkDiMC2GEX2Lbceklk/154NWUEZVeKtHvuW+uouEVyl6smJ6B4HG/6nykVP1kqSio6vM1oetWGT3amr/rG7r58e2eXYHxejdwWqVmzSxoMuOdA/TiMydouYfhGoARYcAJ9Ciqv+Affg04qjGG4I8xrFy/kCoG64NxJHkfRUNBbQtlA2+kcclmG9Wec4Hg/CvlGrewGExmrOJRRR7lOh67t17qjiVfqM/zHCifxthHpPvkjFlsFiiFgRR7yQ0F46ERLabKyVBwNteeUA7TZPAqDEMkUDS9vNU/mLNknJgSy4vVGLjIAxplGNaQe0FDN3Jd/gVW7s6YrlrDcqYLWhKbgwIwegt1E1BZIaySNw8HcGp6BHeUqOTmDU/JH+HWqTaCiV5LPeYZASoz3eWW3iZE/QTO27VTWMBc8J/fnffVMqlIXiXtN/YgXjp2zFxreevyv9OYTkAXMi98Yu0uxXv4vVfdLe/cbsLfbkNegn5XeyM414CYN39LeVH69YHrucLL5ijjohXvKikh3LLbTKs7c0fcThszSUWrjTC0KHKXXG6G3Jjqr5Y0XFuSFwCMlml66CIjBPkdjmqGMBzo+a7K28whXZ4t+GYNyd2RKDpuHKftEP87wIsGn6g6RgVj5BOmmH+bVg2pQhLUMl+JmzaUIroNfZct75ySWYmJH3eEnT0P7fqXW9I2ekYK/IJhXOyTLQ6lGAR4SavdDKhTySM41w0OBSagwhrXD+A6zEZ4zLeb2qIxr/J0OZQFeEc2Hg/Hwu4yeXDd9M6MP6mUQ5/PL8EAWtRW7RHDEYNpkZjDNTZpl1LXJDixYSkW+eBldW8zNTKK993+IbHN6xD9w5 1Ezfs87r vQCd7u+nYLQTbw2E6o5ddiGG5gRs/qW4gMd2ehph9gKfcKimCKgmMdtG3E0P3nTH4KHqZKe0sNayJAzIzEcfo11XmbyFkHysJZlafYfiEGPg== 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 teporarily enable it again before going idle is daft. Notably the cpu_pm_*() calls implicitly re-enable RCU for a bit. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Frederic Weisbecker Reviewed-by: Tony Lindgren Acked-by: Rafael J. Wysocki Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/arm/mach-omap2/cpuidle34xx.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) --- a/arch/arm/mach-omap2/cpuidle34xx.c +++ b/arch/arm/mach-omap2/cpuidle34xx.c @@ -133,7 +133,9 @@ static int omap3_enter_idle(struct cpuid } /* Execute ARM wfi */ + ct_idle_enter(); omap_sram_idle(); + ct_idle_exit(); /* * Call idle CPU PM enter notifier chain to restore @@ -265,6 +267,7 @@ static struct cpuidle_driver omap3_idle_ .owner = THIS_MODULE, .states = { { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 2 + 2, .target_residency = 5, @@ -272,6 +275,7 @@ static struct cpuidle_driver omap3_idle_ .desc = "MPU ON + CORE ON", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 10 + 10, .target_residency = 30, @@ -279,6 +283,7 @@ static struct cpuidle_driver omap3_idle_ .desc = "MPU ON + CORE ON", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 50 + 50, .target_residency = 300, @@ -286,6 +291,7 @@ static struct cpuidle_driver omap3_idle_ .desc = "MPU RET + CORE ON", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 1500 + 1800, .target_residency = 4000, @@ -293,6 +299,7 @@ static struct cpuidle_driver omap3_idle_ .desc = "MPU OFF + CORE ON", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 2500 + 7500, .target_residency = 12000, @@ -300,6 +307,7 @@ static struct cpuidle_driver omap3_idle_ .desc = "MPU RET + CORE RET", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 3000 + 8500, .target_residency = 15000, @@ -307,6 +315,7 @@ static struct cpuidle_driver omap3_idle_ .desc = "MPU OFF + CORE RET", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 10000 + 30000, .target_residency = 30000, @@ -328,6 +337,7 @@ static struct cpuidle_driver omap3430_id .owner = THIS_MODULE, .states = { { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 110 + 162, .target_residency = 5, @@ -335,6 +345,7 @@ static struct cpuidle_driver omap3430_id .desc = "MPU ON + CORE ON", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 106 + 180, .target_residency = 309, @@ -342,6 +353,7 @@ static struct cpuidle_driver omap3430_id .desc = "MPU ON + CORE ON", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 107 + 410, .target_residency = 46057, @@ -349,6 +361,7 @@ static struct cpuidle_driver omap3430_id .desc = "MPU RET + CORE ON", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 121 + 3374, .target_residency = 46057, @@ -356,6 +369,7 @@ static struct cpuidle_driver omap3430_id .desc = "MPU OFF + CORE ON", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 855 + 1146, .target_residency = 46057, @@ -363,6 +377,7 @@ static struct cpuidle_driver omap3430_id .desc = "MPU RET + CORE RET", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 7580 + 4134, .target_residency = 484329, @@ -370,6 +385,7 @@ static struct cpuidle_driver omap3430_id .desc = "MPU OFF + CORE RET", }, { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = omap3_enter_idle_bm, .exit_latency = 7505 + 15274, .target_residency = 484329, From patchwork Thu Jan 12 19:43:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099440 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 A127BC63797 for ; Thu, 12 Jan 2023 21:18:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 283D08E0002; Thu, 12 Jan 2023 16:18:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 20D318E0001; Thu, 12 Jan 2023 16:18:03 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F2C548E0002; Thu, 12 Jan 2023 16:18:02 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id DC6928E0001 for ; Thu, 12 Jan 2023 16:18:02 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id A079C1A0E2B for ; Thu, 12 Jan 2023 21:18:02 +0000 (UTC) X-FDA: 80347409604.08.5BB2DE4 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf28.hostedemail.com (Postfix) with ESMTP id 54F06C001D for ; Thu, 12 Jan 2023 21:17:57 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=EbqGBmO2; dmarc=none; spf=none (imf28.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=1673558280; 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=OSWUMoytbsEQ8xUnxginHGtpoSP0fDdQQe/5yHesCdA=; b=P2Qjl1Sku3Nk9+M+qAYYHvA1PAVEUxnZ7/KFB/8ANCVbbhSffs/S6rPBPdqLFXS0uIyZfi 2Pk6VEJimcD3UEZE8ywgJrknFaI6Pw19nAD8LcpgkWVGsEWt89YXENGfeS05S4tYbsLStb 4n/c4IuRJO6b5vFSW1V8kXZwJG1LDyA= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=EbqGBmO2; dmarc=none; spf=none (imf28.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=1673558280; a=rsa-sha256; cv=none; b=ArGQnwx+FQwhsJu5BjmBQvRZIPLSIPy4jmHYSlGNvdVvcY+PfO3EiDYTvzMeH6VCNxyX8S G8naePU+Qi2/4H8tlrtHwU8CXsLWwjSWDxuzhL+q2Gyzm9hFEIwrQPhOHNVW00KXuuaARv OSQTi67spSP49q4ww6mR1R8LZfWqgUA= 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=OSWUMoytbsEQ8xUnxginHGtpoSP0fDdQQe/5yHesCdA=; b=EbqGBmO2wjgONt8zgzM18NDs6m XSWXjuSHyAYdiczaj+SJdJ6JCpVDm/NyZ+W/ITNEt0wXRBeG9hGdRw+d4O542oF24V6eJCK+fKZou SGXhIpMWcAbse4OnUNvbO3E1vIfOuhg7+w93HdalOv6aag+omVC7au9s3kunWey9tQ97c6CWePXAO 5BTGUz3tx6DtcAcaWZ5k9rjHOYh03mIN2x7Rh3M214NeVXNnk7uO3z2bxkuAlGuy3QDwJPMZAA0LE fyJM6A93BOFEwAW+IZ7u/HQbXA13lwllIkLHXwDwMG3xu8F6p14ZDs8SqHu0RES4bZ0rnbC6FKmCr pHO74mxg==; 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 1pG3hD-0045oD-0M; Thu, 12 Jan 2023 19:57:08 +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 16EAB3033FE; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id B69572CCF1F52; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195539.946630819@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:24 +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 10/51] cpuidle,armada: Push RCU-idle into driver References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 54F06C001D X-Stat-Signature: eq6u8gfb5a3mep8zhskcyriga3dkn1un X-HE-Tag: 1673558277-602752 X-HE-Meta: U2FsdGVkX196ovbpwhOJW1dDZ184U/gVGPsAZiTjr7wzMqhVgO9ZJdPItAQOcs09lFbWDU/AG7oJ0rhJXA8bezVzwHUHuXkwdibUTO0g6DN0Eya3hUUJJpuHf95tqZFHguDuRDxDsw3cL6nGD2HfBBBK+cyUUtmJk/aZlQImwOskSZJkdU3uEt3K4MNu7dcPtlrO1k7B3hZJLG1Nc0MCAWxhqf32DKmnvJ5E6rnNHWFyag3VMH+CPX8Nm0q6cQ8ypQv6IZJGRaG38rP3qIm5rhHP/DokemJtaNN1Wd9DlvSV+m2FoOmG3P6k5DilGe4nCZbq2rrWBicyme4btvFtlb1mAycF7SQzA1OunCG31+oIJthHKbMEZgWEIEj7kpQ8uIer87a6uxhYGs/Fc0H9Bs7W5YjHwdlqMCilz5I5K1CXLTh2HIxQwuEG2ae4Ee5Zy+stbOVX7khxCbi31TGMhMUT1DUKMhn4iaqUOQc+k40xAhfMXQmjNur41/gJcZejhg7htB/TMrgc6MiSrAcm1RRzKcrravQIzgSEdoMCTULwmTdyOS7rV7thEYeJHJUoiRKmwIiFrTMUULZ6ZnOeZZvPMn+lQp33x8EzO0JURXcH0T3WTiLJumUF34smgnqJ7oWrXU/GIWEC5v0xW0HzPouy71jpfbxTB6SAhZn3cJb5Ez8n4+lxdgxwOJnZ7alTE6XecobhX4GmRnfWAZ47OWEJ+fG4RvRO4QFOsAuiGV2cTDkNrN1du/fnnSrU3OqfDMi+fcWJu3q1ftyQIhw0DIHl4mxnpnSNKLI5xpzhlYfdScFYLv0k/GnzO/VyXA8fUYBLcXf0qd4JfPK7xgZtk4V1ngZbsEOYrYbXQaDjdenHtzUzFR1Ci9R86ougWp8wvoduia/gkIipg8KoySLx5SegFfMvBdIBklPhZUI3FQv2b8e4vBhldQgE/92Erj3psamrPK/bEf+CKFEmCmg hSBXvowR 4Ak8vgJRE11b9yCvf3zV/aUcWnF4U2fwYugCxRUFD2t7mNXwJafiBs3Ljs9mAxZ7WpwJ0pjfwRRMokJV7Xnmkdpjqud/GQfszrzUFDbFgC3PNjym/KxCBkJmHY2/6tyPJ4T4IsTthjZswx9cs+2huMbotTXdjFR/ncXoElXOtE2c3SAVtC2G+jfvutmlB9yzu+ERMliwLa97YbTSbGyXvFkvQaLp2Mcw5zx5tb1YfQbtQLKrFm0fPyZTrlwJt27ONmwNvqhZdQJtH5fGr11kdTywt0tyH5SwjSsSkgvDn6dbPBPWXwac2hcpSNon97D4y5ru/CvnK6nbUHRCU9Sbi8FAvp78dWqWwrBxQKH4yOAbp+szZkHLfwO0QUd72Cq3SyR2aAsEI1YS3Dm6y3kgRhn4VPhovZ1fphatT6f5sooHMb+RONGJLznbQoeaSFfyHvlMk2iF0nHo4HLDL9wAPI4jT4PdFIHKo3zgbsBB8K1g29JhZRly81xYaEX70H6s/xPP4ANutPDBjBan6GMhKk3NAnGuE9kswUKncAHfmdENUNqRcc7A+hSgKo0ErBpDX0QPqm6/n2KoCtv97aq8nO09fv5owq3asYWYvha2emwxjSV/AyW+FTcNZpYgjnH3ksYeGYix0FNmpXcc+4VWyJF0H/BiYTltclRMN4Cn2RDNP9w6yGvkAaXtZk0+hboLOOHiiUrFq8W18vdCYgjlRUVrmdhHCdTJvJZNiONwohaYUgdZFb49SvBtPS+M8/+BytahBtaqC6yjebFQGMbU/mq5T9woEVoW0LwqFxQGwT4jaaDFrGxFSxS9tQeFgDDLkwkWZLAMHWSF3bCVZ8YSOykzWiA+aUCAC/6qaZyRkliytW+lZFe6ptSeHOlGpWUwOuU1mJ0XV0UzYpt9xYoYfhWe5f9LRDZY4YZmi/aKae0+ZsCZz2tbGD5+2qZSeFUaUV+bE4xcUTBDhcsT8kIq77x9y291n RTo73Hr4 jgBjJmyuQRgi3IQL+dMlNOm8zwYW4zSGYZeoWct7WsRVIpnhTQdD2lMer5dqeKFCJz4NpFIgF/hXGX1TqnBlwDB/vtOJFP1TkuAERoRUgIDtD3ZKDPCQhtpGtk/EGIig6lTt384iBKXe0zY0jyH+HZt/YW9S9xFYTpo7riN7i50XJtpgFEVW8uvcyKPW+vjJQmiVb3jLEv/BdkNWABa3Av/XpI8/B2/O8HfB3H5Zp1Uy4e2WZNj2U0rBIpd1ZVmMdTnrp5k00Jy4AeogU+j7xdtQBRfoqMFVTDSGuPKpspnsXCb94dGal2ICc5x3eqe3fRRwF3y+KyzX3qu0UMi+GZ1IcsOhEvTGOuwIquuE0rZ/6cbI/SqNkyTEAkRfHCLuDExOZm6pc8QVe9365HbolaMdBbUPAhwAQH+Mu4XgmhEDLMH1pXj2MV5N7tD/u3+eCwqStlYlEqNhgj+58a5paPeqfItR/sEu4fkD72bbiLp7tZsuVefHmbyPWmMsPXqRZqOHMZBWELJW7Dm1Fwjg5RHguDLJQGZjKolLFZ12c5Z/GmyW0FpI7CD+XbwqlMpiHRHUPxpxnpmSRMqQwh3Jxe0I/eWlEOTW0KPqyTDRKx1wUckUCkTsOhdyqqrDSTL2KMrsbjhU5RCZaGV9L0IPX0gqc4J8cesBN/RXoUE0B521B4CAEjLRM3Pdb6X2h951/6EPX1tWgPfiww1pYxtvmIJTP795KYJELNhngohozLxlnf3PAY5Bk/DPuZYwUXBIySJlA1IEuuOkCu4C0eWHzrNrsmRchnJ/L1uwtHEsEQ6K+px/7ub7cYUOgRF2ZrtRpS5ydmQ3SYD2lwgbHzVIJ7NSkcnuJjReP6DnmvKQdSanGNjY/GWaltDK2Qgo7t3YOHrXh64O7JFks5gCKKgdm6VfBr/O9tg89dpQCE71QQJE2mwX1xMD2i4rKU/HrYBz3Tj0q9zWCWQSGQp07FRBH4OPxeFVb tzD7pkng 2poiNGLDv+C8r7XKqmcBCtv/XysWcfP+wkJkpARrjWgtHq4kro5HNbMjyUfG3WGRwV0kdLFMSkrUEcrEsxAbxbp+Wq3vwI+QG1S0nOyPAnPXXqHLggAH4tRzvHV82EDUH59H0rNJ4shRQatocyDAb6uRwOKzapn9bxIEGMT+YmtycTxH3kMM/QmFfGE0HusRNtGhS33j04T5Cq2eXzRf3OvCquqb4yctTcoxurfqGXSwJjchp5aJ8rTaTA4NpZB/kluDg/ZzQaAVxiNrAsQqZ36cvArUrb3BXqn+aSBe7Fmtc5BS8Vgu0GBpWOOuByikfNE1LaWv09Y7Kscxhg8031UUFtEnaANG8VyHAlkGlWSlZckr43phfcmTURW169He2OYj2NwQfGt2Sk8THBMWOJ7C2nJfP8TjcsC1Ya3dXAoOELvPqsshqpUt2tvFOzHtp0tJx9Q6+e/gC1cmipZ79AyNRAmSrBoOF0Mxmhrul4dIW4I1QIMJL4y7SwkERYGysFtlqgfcHjGdFZbGs2sH7ZcfmA4VS0Ft0+FcVReNEYZGW8KNyhkpV7mAFid1YKl+jcDay71wMQhSX7vUMn4O2IbyCe9h5CFX5uHgoiiPm+LCqTvg3B7ahxI7dbicu6r2/PPvSEZB1halq6UYwJlPNXfkZeCy3WA+VuxFPPbg41efERqteAO+DT9QoK9QEUZhbf2NEQHQ1Uk93EWPWFV45YNeapqTdwRYA5uiCbH3FGPzRkHVHzeQ2oXexS+ECKiEWo1fbT36rThxEG0j+bNY0kgm5AxMHFuT1MixRRY3JibYsPysbqTzXpRKhGsAyzl/90AgVjq3/9GIABj2GsTODCZXNcSRvcGPvCW9An/XuuriPutFQ7EtaRH4egL04QiSr8qvoasHUGSsXzemLrSpp6oTCiwSkseBfCMRj9Up32TwC3Nod6SlZDy36jL/PBIfYMQd4u1om5Us9bKLI/Q1ZezduRaE5 DplgQ9vf af6YclNousVi5z78jJMxEaWXY2fb+EGS3iNuuZOG/urwC2tPOI01mw2+O5M3B9+m1kKX6THqtYirnjrZZE103ekDfSKy2Ey/mE+FMYq7P9Sw== 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 before going idle is daft. Notably the cpu_pm_*() calls implicitly re-enable RCU for a bit. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Frederic Weisbecker Acked-by: Rafael J. Wysocki Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/cpuidle/cpuidle-mvebu-v7.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/drivers/cpuidle/cpuidle-mvebu-v7.c +++ b/drivers/cpuidle/cpuidle-mvebu-v7.c @@ -36,7 +36,10 @@ static int mvebu_v7_enter_idle(struct cp if (drv->states[index].flags & MVEBU_V7_FLAG_DEEP_IDLE) deepidle = true; + ct_idle_enter(); ret = mvebu_v7_cpu_suspend(deepidle); + ct_idle_exit(); + cpu_pm_exit(); if (ret) @@ -49,6 +52,7 @@ static struct cpuidle_driver armadaxp_id .name = "armada_xp_idle", .states[0] = ARM_CPUIDLE_WFI_STATE, .states[1] = { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = mvebu_v7_enter_idle, .exit_latency = 100, .power_usage = 50, @@ -57,6 +61,7 @@ static struct cpuidle_driver armadaxp_id .desc = "CPU power down", }, .states[2] = { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = mvebu_v7_enter_idle, .exit_latency = 1000, .power_usage = 5, @@ -72,6 +77,7 @@ static struct cpuidle_driver armada370_i .name = "armada_370_idle", .states[0] = ARM_CPUIDLE_WFI_STATE, .states[1] = { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = mvebu_v7_enter_idle, .exit_latency = 100, .power_usage = 5, @@ -87,6 +93,7 @@ static struct cpuidle_driver armada38x_i .name = "armada_38x_idle", .states[0] = ARM_CPUIDLE_WFI_STATE, .states[1] = { + .flags = CPUIDLE_FLAG_RCU_IDLE, .enter = mvebu_v7_enter_idle, .exit_latency = 10, .power_usage = 5, From patchwork Thu Jan 12 19:43:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099345 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 BA502C61DB3 for ; Thu, 12 Jan 2023 20:15:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4FE268E0002; Thu, 12 Jan 2023 15:15:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 486FE8E0001; Thu, 12 Jan 2023 15:15:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 264A88E0002; Thu, 12 Jan 2023 15:15:05 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 110438E0001 for ; Thu, 12 Jan 2023 15:15:05 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id BF5AFA0770 for ; Thu, 12 Jan 2023 20:15:04 +0000 (UTC) X-FDA: 80347250928.11.69E5051 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf01.hostedemail.com (Postfix) with ESMTP id F242A4001C for ; Thu, 12 Jan 2023 20:15:02 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=EPZzE64m; spf=none (imf01.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=1673554503; 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=CWtXQ9ScESvHC863qag21jQX+KK5xw/Ija2/01ku3yk=; b=YmAwrkZiNC07TDglphIDbCXCudpAOCyQufjqQTvDxUzo1AaIEhiNOVx55JolMJ2bFhWMPq 1ESuqlrp0J0WKUOSXGp8gCr+O+UnOtpTJ80ADbUnNvy0D64q9hFmw8aHaP20KV1snw0hjW AQzKrhWK0QgtAzUj6/mA8XY+1+NiprA= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=EPZzE64m; spf=none (imf01.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=1673554503; a=rsa-sha256; cv=none; b=SCCbOwMKU0XQ4qpCqguBppHB4n+C3NnpHTFxnG3cYoy3EqwDFjLIUB6HNiKUFHm1uKksTo vtvZuQmGcF8Ddh4Ak/jr+K5fdLWcDcQX/zHNBxkdq3mLt0oI7uOo06nIt6AVP/SNQNLNHY dLHawR61dc+mBmeMoyv89e4/SqPdZ9o= 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=CWtXQ9ScESvHC863qag21jQX+KK5xw/Ija2/01ku3yk=; b=EPZzE64m3oCXia+0wohNVHPJNI f4ZNUmyXPrJXWH7PL/wiKrgoxQtuCyfusu/y3sfTkworJKy8iifd1vPpHuP8cALb+9eexAF9i/bVo uujPfq/+tsg4qnvDB8OfG48pQXqBC3CNDcGcVnIOkcOltZ3//Ulq9Y9bpaRAZg+03QAYPkLcPO1s4 wONcCHCuHmLBFH0E7HMRRRMXZzsgmsm4f6hMvQuS12REPp2ZASTvrZVy/uINUGIc+agphKV1b+2yC JtrqWDPadPqhgKcTuFKtk4zf466ryZibze46GIPvhsYOTho1iX+RO3kAi0kCHINTSxmQEJ1fXTrIl AOBjoGlw==; 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 1pG3hY-005Oce-9l; Thu, 12 Jan 2023 19:57:28 +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 1E366303403; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id BAFC42CCF1F5C; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195540.007918454@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:25 +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 11/51] cpuidle,omap4: Push RCU-idle into driver References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: 6mh4mwfu36obod963kgex87ab9n815qb X-Rspam-User: X-Rspamd-Queue-Id: F242A4001C X-Rspamd-Server: rspam06 X-HE-Tag: 1673554502-357533 X-HE-Meta: U2FsdGVkX18v0GcWE0/wOz0Xc3LOhbCFuzFjZSjBP24J2mBgSHKqqgie5foAAV3ubPNv7vvvVsedqABiLsaN4kfj5T4i0JxYV+f7qt7s2RLM3H0oJMm9w4HkCbqw88H5m/2O3wcm0xt+3Lr+E8TY83XS2xfS8L1QLRTunOnkELFSsFrPWmHGmfGJj5h1xX8csGrI5O34vNWgQanY5bU0vgjPIjlWiz1zzJV9tePZ8hxrJ+rpGd47NtkmSMobS2wSyCyU0oVtYDKHqfQmVS6797die29X9A8CWQ9NCVkGfpI+8qAiGlpZ7ahWBX7gltUAwvG9CYvjjuVjf1EqIJY3YXGYgZstjuQ4dKkrNLOsn3P1sWqmmYPc8oJ8sOqe4crHbTtbxzPHEpdDZGTg1cnXX54l9XOcQbb8pamuh8SyqgrLd6VlvnKDRPGW4t0WAMcdczX16tLSqEtGhYD4ENkSb8A/fyEFEs1TPexltmbqL8AkDtf9cCeFi96Fe/WbVmsshnZVDEJLTnkvpXjtuHIUvrTVJ5roEUii0cOLAycm0v1dyAleWnWkdVwL1H/jgRjDsETVj3tSh8KhtEUOBl1J/+GxOlPamaiKJjSUjiUxyV5GID8OZqMPe4oQIVwC5BkxJn//sIyI6I4x8dCoDqnNC8LyL0I0hvafXEedLXTbDh3lVmasOY7AVSQI68CCoBCaZya3ZQSesh2C+izconkJSCA9L7vWuPjIAHr2bHQY+rhs4RL03yFFfMaceIrJjpzUSaWzd8QlJl7WVdjGO0lYsXDsRuS0BKPbEOvPYcBTEuIbF+f3vfBxcolnE3f+92TcAFHXlEa6RKMvdZBdOiSnUzuovaDfsPFWVd4fMk7tZ+7lVZw2Q+hRZ4EP4+w+e0h0TgVpZ2eoRnEpd6BhQ45blWEVksNmO2KjdWLW5bZd3SgNyppT3EIjqO/0wkOJWsQ1zMgw72RY4xp9rakn0Na b77tk5JP tNqfasyX05wmwpY6lyeS+ZJcZ8n3ea2EpMcLy+XF5K+eX2RnVH9Et9y7srdvfAJ/tdD23qFtu111VbdElKm+EBef1QtlYWtZoLhY06tGuLBfOPIzPutURe4jraLWCYyyHZSgrQnK1WyzcxacHuHfF59anZWqiHKRPXMQRw9BAAu9krDI7jX0pzLZJHJfYXB9aNTww5B+9kId/iNpqIm8hbNNUGdSJOTAoEh+NtkUTFQ2H9BStK/ugf0jy8N3FCPWGUj7Rh6fhs5e1Giku3R8kl9aEc5gR7XH0csy4GsS14n/yW6UEv6phxdamY1PZ5Lb6rbn2Bxjgnto7Y2Sl3NMsMSeBTTbtqDPNesNY1JLiNO/GKT1Pi9RacqxZ6Xt3mQfXSVI6D3uV1rSCuKxC+XYd2tcDEq1r2H/cp/ieWidwTbrIj9Vw3HMJ6m77OZhxMB6Q8VtOrRwFBRFYny7IyI7Fu3J9jMNeFdtGMkiVZ9S5aVuqIfiFSFxWuUHcrGB/vMXcVtrVcNZXK3thfuGwA5mn3dQ6DLt8jMvLDtwlBqc1SO69WAJO9kGoXrbWPhGHUIiLbHUV22JnDHR8Q/NYF+GGNvtNf9lN3b/Y8ustB17vnAzSaNDVERikCH+jX22/auGvOhM883EsYH+t1ybpPJ1gb1po/9ZCfL+WZCQJogtJhtrY5PbwYyf7JVjrcNJrFV+FKUGKrN2zIGAAmS54c9ITrU9HOxozA/B6woHmxfTx//m9aA1BvsFkODUoTt+S+5L1S9Atxx1iW+nll+J8LbsWhiNgFAW2+4xMwc8RhK4Mq0GTlXBJjqzWzjpDGNHWHEezEUd33gXhE4qWknNbCiRkT8c1ZlBt7hZcVTmqvLF+BLDVqruGC3iHvsuixIUxkXYpNhIIM62TFwciuBxweu9wNFuOwdn+8ls8sY05urv3fjtRcbM22kmnIREifCpDtwZrphadFw6ZpMghVZgminrRXYSz/oaI Mi0WNOYU TUDyVMNxL13yhZFwAZqNVo5txNkChcoa9COuq9HkYfr0gkkqjYrBjc/SLS7H0sb/pkA3NdTHH6vSXpnt2LQUKVa86UlOenB+Mjz1+y7zwWq07owzAZW0ikjUSPYP+a26BNmKUeFoxxrGE0IsQWGbmeeZ4tXWaNxCSycQvzT4UQiSe0jPX0XhA7CZ2552U8lid0f06Fd/g9bu1AS13+B/EcfukpnlthSSjgDb17pyEuJ3TetqdEbvnoEjqHbJi3vt0D+GZmQLXZx5bmw+OpolzBCqTywSq9W7xVrAEIbQWcGl2MYKHw+f0HWIPud2GH4eDb9V/hLcodlnoZuOZjTU/f/BaXQoyJNzB51NYd6tP7llU/x54XePD55LnRRe0rQPnOgchr/B4NTSlr4IcH7GqjNojpSOV6RAuk6CZoUzYpgICo1py3qK4aFiDQwUC0z8vp459n7EUFse5NgzvfuZ3dmrJoQinyN79ZLEtFKqc3jCLw/EldbWlQWh0m8EJ6GOtGLIcqyt6pgaVEdkytyJigKsmSc8GmfHKkSgUlPq/iKVrPt7yPUnwNUrnKpFQu7ty2xQbGXIXv+fKn9d3IoELc9p4C5s4dC5jr9uZqAP1fp/dpn/Jj5sAGdxOrVYCroJ3SnE8HSHp7ULUut/BMp/Mq+s5svoIpwMkD99wuHBQlNCR3n+39E+pF7/mZS2+jDVPxpsLe5tN1xjlHc214WAIvHSx5kvB3hg/UrbvIN4U/fFkDi9XPhPc319ZoCU/E+g21pLxcbZAzFp8slH3bjAP3W3aSV8FR2V6ZCpacAM91Gh+bTJYpLrNsDhyIokulJA/9IpeAt39y+Tt3ytTEK7fpRdvSxnuDVTe0uCFbcXJvmKS+EzQZAAbCrtNvGrgwC6wf71fJTlaX1MK7AD2Mkg/MdV4eKaMKfq9ERXosP3QdsQ09GCSzvEsKUDZ/piilCJUpoDeeyp+bUcmq9mndGWmj34oh7MP OIF+GfOR 0vYlTb/CLznQ/lWsokPWhl/g1sBDX09ZoXW8N82MYdaqtpFsEl5eFQPHf+zplidXaWq26yzVq6YowvGQASQzmNs3RoPUk8SkG+YdHY+O5MhOO2WSmTIXTgUXnsNC6sLbF94H+Ue4qeiqGecfldn8f2i3zQ/ggoSW81ayc1wSuBqcOtKRulv2G1byo9ScNcuem1u9jkL09b4pWnIKljwt3/eojwAzaVspzqsJgXMUeLrqfnd404UGU0ZaM4sKUazUjvL8bHnv6apXVsaxvpc3GFvkCx3jU8WJNlJWPHtYgw70G0NntWMzJDAGO1sTSe0BZfMreZNDsBjQwO5NPFn/uypSBMbLubnuEKzs0cO0Q5T2xI8PBB/mZP2hXrCRoJ9DCObHQ553ufHdvO/FQ1HfOeX0E52MWAqlLIEIpaL8mDrcTQgztGgW66Ca/sNPR3HHFeM1g4w9Z6+TUXCGIz227XPQa9WakKesTk7AI/xZ7kTzz86KQo/I+dHv+kt8ebllxvq/WWTg2NqUOHNBPtPqqTL+JsOdsti+sKpvphVgR5KlBA6fA50sw8EAYYKEKuH5E33NJVhTFnILHpVBcEHqHZvSNmVku0ozLmBYZuDWlzov6J1RF6bP5aVggjkidigLVGWDZa8PLKy14zb3kYPWKIydkDkFpUCuWncSSaAe7q0tPaDQtnuXB6o6z/W+G1Thi72NnY/6h99EkZ3pblonZdXDaJr3vibdaz0V1a6R9jxMxnMlTphLSY2DOinGOUirKMxr8H9NsWLJq30DUx5OMBUl59IJzldxYm2+s51y3ScWt1P1NoyvBaY52aTh9WLJ4DQd54fUF6VbIN0dP2tUym6pA2gpNQwpfwikxIQZ/NKHYRee4EJRqVvwQgUYx4E1j/QFAJmwPKENQxh5Gsnl1Xj6Gsb2UVBdqvQsugvTsJYu5KhlLwE3ZPJXf7J/POCTYsxz+F/v5SrLq+n5Iecm5M6pjBR1+ ZCUs/PX0 FYSmeuEOhiNqnCGrTjT/O0WwTvCHcCOoOyeuYaW13qTK+aI/RZrjXrME/GmnEz8QH+2BxeLoGakOg2nsRwRg5ITOLpad9RnzlI+Fs2NFsB6A== 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, some *four* times, before going idle is daft. Notably three times explicitly using RCU_NONIDLE() and once implicitly through cpu_pm_*(). Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Frederic Weisbecker Reviewed-by: Tony Lindgren Acked-by: Rafael J. Wysocki Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/arm/mach-omap2/cpuidle44xx.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) --- a/arch/arm/mach-omap2/cpuidle44xx.c +++ b/arch/arm/mach-omap2/cpuidle44xx.c @@ -105,7 +105,9 @@ static int omap_enter_idle_smp(struct cp } raw_spin_unlock_irqrestore(&mpu_lock, flag); + ct_idle_enter(); omap4_enter_lowpower(dev->cpu, cx->cpu_state); + ct_idle_exit(); raw_spin_lock_irqsave(&mpu_lock, flag); if (cx->mpu_state_vote == num_online_cpus()) @@ -151,10 +153,10 @@ static int omap_enter_idle_coupled(struc (cx->mpu_logic_state == PWRDM_POWER_OFF); /* Enter broadcast mode for periodic timers */ - RCU_NONIDLE(tick_broadcast_enable()); + tick_broadcast_enable(); /* Enter broadcast mode for one-shot timers */ - RCU_NONIDLE(tick_broadcast_enter()); + tick_broadcast_enter(); /* * Call idle CPU PM enter notifier chain so that @@ -166,7 +168,7 @@ static int omap_enter_idle_coupled(struc if (dev->cpu == 0) { pwrdm_set_logic_retst(mpu_pd, cx->mpu_logic_state); - RCU_NONIDLE(omap_set_pwrdm_state(mpu_pd, cx->mpu_state)); + omap_set_pwrdm_state(mpu_pd, cx->mpu_state); /* * Call idle CPU cluster PM enter notifier chain @@ -178,14 +180,16 @@ static int omap_enter_idle_coupled(struc index = 0; cx = state_ptr + index; pwrdm_set_logic_retst(mpu_pd, cx->mpu_logic_state); - RCU_NONIDLE(omap_set_pwrdm_state(mpu_pd, cx->mpu_state)); + omap_set_pwrdm_state(mpu_pd, cx->mpu_state); mpuss_can_lose_context = 0; } } } + ct_idle_enter(); omap4_enter_lowpower(dev->cpu, cx->cpu_state); cpu_done[dev->cpu] = true; + ct_idle_exit(); /* Wakeup CPU1 only if it is not offlined */ if (dev->cpu == 0 && cpumask_test_cpu(1, cpu_online_mask)) { @@ -194,9 +198,9 @@ static int omap_enter_idle_coupled(struc mpuss_can_lose_context) gic_dist_disable(); - RCU_NONIDLE(clkdm_deny_idle(cpu_clkdm[1])); - RCU_NONIDLE(omap_set_pwrdm_state(cpu_pd[1], PWRDM_POWER_ON)); - RCU_NONIDLE(clkdm_allow_idle(cpu_clkdm[1])); + clkdm_deny_idle(cpu_clkdm[1]); + omap_set_pwrdm_state(cpu_pd[1], PWRDM_POWER_ON); + clkdm_allow_idle(cpu_clkdm[1]); if (IS_PM44XX_ERRATUM(PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD) && mpuss_can_lose_context) { @@ -222,7 +226,7 @@ static int omap_enter_idle_coupled(struc cpu_pm_exit(); cpu_pm_out: - RCU_NONIDLE(tick_broadcast_exit()); + tick_broadcast_exit(); fail: cpuidle_coupled_parallel_barrier(dev, &abort_barrier); @@ -247,7 +251,8 @@ static struct cpuidle_driver omap4_idle_ /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */ .exit_latency = 328 + 440, .target_residency = 960, - .flags = CPUIDLE_FLAG_COUPLED, + .flags = CPUIDLE_FLAG_COUPLED | + CPUIDLE_FLAG_RCU_IDLE, .enter = omap_enter_idle_coupled, .name = "C2", .desc = "CPUx OFF, MPUSS CSWR", @@ -256,7 +261,8 @@ static struct cpuidle_driver omap4_idle_ /* C3 - CPU0 OFF + CPU1 OFF + MPU OSWR */ .exit_latency = 460 + 518, .target_residency = 1100, - .flags = CPUIDLE_FLAG_COUPLED, + .flags = CPUIDLE_FLAG_COUPLED | + CPUIDLE_FLAG_RCU_IDLE, .enter = omap_enter_idle_coupled, .name = "C3", .desc = "CPUx OFF, MPUSS OSWR", @@ -282,7 +288,8 @@ static struct cpuidle_driver omap5_idle_ /* C2 - CPU0 RET + CPU1 RET + MPU CSWR */ .exit_latency = 48 + 60, .target_residency = 100, - .flags = CPUIDLE_FLAG_TIMER_STOP, + .flags = CPUIDLE_FLAG_TIMER_STOP | + CPUIDLE_FLAG_RCU_IDLE, .enter = omap_enter_idle_smp, .name = "C2", .desc = "CPUx CSWR, MPUSS CSWR", From patchwork Thu Jan 12 19:43:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098767 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 05292C54EBE for ; Thu, 12 Jan 2023 19:57:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6B6EF8000B; Thu, 12 Jan 2023 14:57:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5AB8880009; Thu, 12 Jan 2023 14:57:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1FFC28000B; Thu, 12 Jan 2023 14:57:31 -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 021138000C for ; Thu, 12 Jan 2023 14:57:31 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id D302140E0A for ; Thu, 12 Jan 2023 19:57:30 +0000 (UTC) X-FDA: 80347206660.04.CC1C13D Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf30.hostedemail.com (Postfix) with ESMTP id C78AB80009 for ; Thu, 12 Jan 2023 19:57:28 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=FKLIwXsL; spf=none (imf30.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553449; 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=NQmAgIg3861PdWRPD/+8zQmqygF5xIi/7qaj1X27QYY=; b=4Tr8CppOlYsysobhuPg1Oua074xQCaZ4ZbNbJgXI6N7GmsXuwzacn3dYUmP4sgxmCkpd8j vb3+KhNKANvWs6S9YVL2RCXL/MBogHGGZT3n0GjFbeDP4pvJf1f4hzdsttw917rV6NEfkf nlYlIV/+cvEex0hbWih7IgEluDpRoXE= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=FKLIwXsL; spf=none (imf30.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553449; a=rsa-sha256; cv=none; b=0up9FrVjr4Hhpbxd+47YXLjLsudI7KWfP5dhn+R1fsozvp7K23nBBeXuF7QDN7S/K1O3KV 6vDy28kJX73lyn6/A+fAmw7GXeSLxvvFeCDndYAocFuvlwPwm6Z9gXNF37yLydJNp5ygKn kXUKzjWjsme6iW+ThbSk+bMxxmgWXpE= 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=NQmAgIg3861PdWRPD/+8zQmqygF5xIi/7qaj1X27QYY=; b=FKLIwXsLqSMTkfdrjYpRPs50iC /dZ8/rA7866IY1bP7MOMwGhQbwW0iJuXrxREmjWWzVcbzOSaZlDGTrUePB2nwarC2Yh1+X6s4N3V9 6cu76+LFHrZw0YNXmRxk7duxL9iqjz4iP0/30O/+/kXmWBYebdlus1yGQHEgBjwu8/3IhcMSjrE1/ 5igyOlZ7sKcztcJOY8on0ND65FJOhkbkvb0J6fFhWMzAqiflihKu/CriWYb93+MxlnQrAbdaq6Dkq GjWpP25XbP5Xvw0SdnOMreWPCRBsKKxhe+LwtJ+c/LTLhtbM/XP+ep478hFz3O2SEuR/27ZTMra+B xSlHMQYQ==; 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 1pG3hD-0045oH-1K; Thu, 12 Jan 2023 19:57:08 +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 23977303405; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id BF3F52CCF1F5E; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195540.068981667@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:26 +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 12/51] cpuidle,dt: Push RCU-idle into driver References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: saxmentkzi4d9e9odd6dh8d7tfdupn9w X-Rspam-User: X-Rspamd-Queue-Id: C78AB80009 X-Rspamd-Server: rspam06 X-HE-Tag: 1673553448-796728 X-HE-Meta: U2FsdGVkX1+tTnXLz36nQ1GTQaGzLi5/xwVlwz0TDiPa3z4QDx539eJe/Ur512DFNghfCVa61TnYp8P89LYAUKvHHi7QdqQ4YX60Bf2DPtTICFqBAAznNc6RZYqLFQ2YCEUQ7hh369X8JagDdVVFs/FsuVmIMSpS0l3lhnU5sbsKa6DNwwS1TgnZtOF+2VJF17l9DvXsPOjbBTQ9dzqcwV+9cHFaTis5s4Wm3EvV0kFiv/3ZAsqRFhEsGeu+pO2UQgCpZ6Ossyh44Y0y0YnUpF80dnWWIeh3WbXbirRqgjJ48kpsfj5D6PxS8cYMRUpaVMDOSw/jdIRSnnMAdyIBksSFYqpRtyfnGgpx1Fmgc3DlB36VcEFkQzIXfldiq3bD+59hQOZOKb0Epc5A0nqWICzbu9imurY4dbrGIgMUX2EgdOB9caNP6FdKbxswWlCOJiWy8oacpT1CRrHp3fqEK+l0T63EFbhe8LydNLj3ygJVVf49kXpbe4Zm+PU8gjTFPWOv6mFpU8yIyUaU/qYtjMdVU3QXxDgDCEjV2g+hLN9/QYtaOSvsYSGSRcOxLN9EDlB+P98mMKwyWfw1MZMQQ+ZKC7YiuugYgNZ0XkdP1SQ7OlgqGfxTl5tWq6761wV9MvizJAtyklPMkusB9vn5I3P7R3xUvXFyfqMK9d3sNhSE3a4B4h047gRaEsAfUGQQ5pzxBqdA0RIhx+qu99CveWXeBue0iJ34GRV9r6TSd/15W/NcIgz7y3/xIzeh+RMe3xRavrJhyW08MbKBNn36Laz6ZmCYQZ8bno6/I0eD8hpqx1VBNY2U+NI7uebYKKN1Zn94v9BWMyOQ96tUT32vCujJJKkCXVwszHR8havefUL4HRn9er+M8W8SAWfQXyPazUukdNp3oGtAoL/Dcy1MLWQUGWTifJX3kuUZkEUdRsbWZrMOvSus+oBGyB47Oi+rO58yy0q+djtHjx8NYQO Ba2fm32x CmqIJf85NkAdk7ywgtyStxEKexErZK94ZBszkodCqVroyntRHFxlVA+MPCv14Q7lSxcrZfl6/VDWpmt2q6mfst7LHJD5G2EO1BsnuKc1Xn2VsokHKSCHOs33xKyuKpRjWEqsUXvLdHIvuAzp5EarpZCtqEoKDWgtgCyRjYHEiJ5a3v4QvmMjbREzDg/Bo24ON2bXWWx4+GjvjiFR7HQV70OUz0wV2Wik9+DPon5mXFR+aJnX93UqTASprBcc6v/2uOWZuMh7y/z5JfmUtEBgc/6aaDOH5EqUCemEVVGnM2wPrG3SzHcSOmTKE3SgY1HQa3UDZzY8SigqAUmMFDPce7MkEXq1IPDIgMY/Y/+vYoDnmRVTcav6R6TKy6Vaj5UhDaKnrC7ZaU8tlxWg/XMUhNfz07z+Inw5AoVxwPGMVeUH7mlwUQEzERvWDXctbsEdlMMKUKvOMitCMPbEBHn4baclqgTb9mE6bZbt6l9q1mL6SXRsB7LKOfcpQ9ZWGw/R/6DflWaDDappNnIr/kZA8ACeXNkS59t4LKBwZfsOb1HvS0ylpNB+/BMp8AEdXj/Kyoct3GHY8+hiR4iBhwi1HIJd2+dinK+75lAZCSGEz+mQjJkbX+M47TJQVIS2IQRAGGYPslDDxZY1f+KKRgm0hhylU3MJa7vi36GzaOYvd1lx42SP+tCe/S5HZzO30ACH5OMfi8Yo7Qew/bqP4ec3cmbfGbYwPsmsEqDYkeMgS6zOIo64Bqt4/JZ8gJ4HLDYdDRSqjmJjrZk6If0WktaWTAs2wiuuHB0QFL8b4MSh55ATfmoD9XcqtBp1cqDs8caTNK6hxDRwrTujAB+5PZn/BpGmL3QQNcX/o7UTGKpaNRrE1TMfBCwCfYvNyjJrFdzTYNPSTW2SF8NK/G2DgNOtURZ2dTA9sI/M/HpXR/06TvBEEdvdWT6zTQ5jjGmF5z2oiSuHmxsS8R1E05XINPM9jZe5HgHcm bgHVeiNc hJoHWfFZ4U0sGxRkPQmbWVfR2chcpGHqjy5FZeEO0ijQQvoavpy4qu8T0drCc9ou0q+QqUfIXkczeSV6QwgX9peFWm8xctCuSFxavF7fd7MKavWk/kVJrPJSceu967dZYwLK2hoQld9n9XFmBVAm7Krl7HFQPDOFDF3338QWNCR5Qu443n0c1BF4q8u4WS9A2Fr+1PABxwyKQM7VYuQDVFzvT6YP8TEDq2lovPUqeAFUbxcPA/b9i4YabyvXAK3Hv0Rx/xhSK/CFmPxfUVPT3TUYithmpG09MkvBM1rjuDY/P/04sLXg0rcm3ghthqMNiUP7js/kBHipHGnAAuWXkktWhWjvHfjwMh5sa1tSz15rbpGYRRx5Pm5eLUzKaIGhR0VnhboDfqfRCbKdmoK0DeX3/k/AHe4siHzsHmsXCjupPwyJlIYw91GiQ0PP1HQ3bwhDmAVSHfXMZduzGORpQczMq1fzuh08aZ7nvxFpVWU9w0RtHQIh/GygbQGDHk+Jp8eBJ34TOb/eY96+cAxFgC9Cp9SkNRzaJ9ntZ/Z/6eYH/Hc5jEYc6L2T97VMTPSF4HINNsudpbJ+kdcC138MB/mUHXm4ciPNCBUCjyKiGX+fYR4VebztUSxRS+shb8ld4oj72GShYXoIsbtbKdobG2+AzSJ8NFuUx0rS85mw113GLIaOIDwyCgoaWKn3EbyJ2KUDGIPuLkCGsIDl46AnaE5qVtup5hzDOo0C+obqxj9dIa16NCLiZ5N+eYbbWqhOLDRrbpH8GwSW5aLjkfz6adm51ZgTLUEb9oV6CSKA+UuelQAKCL81aEU69Hku8Sfl9cd3T8TZF55Z+j25WHPF7z1G9thodNd5/2cR8s7Jpr88bq/GQ1huaU2QE85PZ6NDizMV3eR41w83hDD9Xprk9YTZrf6KyqrVnh8hW9gBXb2csbT/9fcRC7hAwTTuqzGIJAaR9PC4eUGupAuVMJo0ssyt+Owx1 d4G4NBJo E8ZoBdqbQcfu5t7J5vJbRzDPIPgQ2P8tbIZhQmoWatYhDE57srsvFmWkzSJSZhIovARZKiYHbsefENXBQ+DzcjN/UYVqBsZiqRHOQWIuQMSxfext/vTEStWnhjLgQDcKqjsZP/eelg3sqlhX4MEzESTmatPkDpcvnUR7DLr7o+JkejY2lXRG7l7gLmYuqRoaeChaUxJYOEWXyWwsEinCdTJ3F9L3kZORB5aUGzCQ/X23Rd3QYm1zulYmxqmLK/qf6tuv6hUkA8e2E3TtHAy5+1uKkpqlNqtf/I0Rq9jn+y4WpalZ9J9G2SaMF4Uh1qlSaHYBkbWzXQWBOqgkhRV3cUdG+etc2ON74pTNCAHgDJ4Xb0s35jrkI+NK+tq3ITlLyJTSRT0DBEpvrF5zisc354WjCPpgRk0qClZ7VuoHanAkJRCajZw/5v9rXCe6JAh4FYkqc89Xu4iXKjAbHkoG6dN92wJbiwig+PdymasFAQ/a3wivcvZmGaF7kGFwTyAWZPWlvBYfEsJHmcDOvlLrZXLO+0QF5MA/r9bUS196e0kEeKVDc6+gi2w1ym4d5p2Ftvx/gIi0n9QmMKBh3IWDYiB8D8hRy03lEtpYkc1GKXCftplOPraaWhwhc+OyoBPV6KFbsRkVXlKtSrHpUjA8oLoI24a6Ku4nBjL9eFdMwj+Ibd/9uTY65+Z8a6+tC5hpoNHLtW7AN4y3x7Dd0T/XxtolHIIpF18KnRdeexWaX3efperbAqbMty8Nz2/2uLnwbAYDbfmCOkDjFr6m46uscyCKqxJK789AwuhkLi4Td6Ofe5e8Cw77kk0XE201Uc4NJuYG0NZeytpEVU1zp9YkWHC6MFeslwFs9KNOAQvtIuPhA2c+gNk1dxBcrF97dlEPVFrqJkRdLyXFbfSPXIwXAKZEWY0BILJLS9bEh9vw29sTp4RqP+25W8e9/8uOgifjqQCOrWrJqZoUDA1rPmuHY1GuNdCQP q721GSBp TZ/8MzL5k41bURb+FVL7L+c7/SMKHa00bMzj1mCH0AXZ86vfwVOk7Yw5brSvjsBGoRoQI+4XLE2ZyIQ9pJ0R0+f9Y/De9v4jXR5Nx+ZoU8Sw== 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 before going idle is daft. Notably: this converts all dt_init_idle_driver() and __CPU_PM_CPU_IDLE_ENTER() users for they are inextrably intertwined. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/acpi/processor_idle.c | 2 ++ drivers/cpuidle/cpuidle-arm.c | 1 + drivers/cpuidle/cpuidle-big_little.c | 8 ++++++-- drivers/cpuidle/cpuidle-psci.c | 1 + drivers/cpuidle/cpuidle-qcom-spm.c | 1 + drivers/cpuidle/cpuidle-riscv-sbi.c | 1 + drivers/cpuidle/dt_idle_states.c | 2 +- include/linux/cpuidle.h | 2 ++ 8 files changed, 15 insertions(+), 3 deletions(-) --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c @@ -1219,6 +1219,8 @@ static int acpi_processor_setup_lpi_stat state->target_residency = lpi->min_residency; if (lpi->arch_flags) state->flags |= CPUIDLE_FLAG_TIMER_STOP; + if (i != 0 && lpi->entry_method == ACPI_CSTATE_FFH) + state->flags |= CPUIDLE_FLAG_RCU_IDLE; state->enter = acpi_idle_lpi_enter; drv->safe_state_index = i; } --- a/drivers/cpuidle/cpuidle-big_little.c +++ b/drivers/cpuidle/cpuidle-big_little.c @@ -64,7 +64,8 @@ static struct cpuidle_driver bl_idle_lit .enter = bl_enter_powerdown, .exit_latency = 700, .target_residency = 2500, - .flags = CPUIDLE_FLAG_TIMER_STOP, + .flags = CPUIDLE_FLAG_TIMER_STOP | + CPUIDLE_FLAG_RCU_IDLE, .name = "C1", .desc = "ARM little-cluster power down", }, @@ -85,7 +86,8 @@ static struct cpuidle_driver bl_idle_big .enter = bl_enter_powerdown, .exit_latency = 500, .target_residency = 2000, - .flags = CPUIDLE_FLAG_TIMER_STOP, + .flags = CPUIDLE_FLAG_TIMER_STOP | + CPUIDLE_FLAG_RCU_IDLE, .name = "C1", .desc = "ARM big-cluster power down", }, @@ -124,11 +126,13 @@ static int bl_enter_powerdown(struct cpu struct cpuidle_driver *drv, int idx) { cpu_pm_enter(); + ct_idle_enter(); cpu_suspend(0, bl_powerdown_finisher); /* signals the MCPM core that CPU is out of low power state */ mcpm_cpu_powered_up(); + ct_idle_exit(); cpu_pm_exit(); --- a/drivers/cpuidle/dt_idle_states.c +++ b/drivers/cpuidle/dt_idle_states.c @@ -77,7 +77,7 @@ static int init_state_node(struct cpuidl if (err) desc = state_node->name; - idle_state->flags = 0; + idle_state->flags = CPUIDLE_FLAG_RCU_IDLE; if (of_property_read_bool(state_node, "local-timer-stop")) idle_state->flags |= CPUIDLE_FLAG_TIMER_STOP; /* --- a/include/linux/cpuidle.h +++ b/include/linux/cpuidle.h @@ -289,7 +289,9 @@ extern s64 cpuidle_governor_latency_req( if (!is_retention) \ __ret = cpu_pm_enter(); \ if (!__ret) { \ + ct_idle_enter(); \ __ret = low_level_idle_enter(state); \ + ct_idle_exit(); \ if (!is_retention) \ cpu_pm_exit(); \ } \ From patchwork Thu Jan 12 19:43:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098768 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 B8874C61DB3 for ; Thu, 12 Jan 2023 19:57:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9C66080009; Thu, 12 Jan 2023 14:57:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 932EE8000D; Thu, 12 Jan 2023 14:57:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2C41A8000F; Thu, 12 Jan 2023 14:57:31 -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 F2DD880009 for ; Thu, 12 Jan 2023 14:57:30 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id CB1EE40357 for ; Thu, 12 Jan 2023 19:57:30 +0000 (UTC) X-FDA: 80347206660.07.7CF8704 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf10.hostedemail.com (Postfix) with ESMTP id 9563DC0011 for ; Thu, 12 Jan 2023 19:57:28 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=X3sYuy6f; dmarc=none; spf=none (imf10.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=1673553449; 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=U+TfVkp0QsADQiBGN/hq9wf1EsYpsa4vTkdZ0mLdl1k=; b=PF7l2aGN991fa/R3kjBqBM+84zLGbYEan10FJSjnfgYohN3k3GbAp2SPMbr0rjMI2+OIq/ djJaTsVgK81NbKhjH4ams+FilrdSLREtyf+976SQwSpEbvzaA9V+Y5hPMkEzaa/qY6tFpe x3hN1rXyy1wqQmSHbPearxNxd+FkIxk= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=X3sYuy6f; dmarc=none; spf=none (imf10.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=1673553449; a=rsa-sha256; cv=none; b=YtSQwCMxAYtKikRWsL3meOWsISdR3tALsDTBNUtO9x0STzyKSyk2T6v67MAK9yKz/Ml1RZ SsACeBlvA6DMZ58z7dHg0oupfTl0OchfjTFLH3e30pYa8vTIa9QX24arIFXsFseR7lC7l4 Hs/LD6f5nkhqVr/ilhu2RjvLbxUoGxk= 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=U+TfVkp0QsADQiBGN/hq9wf1EsYpsa4vTkdZ0mLdl1k=; b=X3sYuy6fL3RqgKJT5/kyY/T0ww A4w/aGqBXYzbjq0ovUGzSiXSnwqu0hAP6aWbAx6EM9RQMixaeSFkTeMoq5Tp8g8+2xTyyfjh6NtMy mC6f71rhHNZc8yxzfzYNgVvDLSBEmfEe+153OuiRRLXriJ46cM5MvqvIC8SrpxxjzTew2zrO+fd+H yeusXlMUu35aUpqRVpXLv7cU+tiHfK7ZE9ipHRum1o7+Yb+riAOhBcycD9sPHIAzeWqFkY5/vtieb ve85chw+D6aD1ff3Jdui4CMF6z/ux8MH+wBBaRcv1NSj17Q08cT1A6MpfchKYVWU8r5TfnmKZG09P RV5gCBxw==; 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 1pG3hD-0045oK-2O; Thu, 12 Jan 2023 19:57:10 +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 2D90C30340F; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id C388F2CCF1F60; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195540.130014793@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:27 +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 13/51] cpuidle: Fix ct_idle_*() usage References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 9563DC0011 X-Stat-Signature: dfe43khfso97k4ohxwq7tuhhhi5hnsih X-HE-Tag: 1673553448-959056 X-HE-Meta: U2FsdGVkX18AwAC3CnP/4Vdjik7AGAeowmUGmr459hrU68y44PunidOwemZcIb4gWbo442iDkM2LxyIVPifdDS7OpQeY8irjW2BunSNbaQzQZbzzKXURrfbjdC1Cs1MlphjjECBsUZLvlCbZJ2OzdVLDLwXw5IBeAoIF98SyR8leJwJ8cVCCtgBWag4PK7xCkceM/5Cp26y+W7q8YCGTd2R5l3xdfbouuLn6KabOulE75TpzugN1blu/yrv0TdkOk73Sid8cicfxN1WVTvDTcMZv+dw2yMIa8NTCHKyVPr1wFmgkIcRWWK1czsss1saD5QIaSbWfM9JHx7hCtlz2DgS2WRS3qO2jfWoUX0gifDeNBKBdFqC/lM/xvRnnbHzxMvLkZ8zRru3OD/sNd0XFab4T88OTjex0plvmi+O+aj+mBlQoGjbUvyQfJDUtlJp/bIaTA123d1QNmXt+/7HHiPmLsuL/aWc0jn5KuALae0jxfyIo0jhNkylp9NB17uwptpNfeROQvjp9VNGXAF069El/qKJ5K6j+cj25izt5Gnhrpy8pHuQHwXCO6/6xXJOVmoIX8h+8TyvI1xVlSzSpa8T4TjrScY5iwtsVTAj9bUsOZ5Ek7gUyWK8p6oPw6diyf2VmeW5NGIpvbcffoUEaTuu0adQW7cR/Vihe1KYqlFxHxKD9SuVR3djALA6ggIpvBHFhXyH0bYAUC9Mnp+0/AMSHPW4FA87KsZ44lb3CObzqKjMhApmcJIJ9riFveETmkaER2IdgunY+TNhFDPbA9tVamq81SqFCl5mTQ0ZnfigHwlsLNqI0lVEXcvCXAymKtVYYe98fFdXklpqZ28mxbw9YsP/jMZnaIXYLq3w0dzSOyUMz4dO92aekKSja26EUfUeN+ybepGDh5hHuDlFXnLAp2M48t1GC255tINwZ9dgBMp44KIBhp7gYtc+mZfoqoY2rBUiOr8Y9O0lzAca CLkInVnW v8V+1IGyXanlQNTXicHk767YzOzBSIEY4wLB7aoefVRGDIbLv0PqvIcI178RXiRXvUud0f9NhzE73HZKJVenUyBxLUjJBIbFdo9tOce9mikYcDElpN8LDT6aU0NF2ibqRbOkovYH8w3xIs+H00qskA9vheBFQskh3R1nIUnQ2X0QDc8N5hWkdT10xjPTxS4FemN67YSGdyOJw66IwFY6fT0pCDSLUBeq5XLdeq7vQR8tsdg9B3rjXWi/H/a0wFiL55pyzbzH7DN1xrY1LmhFzMfuUGXOuP5umUtILugasF77SeOYJza2Fi9xtudJqQ2Q3+z5DFLQsa8OM0fVuD0/YmgFz6Q6ZeNnfEGEzcu25FyGJW6XT8T5VixwCncgPYpIbP0zJZGHDllu3zp5mYJUAVHEPloFjWSB8df8uK85WGjhPsEdxxyF87EIkQVsS3hSOdljL9tX6OTO/kNS6fKSnt12dXhzxhlOYl+MSs7nUOt0wVV7mtPSJSGkaSmzhDJzZabqLF2PKTHmsFdZtJwRfhwEgpKlDtA0dUZyEMBMOzCW3VGH2JkrlMTidi6+z2K/O6CNE5CHOqEMhDjPd2DMPgv4Cv/kFcxQe1V/SB8ICUCo6iXs5UZhK5tkJgf9kpIXBXHzXA2+fPLqp8DYj6sJEFIqIydM/cEgWxcylQXtBYLoBOCJfgEJJjHe2epBpDaVY8co3l3QiOrcfdSrqxcT9QirDKZvlDBPhrVc2SVkvp+JGp8qZsQP1YpmSZ5wepsMcLx344afh+1nj5tq6Xkmnn/mcA8CKr73XjfjcqnV9JM79rzGgAdQJjr/qVD3ktXsv+BHKk6OtQOMEv3xbjRXI9EATw7Ny77QcT2sr0XY2/4SU6q/L+ohs6ct5CSwfaQNVb8PVov23wYZGjBu7g9hkswakiRfENSqiP2CLww0ysJU4PMX30WMG0hy4Gfo8nxB48rS5o08OzXozN5v8u3nA+8ikUEqy zpCnjl+C rLI6cLLir2Yk7OvtXTUMNBIoNXyy95aLkeZUdrvvrn7VyeG1LrDqvcIdes9ATLmVZQ1n+EohDumDGTXvgrcyauVVzfSN2BRIHJzDLRnfSiKWG4E84X8bA16rutXOosQwSeqz1PhLKMGfodG0k9qjeJz19GhLi+n08LcS/atXwTfSkQCxTA65jGZ62EBawbW3q0dp5YCOTS6P34voZkISNHCqZgDxc68HNRAFYds85SPVZohU7IbVTlU6SOYMFUa5zioPckb9jUe4yqb3PvnpoNZVduKvOGrWBaa/i5xwa4NEuhFDJLxhlHwxxxcOZjWROa6umW0MloNmDfhExHouIK9I8alyLv2zzjcgWRmLw36UJ/F2uOwg+DAoANeIpXeUFYAdlrC57RgwFxbVyDcKe5zJ22t3OW7DO9G/n3RmW5t7iKpehPAdxVgfXhv31agelHiTry61KCb9I1Zm5nlNlwoLLtTy5skYkn+nz74UckA9kia5XR3DpDekj1fvQMZLpdyfDa7ihQu1+MbckyGXNd2QFns0Xk26ip31tqhAI+P5MrjH0C3I0upNd+ewzm8x10jq/d16lWkKL/LL4xt5Q3RsXbwKknjUL/gulMOGmU2sJtTcE8CNhtRUZF1uV6SPqlagyfgdqSq9TaZfpD3hxw1c9e1VXitHDjDNyEhk/rcwenF5+GiLJWTFkZvE9ia85gE4h6QDzz7lhWK+3faXtxOYz+S2XW+qSGKCxnqXyVPlkZLvEs83Q7rj/NgOABO1OSR65LgBgrYgzRjv7UzRxq5tHzR9pq6Qhxzx1n1+D5yKYylnc6TKdudIRzvxAZ2V990qnGct97e7x6gJNtWmIcdV/mi5bV8hq0rSHPj6leCfrb9+ghJFxCcn7lObdWami+EkT8gIW1D5so971hMVMb0nAgyc2b+Mtx2zfXDKUjGlYDVoMFvaDlWdblNYK0+hoHrHy4VqZCeYWUlhH0tWwmiUbDzlL xjBSPTlQ mSq/obHsKh8YDv+xsekVuXbwd2pPToi4MRQ4geVd21upAnB/WsMRNC+lr6hRI+41rUbdHWDwnBQ3hTadxbXaRkDtf7FBBgFnnDrhBQKmgkB7RHUOxIqkVYOW/GCkRQHDt1FghoIeTExllMXBOSO4nXMeV8+weUKiszBL4rqXhyq8Tt3BOkCWBx1sAmmvIZeb6I4BkazylAX44ipiHPFrp+IqFPf+0S8V1fNNDBFweUTGFvUFNCGTmJ2e4TgSe89xrFQKUKymn2lsFqB5qC7SGy0eBSUJJAy/l/XdrHGu5oS4RRYkgCcReqhIN/3Zq30Vtw+14qRfl2e1PbDwALDYGTuS8a5YvW4AauKxG6tSkzcIG0tcJGxXCkdah0Md5oznOssiKq6773+rxcTix50vHYmiai9c3CPcbNZjD5RqTp8yo8iVAMSsMf2+AFZtztqsLyN0Ey+fi9iKJ953rLrh5D9DM9QmmaOPqqGlJVJ+/20rBMIusItTAIhbcIKqtHd1Gk4ayo5BUg68aspXRGyrPAdSYX7oOu2LZ31zyIX5vPO8Q2ivMNu7wyp/g6Bd1dGt363HHrYbOVrAI0xRgvctw5MO41O/ZDInd8ewBErFIG9ZvYKgKM5N5waosOSP05K4Pd1M1OrxgoX1nfHNh7bz/q5oU3XkQf1L1TDmy1lGz33mT2IqyDwZ1x0h8WLZhobI/hjQFQXvdaPgdBy2sE46Nu2pMuildCXMZGUbPRFlKZmaVHQssmuUXt1t5okQzlPuAc/dzgErr0+U6eD7FvCyc8xDpHLaP8XZvVhDH9BbPvrV8/rqxtN4IpL3YdonsvpGeeXCkmQBphtWeEbnrSLjIC8vZ9hdaDVAWbm2vBhxMQCvfez3jwo0zIIBO8VchPm5SM4PvtUxBQIvsZhSz4smOcq+axK6FhrM/onMTZ/X1PpUk3N9WjoyjWmamm3UxqU/37OhSuT0h3alKk6CULosjpxV720/J R0TxsELT KDQOxpc+P4B4eWyUVIlDdUCZxh4d/h31rrF7vzfIjvcWPNI/Fd06cE78G/CKL5oL7SQYDMbV+5Kio1vUl6U2ScrVrAq85lOVvcOLKCznQTsDsZloE5XN9IAF6GRWCvtfMgj+Y1FFoVfE8+GRqdu+w9 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: The whole disable-RCU, enable-IRQS dance is very intricate since changing IRQ state is traced, which depends on RCU. Add two helpers for the cpuidle case that mirror the entry code. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/arm/mach-imx/cpuidle-imx6q.c | 4 +-- arch/arm/mach-imx/cpuidle-imx6sx.c | 4 +-- arch/arm/mach-omap2/cpuidle34xx.c | 4 +-- arch/arm/mach-omap2/cpuidle44xx.c | 8 +++--- drivers/acpi/processor_idle.c | 8 ++++-- drivers/cpuidle/cpuidle-big_little.c | 4 +-- drivers/cpuidle/cpuidle-mvebu-v7.c | 4 +-- drivers/cpuidle/cpuidle-psci.c | 4 +-- drivers/cpuidle/cpuidle-riscv-sbi.c | 4 +-- drivers/cpuidle/cpuidle-tegra.c | 8 +++--- drivers/cpuidle/cpuidle.c | 11 ++++---- include/linux/clockchips.h | 4 +-- include/linux/cpuidle.h | 34 ++++++++++++++++++++++++-- kernel/sched/idle.c | 45 ++++++++++------------------------- kernel/time/tick-broadcast.c | 6 +++- 15 files changed, 86 insertions(+), 66 deletions(-) --- a/arch/arm/mach-imx/cpuidle-imx6q.c +++ b/arch/arm/mach-imx/cpuidle-imx6q.c @@ -25,9 +25,9 @@ static int imx6q_enter_wait(struct cpuid imx6_set_lpm(WAIT_UNCLOCKED); raw_spin_unlock(&cpuidle_lock); - ct_idle_enter(); + ct_cpuidle_enter(); cpu_do_idle(); - ct_idle_exit(); + ct_cpuidle_exit(); raw_spin_lock(&cpuidle_lock); if (num_idle_cpus-- == num_online_cpus()) --- a/arch/arm/mach-imx/cpuidle-imx6sx.c +++ b/arch/arm/mach-imx/cpuidle-imx6sx.c @@ -47,9 +47,9 @@ static int imx6sx_enter_wait(struct cpui cpu_pm_enter(); cpu_cluster_pm_enter(); - ct_idle_enter(); + ct_cpuidle_enter(); cpu_suspend(0, imx6sx_idle_finish); - ct_idle_exit(); + ct_cpuidle_exit(); cpu_cluster_pm_exit(); cpu_pm_exit(); --- a/arch/arm/mach-omap2/cpuidle34xx.c +++ b/arch/arm/mach-omap2/cpuidle34xx.c @@ -133,9 +133,9 @@ static int omap3_enter_idle(struct cpuid } /* Execute ARM wfi */ - ct_idle_enter(); + ct_cpuidle_enter(); omap_sram_idle(); - ct_idle_exit(); + ct_cpuidle_exit(); /* * Call idle CPU PM enter notifier chain to restore --- a/arch/arm/mach-omap2/cpuidle44xx.c +++ b/arch/arm/mach-omap2/cpuidle44xx.c @@ -105,9 +105,9 @@ static int omap_enter_idle_smp(struct cp } raw_spin_unlock_irqrestore(&mpu_lock, flag); - ct_idle_enter(); + ct_cpuidle_enter(); omap4_enter_lowpower(dev->cpu, cx->cpu_state); - ct_idle_exit(); + ct_cpuidle_exit(); raw_spin_lock_irqsave(&mpu_lock, flag); if (cx->mpu_state_vote == num_online_cpus()) @@ -186,10 +186,10 @@ static int omap_enter_idle_coupled(struc } } - ct_idle_enter(); + ct_cpuidle_enter(); omap4_enter_lowpower(dev->cpu, cx->cpu_state); cpu_done[dev->cpu] = true; - ct_idle_exit(); + ct_cpuidle_exit(); /* Wakeup CPU1 only if it is not offlined */ if (dev->cpu == 0 && cpumask_test_cpu(1, cpu_online_mask)) { --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c @@ -642,6 +642,8 @@ static int __cpuidle acpi_idle_enter_bm( */ bool dis_bm = pr->flags.bm_control; + instrumentation_begin(); + /* If we can skip BM, demote to a safe state. */ if (!cx->bm_sts_skip && acpi_idle_bm_check()) { dis_bm = false; @@ -663,11 +665,11 @@ static int __cpuidle acpi_idle_enter_bm( raw_spin_unlock(&c3_lock); } - ct_idle_enter(); + ct_cpuidle_enter(); acpi_idle_do_entry(cx); - ct_idle_exit(); + ct_cpuidle_exit(); /* Re-enable bus master arbitration */ if (dis_bm) { @@ -677,6 +679,8 @@ static int __cpuidle acpi_idle_enter_bm( raw_spin_unlock(&c3_lock); } + instrumentation_end(); + return index; } --- a/drivers/cpuidle/cpuidle-big_little.c +++ b/drivers/cpuidle/cpuidle-big_little.c @@ -126,13 +126,13 @@ static int bl_enter_powerdown(struct cpu struct cpuidle_driver *drv, int idx) { cpu_pm_enter(); - ct_idle_enter(); + ct_cpuidle_enter(); cpu_suspend(0, bl_powerdown_finisher); /* signals the MCPM core that CPU is out of low power state */ mcpm_cpu_powered_up(); - ct_idle_exit(); + ct_cpuidle_exit(); cpu_pm_exit(); --- a/drivers/cpuidle/cpuidle-mvebu-v7.c +++ b/drivers/cpuidle/cpuidle-mvebu-v7.c @@ -36,9 +36,9 @@ static int mvebu_v7_enter_idle(struct cp if (drv->states[index].flags & MVEBU_V7_FLAG_DEEP_IDLE) deepidle = true; - ct_idle_enter(); + ct_cpuidle_enter(); ret = mvebu_v7_cpu_suspend(deepidle); - ct_idle_exit(); + ct_cpuidle_exit(); cpu_pm_exit(); --- a/drivers/cpuidle/cpuidle-psci.c +++ b/drivers/cpuidle/cpuidle-psci.c @@ -74,7 +74,7 @@ static int __psci_enter_domain_idle_stat else pm_runtime_put_sync_suspend(pd_dev); - ct_idle_enter(); + ct_cpuidle_enter(); state = psci_get_domain_state(); if (!state) @@ -82,7 +82,7 @@ static int __psci_enter_domain_idle_stat ret = psci_cpu_suspend_enter(state) ? -1 : idx; - ct_idle_exit(); + ct_cpuidle_exit(); if (s2idle) dev_pm_genpd_resume(pd_dev); --- a/drivers/cpuidle/cpuidle-riscv-sbi.c +++ b/drivers/cpuidle/cpuidle-riscv-sbi.c @@ -126,7 +126,7 @@ static int __sbi_enter_domain_idle_state else pm_runtime_put_sync_suspend(pd_dev); - ct_idle_enter(); + ct_cpuidle_enter(); if (sbi_is_domain_state_available()) state = sbi_get_domain_state(); @@ -135,7 +135,7 @@ static int __sbi_enter_domain_idle_state ret = sbi_suspend(state) ? -1 : idx; - ct_idle_exit(); + ct_cpuidle_exit(); if (s2idle) dev_pm_genpd_resume(pd_dev); --- a/drivers/cpuidle/cpuidle-tegra.c +++ b/drivers/cpuidle/cpuidle-tegra.c @@ -183,7 +183,7 @@ static int tegra_cpuidle_state_enter(str tegra_pm_set_cpu_in_lp2(); cpu_pm_enter(); - ct_idle_enter(); + ct_cpuidle_enter(); switch (index) { case TEGRA_C7: @@ -199,7 +199,7 @@ static int tegra_cpuidle_state_enter(str break; } - ct_idle_exit(); + ct_cpuidle_exit(); cpu_pm_exit(); tegra_pm_clear_cpu_in_lp2(); @@ -240,10 +240,10 @@ static int tegra_cpuidle_enter(struct cp if (index == TEGRA_C1) { if (do_rcu) - ct_idle_enter(); + ct_cpuidle_enter(); ret = arm_cpuidle_simple_enter(dev, drv, index); if (do_rcu) - ct_idle_exit(); + ct_cpuidle_exit(); } else ret = tegra_cpuidle_state_enter(dev, index, cpu); --- a/drivers/cpuidle/cpuidle.c +++ b/drivers/cpuidle/cpuidle.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -152,12 +153,12 @@ static void enter_s2idle_proper(struct c */ stop_critical_timings(); if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) - ct_idle_enter(); + ct_cpuidle_enter(); target_state->enter_s2idle(dev, drv, index); if (WARN_ON_ONCE(!irqs_disabled())) - local_irq_disable(); + raw_local_irq_disable(); if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) - ct_idle_exit(); + ct_cpuidle_exit(); tick_unfreeze(); start_critical_timings(); @@ -235,14 +236,14 @@ int cpuidle_enter_state(struct cpuidle_d stop_critical_timings(); if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) - ct_idle_enter(); + ct_cpuidle_enter(); entered_state = target_state->enter(dev, drv, index); if (WARN_ONCE(!irqs_disabled(), "%ps leaked IRQ state", target_state->enter)) raw_local_irq_disable(); if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) - ct_idle_exit(); + ct_cpuidle_exit(); start_critical_timings(); sched_clock_idle_wakeup_event(); --- a/include/linux/clockchips.h +++ b/include/linux/clockchips.h @@ -211,7 +211,7 @@ extern int tick_receive_broadcast(void); extern void tick_setup_hrtimer_broadcast(void); extern int tick_check_broadcast_expired(void); # else -static inline int tick_check_broadcast_expired(void) { return 0; } +static __always_inline int tick_check_broadcast_expired(void) { return 0; } static inline void tick_setup_hrtimer_broadcast(void) { } # endif @@ -219,7 +219,7 @@ static inline void tick_setup_hrtimer_br static inline void clockevents_suspend(void) { } static inline void clockevents_resume(void) { } -static inline int tick_check_broadcast_expired(void) { return 0; } +static __always_inline int tick_check_broadcast_expired(void) { return 0; } static inline void tick_setup_hrtimer_broadcast(void) { } #endif /* !CONFIG_GENERIC_CLOCKEVENTS */ --- a/include/linux/cpuidle.h +++ b/include/linux/cpuidle.h @@ -14,6 +14,7 @@ #include #include #include +#include #define CPUIDLE_STATE_MAX 10 #define CPUIDLE_NAME_LEN 16 @@ -115,6 +116,35 @@ struct cpuidle_device { DECLARE_PER_CPU(struct cpuidle_device *, cpuidle_devices); DECLARE_PER_CPU(struct cpuidle_device, cpuidle_dev); +static __always_inline void ct_cpuidle_enter(void) +{ + lockdep_assert_irqs_disabled(); + /* + * Idle is allowed to (temporary) enable IRQs. It + * will return with IRQs disabled. + * + * Trace IRQs enable here, then switch off RCU, and have + * arch_cpu_idle() use raw_local_irq_enable(). Note that + * ct_idle_enter() relies on lockdep IRQ state, so switch that + * last -- this is very similar to the entry code. + */ + trace_hardirqs_on_prepare(); + lockdep_hardirqs_on_prepare(); + instrumentation_end(); + ct_idle_enter(); + lockdep_hardirqs_on(_RET_IP_); +} + +static __always_inline void ct_cpuidle_exit(void) +{ + /* + * Carefully undo the above. + */ + lockdep_hardirqs_off(_RET_IP_); + ct_idle_exit(); + instrumentation_begin(); +} + /**************************** * CPUIDLE DRIVER INTERFACE * ****************************/ @@ -289,9 +319,9 @@ extern s64 cpuidle_governor_latency_req( if (!is_retention) \ __ret = cpu_pm_enter(); \ if (!__ret) { \ - ct_idle_enter(); \ + ct_cpuidle_enter(); \ __ret = low_level_idle_enter(state); \ - ct_idle_exit(); \ + ct_cpuidle_exit(); \ if (!is_retention) \ cpu_pm_exit(); \ } \ --- a/kernel/sched/idle.c +++ b/kernel/sched/idle.c @@ -51,18 +51,22 @@ __setup("hlt", cpu_idle_nopoll_setup); static noinline int __cpuidle cpu_idle_poll(void) { + instrumentation_begin(); trace_cpu_idle(0, smp_processor_id()); stop_critical_timings(); - ct_idle_enter(); - local_irq_enable(); + ct_cpuidle_enter(); + raw_local_irq_enable(); while (!tif_need_resched() && (cpu_idle_force_poll || tick_check_broadcast_expired())) cpu_relax(); + raw_local_irq_disable(); - ct_idle_exit(); + ct_cpuidle_exit(); start_critical_timings(); trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id()); + local_irq_enable(); + instrumentation_end(); return 1; } @@ -85,44 +89,21 @@ void __weak arch_cpu_idle(void) */ void __cpuidle default_idle_call(void) { - if (current_clr_polling_and_test()) { - local_irq_enable(); - } else { - + instrumentation_begin(); + if (!current_clr_polling_and_test()) { trace_cpu_idle(1, smp_processor_id()); stop_critical_timings(); - /* - * arch_cpu_idle() is supposed to enable IRQs, however - * we can't do that because of RCU and tracing. - * - * Trace IRQs enable here, then switch off RCU, and have - * arch_cpu_idle() use raw_local_irq_enable(). Note that - * ct_idle_enter() relies on lockdep IRQ state, so switch that - * last -- this is very similar to the entry code. - */ - trace_hardirqs_on_prepare(); - lockdep_hardirqs_on_prepare(); - ct_idle_enter(); - lockdep_hardirqs_on(_THIS_IP_); - + ct_cpuidle_enter(); arch_cpu_idle(); - - /* - * OK, so IRQs are enabled here, but RCU needs them disabled to - * turn itself back on.. funny thing is that disabling IRQs - * will cause tracing, which needs RCU. Jump through hoops to - * make it 'work'. - */ raw_local_irq_disable(); - lockdep_hardirqs_off(_THIS_IP_); - ct_idle_exit(); - lockdep_hardirqs_on(_THIS_IP_); - raw_local_irq_enable(); + ct_cpuidle_exit(); start_critical_timings(); trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id()); } + local_irq_enable(); + instrumentation_end(); } static int call_cpuidle_s2idle(struct cpuidle_driver *drv, --- a/kernel/time/tick-broadcast.c +++ b/kernel/time/tick-broadcast.c @@ -622,9 +622,13 @@ struct cpumask *tick_get_broadcast_onesh * to avoid a deep idle transition as we are about to get the * broadcast IPI right away. */ -int tick_check_broadcast_expired(void) +noinstr int tick_check_broadcast_expired(void) { +#ifdef _ASM_GENERIC_BITOPS_INSTRUMENTED_NON_ATOMIC_H + return arch_test_bit(smp_processor_id(), cpumask_bits(tick_broadcast_force_mask)); +#else return cpumask_test_cpu(smp_processor_id(), tick_broadcast_force_mask); +#endif } /* From patchwork Thu Jan 12 19:43:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098769 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 E915DC63797 for ; Thu, 12 Jan 2023 19:57:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CD7E88000F; Thu, 12 Jan 2023 14:57:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C37E18000D; Thu, 12 Jan 2023 14:57:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5F7B880010; Thu, 12 Jan 2023 14:57:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 125288000D for ; Thu, 12 Jan 2023 14:57:31 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id E41D740E0B for ; Thu, 12 Jan 2023 19:57:30 +0000 (UTC) X-FDA: 80347206660.05.8474FC5 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf28.hostedemail.com (Postfix) with ESMTP id 5987EC0019 for ; Thu, 12 Jan 2023 19:57:28 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=dU184L9q; spf=none (imf28.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553449; 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=iAxp8x4lKKvpjseCn+ZLFQYojoG8LdH6O7HFdGbhL8c=; b=a2HrxJuG/a0hSOXDYuPBv0MTmgbr5/iiqWM8FSmUoMfN8Foz7tfaA7JCesqt4b3GHNHR/E rpINySV5AInorz0eSJNHh4GL2azXbICNqsbrXi78L7DdtDJFG2Tt+xYFCq4AGHLDONCmoW AZOV8srXzDtygpaFdvhMqg3f3YdCylk= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=dU184L9q; spf=none (imf28.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553449; a=rsa-sha256; cv=none; b=F6ITSqtOdfhxOISN7tgcPgrz0Qz0+1nd09/z0cjCquefCFKA28fnvxBsDe+yC+9mIYuEXr s2EX36a8KMtCn46imD25jvtDtFU4sMPHL38D7rC24u9UwoGj94s9COPtJp8Xq8j6GDnaBV V0VT8KyCxOavL5rhZf9Im4FmxwI7mlA= 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=iAxp8x4lKKvpjseCn+ZLFQYojoG8LdH6O7HFdGbhL8c=; b=dU184L9qptXqKzhAn2XAGLCMqX Fo6uCwipj/TTugnZq1YrnsIUPDgzbS5YayhLveTFkeM3tjj5XI9KAaO3N7ITBzmPcBxH675aAe1po QFaKrLawYMHIBd9b1kJmJZfDDInPS9pTpEAVbe5CUcTVLmAbCoDR5tq4+1E56GXTNFwai1wvBa+hI wQzP/SsFCQ3qiHeZNk9lFVVPk5C4FhQJ+PAAWs8E9hBtrlUOK/rJbvZvsrZ9y6/GuEu0qKrH9wAus o8FdJZPjb0D2g8xF1n/o3HiPZCHeFNS2j+czw/EcCe4Yza/qqlPpVGLypMevS/anzApVELW2+u/j0 XJ1RKhWA==; 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 1pG3hE-0045oR-08; Thu, 12 Jan 2023 19:57:08 +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 3288B303412; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id CBBB02CCF1F6D; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195540.190860672@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:28 +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, Ulf Hansson , "Rafael J. Wysocki" Subject: [PATCH v3 14/51] cpuidle,cpu_pm: Remove RCU fiddling from cpu_pm_{enter,exit}() References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: e4u55hwqkotiiruwihdud9pfugkbx4ww X-Rspamd-Queue-Id: 5987EC0019 X-HE-Tag: 1673553448-326515 X-HE-Meta: U2FsdGVkX1+1ATwzEfzHnQLdZzjegjWBiZQssnwRMUQzwbICld8XLPkXO7XWhxdbAhplW2E6DB/wxaObI2V/xlLGYJVAZZDm0UX+s8vb5W5YKmR4Cj3GyAsplHboMRsE7//lFHH1g12Sbpme+sj8H2bTBOorcBTJrHQpgSIoUwn77RFKWWZXiFVXfIUypwC136MazGFzDcuV+9KPQwgsA+e+iy5fWoiEgJpmQQrg16GBZrGUHQCGIQD8+2Vjq0zTg/IamJtMyIZxMI1WcIDlER1VPTxsuscv9HAbUsqHiIVXHRnOnHgXoEvVA4h+XlFqwdXwsxvc9cS1OBiq9hFyat5NdLGajFvZU7h5sPy0jIeD3e4OeeHfNNrU8HpfKJGrBXr1lkHpa4/NlECAqymSJMBJBu/yuShJzyLH6KRD8VtRcGk31m5NRNmWfX1ZawhRzd7TALTzkshkXDashqtIuNeFvNhvAayyUzjwCu8mHS+D8tDS9FXAWgREWn/E7vylYx5afb+qM2237gumWEC8qXrCrZfwl3eiBdPlabFsHCRkmfbD7bh2//OgYibqjE2uytUB+fzUt/bYCEqaZi/Doj9mesh5xdeDzS6jk7Wzee+1UPb+wYpcYiV1aufE781MtcinPljEqaZ6DFWtS2fZ18alWjcBAJRcAo9KbE8sycirfxqNhZMlWYqq5d12NVPCUt+1Ki3hPnmooP81jZeul6BNhOlwQC6UcPQuV4SY2yu40L7H4Q6fUrxSTRSE20c/O7Z55gpxBVWYmta9b03xyi/EB+SCGiLZkdYx3ed0bI9n5gVTSjs2fUYm8BC7Z6LZQG3SBeSpnS8+OMV/vBG0Nw5+PwoOcIhRfTM4EBPKFYJ+wmN56MIDp2a5+rTXXuU0zlLCwx4eHkBiQ3kfGOMMNiEN8lhEhpBUmByPFayqWchVexjjeffh4WB/PepGS2FIxmzbjdX+igJsXA8w7+s mI6Dy1mN +8ylogxpEwAwfeTwsFEOx8DU489PxORbQm1EocbYJGHJaprlItnBSJs9Dg10JLJuI/Ksw1sjVjuSM+COFPanyIrk0fIuHyMEI6aRlGtwIBkocmO3wpPfCXwLlAf1wk/lDhB5vYMO9iDSAq7FMoHHPpg0kfvlbGhLUz7ikdb769nsoQtUY3DI6v/2CmX/qIUJREUbW1mZ5RorBh/AUCFSHsPLVbYwkxSqSe5PBijW4Uq6hfBBZfQc14/6brZ+G16Zm4MyH6k5t4CzgZrwiGgDknP1PpYVfaXn2A/awNLXK5Ulg4CAs55ZxQmzCZI7qF+ifEwe28iDeeJLcTObOIHbs1rpd8lzVFosiWh3iM1qijw4DKU+VamSDoxC9jJTfVSfsGirOBfBu+jKvdf8au4X2qayGWOuIjB9fuS+tueoPW/rW2ax1TjBdPz4G55m/phI3d3ADpez+gCg6OSvYBUBWSO6hDzrJWk+PYPrqzXL7UoZiqjIyutUmarPt5H3xO3OE3X/WO3r4s+pjkUo+43dy+H0kt8HhVn753nsTR73PHUd8L3cwaOWxJWFE4cMlA6aJiGQ1PBDuxYiZQJ7Jmvw4qPyOy1dJGj8zKWzPMFR0lx6EhovFX8/6EWl7MfzlXHgCEOHjHLxqq10DpR/oyrXuTnKII8PLLgv1jjOwDHDy7kMPmy8wZ8rcb2uGZ2VxkXczg1FuVuGRZiC4kHr+yBCc81Ii/gG9dVi66GgmM4cHCv8Ie0sK9g3bjZ2y2AT9K3Vl/bLlG6gzw5Puzr3TasSYhkzAjlHEKJv2LES3zO3YUgpKPXDN+JhRRSSSLwer5u2QVMYrcUQzNAZY6OlrZWdNvhapUSL8wcfNTi0RHt8Vi1WVLPjvbhB8mskDgALyyILP44IB5fAquINlvCFQKi08Wjue79NgwWwerAi3N6L60s6sfnkqd9pRhDMzXQJeeEa0goewytNUi6DvpE6fvtTsjW7xTGjp NburNqai +1tBFotV4dDfO+CuIIl6/IIfYKuaG75xOsZiIBob7oEElyVAUlUA4MEEEvu4R8q46A1r6CdVX3JRJXZ17wtZR4Zz8G2dDA6HstKAV5JWTr6qVT0EePqwOq6lf04KFKW28wnQZ5b/73uivmyRynBb3Qox8hn8b/XiNTR7QxYoveBWTzca/B4U+Nxzm1IYjCU+OGApzs7KUly4ITUwEmyizABg1Yr6nS3UUWrzW3VhqPgojfTN7x+fJIe7/R42BGzM3zEMPz+Z2DFxgccaO+N/thET9jNcauL4FKzHRVHwef9jOsvmLkU58qme90YlsErwv1w0iAF+uV0mRWwmEU6s0uzbPt/Eu63zdr/Hu5ue/knDP/Zk+jNva/IcSqjBjt/tZulExhEPZalfIKaOXV8kmWbKD5OoIpVQdlxu1hZVzlgZxolJISmzv0EaCSKybPpbvhdyb4atlun8HrAVSe6ZYOe+dtXDB5uRsE8TT14YyimtO4hD0Rm9z4ldeJaksvj25CEr2P99ZOGvBQsHf9mdUMw9NTgGg6stzb137yuGFDh+rmqSWBmZ7kQ+6wJkILc7K09sf8xfoeRGLeuU37KCZMpPkTK+QttAz5FxQw/4PCJxyMQUIGwvPeYZm5zcQL3NL0Y28ys9M/mWj1TIe267Lr9YJRakufQB8ew0548vUA17U+5TcxiN9T3sMoXGyI6b3o53m7MCqtj+OkqvPEgutjQQslJSRrPqCYVlKHBWPjnjHfFigcY90hqsFk054RtzHIRp6P3C7+F6PrkgrawCou3e7uz3tPLmCWWl+6+JuYaJCpE0T5sDvK+hytKW2LXnj0EdeLAzFSKvups3EaH3MILe0vKP9fYxjcYNdwNAX5k8hPQ3sfcsni0HK7ToCh2iB97B/fUw4AlITr6/IZi/sOhqNBv3Yz/gej+B0OfEIb0PKJ9kno3GvviFS7dLGAsTcFL54FkAU4tUQ1K4unTpaQfkozmii 2V4JM4kC phbA9IT/Syb7DBwaSwInwuVrjzi8/3hwSxJ0KDIncqmEX+vY7IWHBD8rW5Y6EyvScVrK5+NJ71zj+ZQX0gVpgPqIdySZlJSd2woaOWD2gFC9tL2acr/1wS5F28N5O32TKZhee+VJsq6k7GRE0rzdmp9E4zimGmv3VmsfK79E9AWBsDOa/2qKvzRwHXSW16AcO4uHeED+to0Cw03RpWRfnDwjlVrnvVVSHJ4i8g9jQKncdiVOrLJNn3AFuKNGeJJSNq2vLH0cG5H/wNXYxwP0xXTMN0lNCN8OZm0O1moQyhkNtMplG2DpXnIAhsyrvYfupOTPdncC5jtJ+iqPWXsy8xk3VAnDT3KvpwsUgvhE1BBo6Ct5V6UhECAGkti3xBjkO76sjVzWOjTYmz1Xmk3Bknud7IhxMrvSH+kXFBU2XpEwMk1ELemwdb1FSps70Odsfxmo81Pbq3+AqD3q3tb6pB26WrCKMfsQKikZHHsecqSKbxw6muosAPiaQsOmmchU4kapaLPfz7Yc7FrZRXyXduVAfJ4aXUKSEormrjTw1i3soa+kHk3HnMRUMfcHA7V3VTQZHC7rBzKrT4YIATwEAz4x6ocwQm7RUiveYemFefjG7X+37FQ0rACsAtST8vvjjanV28Qxf0ntL/Z5ACctMYTnqTFUo4T3N6zvswPZ2ZYkAq4dH2dK3saAfDbnjZNsKJuwvhAKUtb2lBZOcwMi/eap1A2zI+FruDTTOVz956pJkwtmWz4hUeQe96GPjuWrkB7pDdaLfHrE0rtFAnNEdDENKZPgmsjx43e72x/B+nNh6WHKbR/LQ8tUSQTXG2oViHtPbrPdHHy6n0zKNJX9zQC+24oSlqbILsQojvewe0FojvPQLNYSu0kpeEfa6HpV3/dBEQYyF74MqYrg/XTF411YaENTKMjf+NxZUEEMWO89aWPLOhEZxcg/VDVL0BoB5sBYoFNBrsf0yVZujts+4+plCHXQe 4INRVvLQ YOaJi0toL+aSlHtCTW6Ph78pYWvz9cM4KTULbipcNd7rwlSVEOGC/R2orUJN3stbTpHHSTCE04tH1eDw4O4oWRwmtbuHomDl5wcpwLxMo2K76+htQeEXykcSc7TE5nCa0zt8oifKZbYOS5gWazHNwW 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: All callers should still have RCU enabled. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Ulf Hansson Acked-by: Mark Rutland Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- kernel/cpu_pm.c | 9 --------- 1 file changed, 9 deletions(-) --- a/kernel/cpu_pm.c +++ b/kernel/cpu_pm.c @@ -30,16 +30,9 @@ static int cpu_pm_notify(enum cpu_pm_eve { int ret; - /* - * This introduces a RCU read critical section, which could be - * disfunctional in cpu idle. Copy RCU_NONIDLE code to let RCU know - * this. - */ - ct_irq_enter_irqson(); rcu_read_lock(); ret = raw_notifier_call_chain(&cpu_pm_notifier.chain, event, NULL); rcu_read_unlock(); - ct_irq_exit_irqson(); return notifier_to_errno(ret); } @@ -49,11 +42,9 @@ static int cpu_pm_notify_robust(enum cpu unsigned long flags; int ret; - ct_irq_enter_irqson(); raw_spin_lock_irqsave(&cpu_pm_notifier.lock, flags); ret = raw_notifier_call_chain_robust(&cpu_pm_notifier.chain, event_up, event_down, NULL); raw_spin_unlock_irqrestore(&cpu_pm_notifier.lock, flags); - ct_irq_exit_irqson(); return notifier_to_errno(ret); } From patchwork Thu Jan 12 19:43:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099351 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 05F2FC54EBE for ; Thu, 12 Jan 2023 20:15:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 944028E000A; Thu, 12 Jan 2023 15:15:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8CD2C8E0001; Thu, 12 Jan 2023 15:15:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6AC2D8E000A; Thu, 12 Jan 2023 15:15:16 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 57A828E0001 for ; Thu, 12 Jan 2023 15:15:16 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 14C81AB4DB for ; Thu, 12 Jan 2023 20:15:16 +0000 (UTC) X-FDA: 80347251432.06.217CD24 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf01.hostedemail.com (Postfix) with ESMTP id 3CE9040004 for ; Thu, 12 Jan 2023 20:15:14 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=T8OnHc73; spf=none (imf01.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=1673554514; 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=N/LoJ6QokuvkgqrdUyeUyAC9uk5r3NGpRlHTjN0UEk8=; b=0M9RcjQUSKcblEr/xp/QMOvwD2AjdmdzsuJf/7i+xvQeoCftVoWaAn5+6+yO2D8UWVl1s3 PsO8AnJVkJY8KtLtKOoNQHSWJxga4UaeiaAtoXn5Yexh4o+8TfcKoHt83mMKA6iq8bWKDL aXNGl3vyFpyWPjmsUavzwc14Hel2f4U= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=T8OnHc73; spf=none (imf01.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=1673554514; a=rsa-sha256; cv=none; b=23PUVOQQyG+vGGJrpfB/bjKRvhnWQ+OYXCDcQ6LhZKRWRGAJXEoay6DzyWy/cIhm5JbEdP 76pM69C/IOTnpyvvxFrSXpJnBs9rYt6zj+Nh+dNrWZx69vShViPwRzEEaGLCKvgm7MdmR3 CwOJvQoN+qXu3GNhr9QrONcWNf2/1tI= 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=N/LoJ6QokuvkgqrdUyeUyAC9uk5r3NGpRlHTjN0UEk8=; b=T8OnHc73dEliAoWK/xch6i2J7U UMPcH7C3wey9SZCz29M3TnVGeV/W9jC6hfvxLiKRMqnquFKPM6nid5EbmG5dczPvuD2DZ3rsJb8bh 1B5YEftBb1n98ERVSHO05+IatfdS4u87KvvQGiPoj8rifuEdsA4srZC4wIENwPRAVZsXaUzY4luW4 Zenh892eKzf2pgbhojQV6wJdtmIWgpRiTZY36OvBCfqI5tc8YiwERNFtaxcfar59LGMt3V5FwEWxd 1IYeXc/xNHpxnwh58Sqsesvu7xJ/zUZBM+XUWlSRPervhZPQ3w6Fk9QTn2mJpsRI+pQDUPSrD9z7J 4u6HFEyw==; 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 1pG3hZ-005Oda-BM; Thu, 12 Jan 2023 19:57:29 +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 3E0CF303417; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id D46292CCF1F75; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195540.251666856@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:29 +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 15/51] acpi_idle: Remove tracing References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: o114h68rh1dp4sixjof1c5mgcgzym1xh X-Rspam-User: X-Rspamd-Queue-Id: 3CE9040004 X-Rspamd-Server: rspam06 X-HE-Tag: 1673554514-441826 X-HE-Meta: U2FsdGVkX1/WWWHXzvKLBWqtqj+RAKDZHO1qYXCqjpsvuWxUpBf/rG+zeX0UXnE8AiGjrdvuOWeenabmtFlkhCewqSK00rdooxAW4uEpi/H/jcElIruBncEZtHVIVv2XO7Vl4ZwbDadDpe0N4di6GysJynH9Hhd5HqalvbKQE0By60WRbUPHrXK0xOAzOfz17RpSy3e6Klrt1ZKxEk4KmV9tA8TNbAriF6kHOsQnoVryeD25BTHiRVV7l3OLwnJtbgmpHUhpM8j6RNFL18nJ8QIVsVyk31j+IJug9Uk68GPfQIJJKRGFhhc3hRUvjCcU4WFfL9BpkHIWOUKakuiKaNTn4tpQKoDwF8llmCyjz6bd6YcUUSMEw4mnZo5KPeDjv9VxjLfWminpL9pEi0uincxS1Qvdj6bYhY5Rh4pZExivwFKfxcR+JzhchD60ZuSqlKB/Pmeg94YRc6g0zERRolHPpv9Olf9VSJ9dP9vA/44mzszGMXmM9/lfmKIGJe31ydCwX/pmAuotelRHcA61IesCj0m5Za0b4E0cavfRB0yV9c8UZGSjynxeX6/t37dvQEhyxgTh+uW4TSukS+/r0ZyJicDgTMxon0460/jRAaAl/cO4V8kyAb9F1dA7MngVmCjQNm51ogDTV8BbyrDigfLjFqJg7m52MNYw0dlU9nZT4mCOJtcZgPoxt8lUBp50c4UOk/CRwZLfeT6Sv74jovfp9ovHlUx+WKgMKLIYlaa+Af46a3YRFwnYsFrgqT7+axKSXQhbSPl81Wa6jZwlO06GoOxKHdYJL57ANSlHxqpYpnJY9Ka6+nVSluNFuSwFIlkUlvDJCOEnjzVhvkVPuYs0Ez10HLtQmyrnVL4XJ9iL87etQro9dco6NKcjUm+VrPpV5EI78FOY6w97Xumb3J4Q+0T2uQVXQbiitO9Ja74ZweWLqrNAwd0vMSw6FMo6VjTSmfXpZb+XTS3LoCx dHjx3kbq hP3nBeBlggS1zqJWekWJ/kVvFKfS0bKagMfA80lXnla32tORmcw91iYFASwnZtUFTfT1yN47E6DxMrIrQQH0rwQbMP4QTqF0hVRmncfUpRnymIiGIBmuea5HGIH58MzrcMmIDZAKmbSrx04qpjJwq8W0EgesJTb0HTGjlkw0eZykIwvb4aFGpZINGrHl61+51PPhhlPLjA89GFihUyQWDA2zFAAKkoM8lsjLrJ48HhJ8SbIwy3VQma0TKGtnvuxFiHzjLivqAnS2vAXw/z61e2oss7pchRK6Qk4xIjVQ+s11Ecl0EPc8ZktaqpvkFlxiPpqSnhPn8VqeNTEHPvSm8ZHL0+m37vi8tydY1Mw6SsHIiGlsRlVAjDFuzl3KjMV7MdpUpXXjGGYNa0mqPHo7KfhDTruvU9v4uOMsRENBctQDZXyKO/BBv6FOZsBRg24/gLmSluBwe+sZj8CD/1UEcpCyZPQ4ZzQXyfnYT87+g3XA/Xj3aaEx4YD4N24CNqGJmNyAmGK6hu7zEEX6whISs8dyBRXPXUeoAODlKLHB3uZZWxknTfYIl3RE7MZNkqqxSL+nIpVhdjwdWr1Hlb/T4HcQsO/awH+dYZjFT4vsWanZiLwNfFAkxwHrOgIXzUVsqxYpJu5ZuW32jR9jirkIcSw35qXWvA9sZk8FhYPQkTBZUCy5f1f4bqoEvMklVdELjblLdj2lgjfbrT4fukhkMPYNJ0+UcE9Psh1xOEHwpAZhLchhv0XyW1w5lfanVWDzkOcxXsEyXjw9UQDczWbS1sVrsPJpPPOAJsGeaKIIhpN9laa3GiS2kde5svbFpBmY3/WFrYtqUBdV9fzCNkeoUn5IWgmMMd+q87Mih7knuRCRq2Adz1D03zB1EbJL/fiADidhBB14AqE4/BDlz6BdXjx2BPoGIzxGiBv+vp26KrFJL9UIS/WpJ6CF+5vUzcwe8PB1hIRp8fQiKHC0WfUsKHD6p+i5i zpXPRZ+v k3+7AJygD8er/7ftiOirkRhQg4ue44ufh/QRGdEbY0/+LzVx7oXlH3WqxP7cnsLjNpiG8bHvnm/T6rVAK6gcKYx39+zY8YBR9k8hRf/9cckUENgcTX4xJlKZxO5hK6YsvZdMGpKiSju2XHS1U/dje5vb35BQhhBMiLR8f+CIntr1VuH7voKoU9lObKLoQ/cp4fDD0p7Z0C5EISRnvb0lv6tvy34tAXBJehvUIe987HVq/lNnSvshZjfg7RbunQql2Vxak4bI7MIMBbQBKATS/0XMOvRtvJEXtJChfjEhEj+JyL5N5L11wF+iIBQxTjktk3gBiM3Bl0Fj7lX5By++BudtzeoNOmk8MWUDYl5xNt1CyKttsmHfcibtPMzm+0TDUZ0tybY02Z2Y3Tt2phdUi0DS949/0Hu45pDQmklDfPfGyevfdzCOLJZqg2v3I/MdECmFLaJwaVeVJrRDpnYfEq3SAqHduQeUvKoH/3WpBJ4zJg+amr72Zpi7ecoIg3xZoh9WJINjOGP78PStWItDQo5VUs46lISGvUIZbFL+9fgh5iaphu09cVoAJI9Ryx8EWxC3AB2Fte2fuAwqqvfE7hwso3SGR1IMLpynu9KmL/8yiMSqgltFRNOWvJTveFWfQxexAtSHnmI+TcgclKLmeCABw6Tn0WfrlGWrxQRIf0wLS0ndwfObhCz2QN1J/5fxntla02SCx5FgHyhBb3du2uYT7v3qah5y7WUl4kJV3ecZs45/HTWMrPM/fZ7vpTO1o6TuTxw9aT0EgYDas5oG8iWVHm1SJY5h8kJotfR5eWFl5FFhjNuo+IU3fPX/uYA1ktx1st5iYvJQSfXfjTbBkLBM2KF22b9B0geNKeBAxw0QXC9kzExLiyEzqxoMZjB0rnKY52ZRKTsQKeucV1J0iDfOLFeZZqLQzpzfYcaznaPx3u20LvCVXivRR/gHEvi+H47PPByd3DQs42J9zUzJUZfXTKbY8 cWMzwX2u bcJsd9lwyOGkS7elvAYD0qEq/sXhkvl1b4PYZwexnUxW+b2frX/pDGIXpR1c3udBp3/tkc3amRkp/dvjvstkdTWYqi2E/xwJDT195633QnYedrs1pykJzJbrUhz36iMcvPc2zp4/sfMZvdDe3P9LPIq5lyV56fVfi7y/HVzrRM98WlzgbRK3l3e93ICjq+ZN/mgPOgj9Jj4py6MIZqENMRMqZxMqwaB9BUtzY+JnXuLghJheCntKKGNn/f07FeOgY1L30+TE5uD+tAXlBF7Y+OYOrItQBSMYD+JNzbnlpqwuzcP0H8BNlgSntYE7S5dRSAUa7JJoRAXTTIJbMnD37+ZOaYQV+JtvfKttc7o+L84LRbfssGpLyu0C0GqOA49+8EHfSQgAk0/gbUepXOu5672dWL2DKz+O1XI5eYGU7A6MrEeM2wX6iSY93G8MUCXuFwoXBsl9vpb17nOqXin/tMDyKhsthukAFtgcTfRmzO4OP0za9udE3rCsqtEoeYtK7LyQJWLuMeMg6en08y6Wehe6AfZJNXyvTPEfAXksl2vKrry0E6fBKk5/lL+0esLd3YqiVuC+qfMoKtElL8RzFJ7L7B1O03dymZsqGec8dDSa+80GXwfZk7Y7dCY5JzOBLnAZJvgrsudzB2psnOvk3TfCG5JfLlQm7Dpd1WsgnxY88jtrSF/MEsfil8OeLMeLs12CF6zuA8dnU0tOEJSEX/6ASVRhexWGaJ5yZlR8DmEYhlas6JL0B2CUSik6H/MKfpg3g09wMhaN6zCwViume3gnRd8qGsMY2xXJk8ZCzkBEZNe+N03/5JzU1HN9o7RqpcZgxl5RoeB8/qPRS1A7kSrlwdVhVq6J8OpZLBGb5Cx1wV68deHM8X0VqhpHBROFmquqvL7KscKpWeOZmAkE0KA6clTyukuSXB8iCKYff+4G3+zgbrJoKXofEbA3r5l7w4vxlAhI5WSCvNLNLT3kVZ9Whb2Fl Vde82O90 yZbeDWnTJjCXVLO6mArgDVNRfYG3zzpbGGA3UADtGiXCUPQk84PFzOkPsdyc4hUeD0CMknd5gtyU41VcovllaUarlcKw6iNq9grMFQzl77rTt7zW6QncyCcydmFkXEov5NIU35F0O9BIcBWJ8bKeTV 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: All the idle routines are called with RCU disabled, as such there must not be any tracing inside. While there; clean-up the io-port idle thing. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/acpi/processor_idle.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c @@ -109,8 +109,8 @@ static const struct dmi_system_id proces static void __cpuidle acpi_safe_halt(void) { if (!tif_need_resched()) { - safe_halt(); - local_irq_disable(); + raw_safe_halt(); + raw_local_irq_disable(); } } @@ -525,8 +525,11 @@ static int acpi_idle_bm_check(void) return bm_status; } -static void wait_for_freeze(void) +static __cpuidle void io_idle(unsigned long addr) { + /* IO port based C-state */ + inb(addr); + #ifdef CONFIG_X86 /* No delay is needed if we are in guest */ if (boot_cpu_has(X86_FEATURE_HYPERVISOR)) @@ -571,9 +574,7 @@ static void __cpuidle acpi_idle_do_entry } else if (cx->entry_method == ACPI_CSTATE_HALT) { acpi_safe_halt(); } else { - /* IO port based C-state */ - inb(cx->address); - wait_for_freeze(); + io_idle(cx->address); } perf_lopwr_cb(false); @@ -595,8 +596,7 @@ static int acpi_idle_play_dead(struct cp if (cx->entry_method == ACPI_CSTATE_HALT) safe_halt(); else if (cx->entry_method == ACPI_CSTATE_SYSTEMIO) { - inb(cx->address); - wait_for_freeze(); + io_idle(cx->address); } else return -ENODEV; From patchwork Thu Jan 12 19:43:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099443 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 2CD58C54EBE for ; Thu, 12 Jan 2023 21:19:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BD18B8E0007; Thu, 12 Jan 2023 16:19:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B5B0B8E0001; Thu, 12 Jan 2023 16:19:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 95F098E0007; Thu, 12 Jan 2023 16:19:25 -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 860FE8E0001 for ; Thu, 12 Jan 2023 16:19:25 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 5DEEA160DE9 for ; Thu, 12 Jan 2023 21:19:25 +0000 (UTC) X-FDA: 80347413090.11.2EE346C Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf25.hostedemail.com (Postfix) with ESMTP id B29F3A0012 for ; Thu, 12 Jan 2023 21:19:22 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=Pt5HmjIE; spf=none (imf25.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673558363; 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=1NaK9G2/I/OTlb13IaE2Tqn3F/yijw+kp1Wy55f7+Ak=; b=BIlou9Cqu24y2afo4wm8ig9yJZaHQy0owDR+qS0rCOL8z4/HyDkGNM51x52xSuI1qs6AlB 4kpGfm9IBwLt0JnBH6qgavXxyZY0WRuguua8nO7yIRJ/YO8z/U6PFvQhJblo4qx2Wgy7T4 vedwFOZQ+S3xHIouI4LjYTPkZf7gMgU= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=Pt5HmjIE; spf=none (imf25.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673558363; a=rsa-sha256; cv=none; b=sHLkzNeNDYvbWSKW5JuMZSTLSAcDiTLGRo6jaby7u5tB1ssFNwelF+xypD07AL9H/0Kqhy cCsJNXLJGMMW19oyA1mHFSIe7PzP3T3HRvrS8GDxTiO9zWj2OS3uobQxctID7kP31w0TmS EebsKopxuK2hP+vW2MQ7D29HvX2HYyE= 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=1NaK9G2/I/OTlb13IaE2Tqn3F/yijw+kp1Wy55f7+Ak=; b=Pt5HmjIEh3Wv8VJ6MDtP5xehnn IUfFZt912P+mmTmm7PW8VooKzJadT4+m/Te6yoMuw5Yy2FYh+WuBDhTAjEZBv6lCfcQ4jNYq7Ai4g EnHDd3+eV/WH4+0T1ctfvYCLMGKoqFuvKw70y6ZBgq00zHq9qXB+xE+jnUKnuWCB6TMHwA6eDaJ9O B6yaNOuZG/t1GScNt6B8MVnlCOfuU0zfKdd1cFhUdymM+Rx/TK1Lfk7xvMGNo7h3kdAreRhcd23BT 1nheNmLfFQKk13PNA1eo4x2FfWUiu971uZDdeN7MCp66kwgTaoAbYogJNt0HuDQBJP4HmnafgDhY4 tf3PZIng==; 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 1pG3hE-0045oW-1y; Thu, 12 Jan 2023 19:57:09 +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 46C92303419; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id DAA122CCF1F62; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195540.312601331@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:30 +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 16/51] cpuidle: Annotate poll_idle() References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: bixn9k8opdi6t4daxi1koaqsq7ifd8sa X-Rspam-User: X-Rspamd-Queue-Id: B29F3A0012 X-Rspamd-Server: rspam06 X-HE-Tag: 1673558362-819818 X-HE-Meta: U2FsdGVkX189KeWBON45mLxQ8R+rstIwc+dHcKqOfj5NHQAXkfPINxKVxoU/G9iHjabYrs+bWRoWrdoWkFRCdn4ixTVnR/S6BiQSgxLyRm7tMwlA9o+K7NzTehwk/kp8PFQPPvv2F5wOW7ogyTNciu1UR/zbfcSAXs63h6PMTaPh4bRaenKYtrY511hYT7jbHWQsVX9NKaaAqW7PLqUYckZjCoWLdj8MuXi1a74xFz9Wt8nE+ujLFpEMFT1Gs99Aw+HalBLJA1h9TN9zRM9C4Apw44TP4UZjYgY22udzSgkkVllXYzlVSe4JKwjoYK7+oFXP0W+EVDpU+JZY0gT38VmGavgCYxPigU5SBlD/uivcI6gqlVEecgQztH2XkjnExqXVSCco9/o1Q98SiiEzspaUsgDoug4bS/vAYqgvV4bV+wWVWXQ6ccaL4fhOiXUro+haqAud2zOCx8w0lt+p9lm7bwBs1hSqwkZzZiHqpoiHhlRswgJL/7wN2AtNUzjVrDyu3AlrN4zb3a5tfLrpI95WJR1qxB5K0nsPKxxuIr8v2cQRy9QmI/hVzqGv+Isuh5JScrTNiSECxrivG7z4Akw4pw88eb/rl+J4FM16BRzQlaKE3hcgi2JWf1BFu7wjAqElxjwpuThkIJjqT6QKETYJWWadPQcuhvaAy8MZhcpJONp19p+LkXJueYgddn6fOy9+jE+PG5TD0IvNyRpR1K4TS4cp8xNbt0cKGHMDfst10osfdmAB/qcXRrOEfEGtqQ49d+RW7m/RmFK3DefyT3prZyShChvoOameLNaIRnlmtz1ReMP4yJnxBLYaRbzSMB9kq9Ml8OJtcWLGpo7SFfj8yJWPk1PaRbHfnp/wyo6JYjpoPLyMzVpbZ+fBtLtL964m8/66Mykw2bYHc/AZlGrlOom+r+XqEng5hAGq1lhxTG5VVJ+cu2hb5Lh3kv8x97Gt93fsaJsSjkPW4AG JDvwFnkP 1ZyaRkoAISyxpZJydO4SmCZEWakfwP3JgKoIzJyLJihpLcHgojnZ+9kwJDs0OeROJXkZnnp6bZQBF4dSy/LSRNEFj+XzsOAFvma+VeCdib8exCC3BQHhDBm4ibJ/oddsiwkr4UUE8KECBn4UW85WKCR8qUBuvLmlcGtKK26JsoQ5igM0Py/w8numwD6QGBV2YseCfeK+O6ogX69FDGHBJAz5Q3aUvMyI4Q4iEFagUxLZUv7xeG6yP8Oyy/3uItAE/r2cJGQzuuQwzsmO/tLL3FaQzbol+sM8GI5NVedZEOIqH9cK+XFKHI42EavJDpInX9hoNHQr9HE46mt+Q3VxTOMzeMYl5Az0NEkqPYj8EoUZN9Y4mexMrcJQF4LKDRv2erRnIG5ri12d0fUOuzFo+SOCXC0bLRi++9mgpGuxzbgtdAxOWut43Ml8jZ3eSwXOg3JyaZMSHnljC4T1GwLdkeFFNcOPYY/oIgpjjmNmVoMSkjB0V57bqsqTUp4nX4ixvQvUbPp8gUXt2NxFwuBgGrM+fOE4H4Utapr9oM8WnN3aPLRC2MX5/hgHInGufH5rB8ZrVGMivlRcoBEgDegh+LXgNq+5GVVmuKh0DCsUo1chi9pWIvLfqsm8NACRG+Hz00Y9j9JDprEERgsC28pqzgv4lbZ76uTONR4sNRnS3P3YPe38r5vrsJYMrwsslccgXugy07RwFwbBjS3YPx+9zNkTxyZJC35HDV2YPlaIWVP/8rH2QLB1WBxM1dy1bYv8YIDmVfmN93pmQuhN6IL23xVHj9aLi3zqOSi40I8L8l4CS1cIe0c8XyzupnmrulXjmjN2HkKQggrKWzAGyH2OjOpjCu54/XRlBlNgAJbsYD4X9t9jz4ZeB7d9x/vDvJjLjo6YamzDjVp2MRnM2fWSr8gBN33sMrXtqTMrk14LO932jp6cZ2H1tOgbUVs6cEBUtfnZZHEuCQeRItGyeOLPnQmMWfgSq 49YxT4zn XPHGigSBuMxgmuQDjD1Cem7mPo+4w0++eYudWOeeeYTrBj+MMnk4TbAGdCwZU3XxkqHipcjcfSnkmprzjv7R5mpFpUm3nsYgcDHLTZKRCNqjh6SuPDt9MM26p+O3Swk6vkfvwlFll6ttTpppRjFjYAclb7W/LNsFspnMSwqyNN0dlFISfPyUTTp/XbqqPkQb8Hes2eqhuNokNtRO6RbOigRgHdIpJ+h/wLCs0LTQB5W0dZ1M66AwGn3pIs+EuEapEYEzhvOlmXrKL0MB6gx4mbfR4Wlg6fkGisKHjGbybECn1PLlqEm680Q5Pa4A7QE5V3msYFYYiMiZo3ypJEvMhW+cPyl14+R9oGoruYhRGOqYlgwJvAPtIWzZc2eYuSsCssatndzIW8nCzcL9H5r5SjBPsvBvGH1VrnLD4pfGh8W8eLooKbjAr7d8/Mb8HUoTV3jMceISXkf7bt6SsS/IYLtQqdKziDkVrhJYC0khheUknodNaMW7AVWn0mmMv1cE/+s0z0y+eY/qSdyIjxNdDCC2I3MO8nor6hqTap0TsxszQpQjMqSxLzUZzYpSlsu+ZX53Sd0EwgmQZMgWALeJyu0IKASFo6j06LUwvlTYh0694n6jA5zeRBNBKv+eM76HNBS13dk1uLk+3jQ2f64bjRgifxHSEMJy0R6wC+svOdaP1rqnX/dbQ9rgS0U0VuUTSjAKEAAGSvZ9FNeMGPMeEafhOO5g9mRA1Hx9O61lJDfviEwHlVWTsUFRtH8GoQBENU6cPLRGsKjprpLSmwV3Uft2Xv+GZRIpqzhp+8sgMZyp7npJW4T4+0AIMPri4eLY8Nut9jShv39fFGbBfGRjLopEHdAS3ctEXkwAfMWorJbmq11KpfV4sain6L5kmdax0p27AvF8Q1yvFBdbgTVFGd2yaaH/AATUVT2S9WYee1i/FIoNNTRJdD1x3Ebs3MWNkL89dsLOt7vcuyor7uA/0vFGuh+ny qDi/Fhmf 3RY5+TCUaz8Xj+EAmLnKhk/9Ck5pyM8+VYvw5vL8n89esV+orTYtUe+QmV7v7u+Tk7U45HISZavwid3ZaPmEW1R8v+U38qodsN+yFbuBlvhfLZypPXI0siZHPx+5+YYVfL/9Kwwk8SrDi//XmtBVZVWx8cPYq6hFJq4G/xHqpoAzXlN/q8DS+zEriTCKsEwts6R+tCWgFc5COiPP7vLe8JTb8Dhg6FW6UxE/Mr6GeQV0OmeECtMfTJcuQG/cCqyZl8f2iyRpMzbWIYs2FzFZgyhoUx75YnO8RuZPw+h85EUxtviNO3a6VttUpQNiIyJgxiqJtBdEfzel6RdLdLFHbmb0m1Vi4RPqC5I9aCNPRXuEfP2mJG8ViHh/Ai9EvZINBYVY6LNKdG6IiMA+YkobioBj/sJwK6QF4qCKFgt5jWo2VCmJFTNrKOVOkfA4SuKM0WC1r4jSG6tbWbuNeV+z0R5EaTKWTay+Tl4Ik7XLIdI4WYS2WT3iRREvE471OsZuL/ueVc2AfoHrjX4nQ0IflsNoNSsFg4fDI8Zg1FSnyJMhxAp9yiGEuMzMGv7LmpuYebnvTaecHMvx3+VHjnYW+MSKh7ZgrLjnd6sSPlkbwhKoRcF5CUOGqnuXaV4dzoSgd0XjY2/y0e0tuBgxeMgQuMbGwuREedHuINuZ4ZkP6amBKZx08eib5XjSu6VVC21EDS3X7M3cotVOZ5SZnuUckSlfgLUXEUEKziKEmjL8VT4b1n0Qd8wWbSQymkij5dCIrVFiIkbZvDN0qMLZ1zOXvoddjAUv3h+orLc0ebkk7sD0iBtOjB/82Wgn0N51EXSHBju96+ib4R6EkL+6vOl4FZOwJ+2ru0ovRasKEcJiJXcNkez8OkBVLPrMM1gdUJrEnuvvKpK2wxMwsH53cKvjXIlRWfyu6gGGbktrphoGvm2tNGEsgbzvlnNYHWzQgKeY0Ge1zZ1rSm7cGOnPwWjdD6f8jUPPJ VB5HcmCY oyq8csvLkxlAkH9qpm9sUww1qo+a5x/hjbNXoHaEO3gHRNC3v7tZB6mr5x0LJEyeLPN32WFRwf2Cf+D9p/NGLiPdl8b+3jRC3P/74wkAq6bthpp9Yf/4+ejQkDvgIPxvyZbAivK+TxjEmy1Ndl9Q5M 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: The __cpuidle functions will become a noinstr class, as such they need explicit annotations. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/cpuidle/poll_state.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) --- a/drivers/cpuidle/poll_state.c +++ b/drivers/cpuidle/poll_state.c @@ -13,7 +13,10 @@ static int __cpuidle poll_idle(struct cpuidle_device *dev, struct cpuidle_driver *drv, int index) { - u64 time_start = local_clock(); + u64 time_start; + + instrumentation_begin(); + time_start = local_clock(); dev->poll_time_limit = false; @@ -39,6 +42,7 @@ static int __cpuidle poll_idle(struct cp raw_local_irq_disable(); current_clr_polling(); + instrumentation_end(); return index; } From patchwork Thu Jan 12 19:43:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098756 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 CF956C61DB3 for ; Thu, 12 Jan 2023 19:57:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A67778E000C; Thu, 12 Jan 2023 14:57:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 88DDE8E000B; Thu, 12 Jan 2023 14:57:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DE5408E0005; Thu, 12 Jan 2023 14:57:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 9C5308E0007 for ; Thu, 12 Jan 2023 14:57:25 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 55EC0806FB for ; Thu, 12 Jan 2023 19:57:25 +0000 (UTC) X-FDA: 80347206450.16.AF86D6F Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf18.hostedemail.com (Postfix) with ESMTP id 6AC2C1C0010 for ; Thu, 12 Jan 2023 19:57:21 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=f8TroYQi; spf=none (imf18.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=A36GBNDeZcYlVC8rkRiSg7Fkb66ciqPmteGiazOXnKo=; b=WzkzayQtivJMq9rw0npBPa/5omEvNBKJ9CyLPVFa8QcEKCH9y2A1Y4J1FVwnT2AnkQoCUZ KmagetvQjDOPgE7FvLFmnMmKlcF1Mq+6OK6ANny2Cq2DPhw9D3D81kg5fhdvEd6FdXBHpM Jlk+7PuwNCjvejsjV4UWjePSA7uFTh0= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=f8TroYQi; spf=none (imf18.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=L2lQCo9RqdeO/XSsccKq3N9g2rhdEnhB70rcY9t1FL1BTNju15+WeDlYMfQ0zlD489+cFx /D3+qLx7pi6mPxR7r1SSXRv77B+EbK0G3cCSP9Eq4azSBBS9fI6PgDqblv4sOAEzbHyhcB xVGY4t2rkFsVCw1zVKnRxXdWlwvtQGM= 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=A36GBNDeZcYlVC8rkRiSg7Fkb66ciqPmteGiazOXnKo=; b=f8TroYQijIlc9MuWlP4LwBLqev fPz8ciZ+SdwGgd+2dJNYnnpQQfPyL98wQLCxEdxcxA7jXGonUiF59Vm/+fX/v7qM8g5FLUmOTcYTd hqPpoLIDep8jXNb4QI+vppOcG4nANADValU324FWAQyr0xAZKKscT0Fj8Jrh7UyUfLwpsYnsOEWNz eQRPSdLyPwoJR6DYI9crm2nvFg9liwcgMxc46hAGZACQUxHgHL8kM0Lc1lLwF9174dIfxotwuNWx0 KkzVpLQtlnyo1ad4E13LtdvMggDa3/MeFTlRbijDXhqwH1GQuZNTKtNRZ9gryMA3HVyhHm3enhGOO s4VYrYww==; 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 1pG3hZ-005Odj-TU; Thu, 12 Jan 2023 19:57:30 +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 4AEF830341C; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id DFC6A2CCF1F66; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195540.373461409@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:31 +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 17/51] objtool/idle: Validate __cpuidle code as noinstr References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 6AC2C1C0010 X-Stat-Signature: ceayd41wymn6t56j884cix1jdjzf4c6u X-Rspam-User: X-HE-Tag: 1673553441-64011 X-HE-Meta: U2FsdGVkX1+72GmJm5uEjKWqdttAm4LKFgssDm+f5pJUOd8Oiw5AryzK91h0EktqDd6pGAWygLzOlJavm9lgUjbs6ApWwJ0DprPryCJzmAC648HcnkNR6jts6l3jBnQHa/dsB7F0bHJ6q8ZYcTxXDMpw/vhU24yszIPsyQr3pBZ0qEPrX+XDnLgE4Yo1n43ttuPKs5RWmvNKTLqRylX3cwvYOFLyqit1tV2mLSPJi+yjGJBE0mUgus2Jh52vyMlV5Aa2R1f7Qruibtqkzt8JLKAQvbgDDYbPm/gtTlQFFEOYosIkY79Xiu3M0nYQcM2AeI8oA0Rt1qaCFFoQNWED2gg2swkoLC7EW6fKpBhzB0yCTap1QNzZxyja62zvpJWqHIfGcnIhx6o82mXDW/k4F3ME7aD1YCmDSvGADIj9l7BKCMzRgqhPtL8zLWxxmWcDvex0YIXcC4aH+/kBVlcQUmiKINNVt6dAUW4kDNKyGOT9Zq/sWcnGeEXfTVVAUGpskeYwp6/QGcKJpOEz2cLQgFnQGN9Y8qilw7etHqSsGs1SvYh/fN0rUMIYepPDwz8GFrVTp0fKwx/jmn9RgeF+Vvb9Cwb3V6XXkIxC5XCz5t0ZF3eqXWw3h7CuJC7fwhJURArQKhJ3DpmFrUV9OqxHvrIvFuY6a6qfEVp7XE2NsW3tlWs/ykwfbe6nEvtpVBwnVfrmfpFYmVT56icZSmfPFvLXjR0VRZnJHgJdvq4B8wLN4DdlF86/lXDI2GDXA/bBDYTX75T5daImPvjLYemDGDpqmVzzbO3IstTc3MJlPM5ugeG+XtO2z4XYgaTTncS6cjFoUSTvX369cKYxhK3ZgEyLlddYhN1fLtAJ7aMMZgzTxIju5rXMSfslcLCdU1yslPYGQn8brYV408tNxvY7iH1rqk68EgRb1EYazfLmXiGvI396bMe1gS+XAijotGH/t6HGURdZr75Bt4nTpk8 dkq/ea4z r1XLHvB/Eh2DXPBi62XDQ2+0DZfhTB9D+X5Y0Dqvkc8yEHjzo8JWB5Bv9aQ0s0SnURfzsUBl8hhUE4odoJxQB4jsNIldXsEiyjxIJDAx7YSloap8LFm9aVFqULwOK85/+sXWuxCmvzCBtu0BNSBLBs6j6+ovWWyzmQG6PH1GKAJ9m99+6aeB+y1hKPA+xbkr+JMI+dZlRZ+1zHcp/VpX6wfgph2Ql6xxAyResjOYX3BWHBjHyyhsI5QkUrkzIs59g1hatIJkDaa4fwMNbKDZiS64ozi7WHN0Wd9mJ/vbFUfFO5PGSQl13Jolinl6oKIhwi+Nuw3lc9hmLiorvf8QGr/krCHMZls88j0Zgj+S+d3WUVfOYOO3fcUvUBwV/89KAAjeED4YaAkxxxx7/326uMwEPndVHQEQrxnLARaMny1XekpvaG34xVCeRofZ20V+xxp8Iq/yN1Scy7t2lMJ/0ysatmnW3J6cLiMYKD8QekBB5NWNLnmbeYP/JxDz+YsIASmshXFt/wVswLfwJU2dGsKgAxC+AYZrZsfkARaV5P2mZoRYzi/nw9etgg0AGhyXb1+409WFmoCvX07spIjr9Og4xhtkcnI86i6VoCDMV4G4zOQH9U6XMPOM7skxBbOqogOQnKsjgeII1psA/cxKUXyLWFtAPLMMhuQgorxercaPudGDiSfsnkcYGazcZevJuix8QIJYVG5qrNGhEPbnlHCraO3FBPwbpn0LkgQR7LP15gtLPVSrNNyYQs63SvjAz1BugSTMRDtxXmDrtjSfpPUDhQ24Ngn4cPy89qfs2eaqZgba7PVS+iaNL4BbqFCdps6ymjbGXUbKCCif2KVjPXd92/hOarERIc/NWrmpxE1K2GkmY4ayYV52VcK9LVcFTFr4Yz6spV5cMV0+pIDmi3N2+cJJUCUm6vs7dPSnnjyenyFHijIFeApJiabKe8bcgr0gj0gSDMQ8cKxIFcC/Db4BizKZP 5FXMwM2D DqtvZmWE8Ykfo1qBUlJEezA1V5TSedPf9Pm46cgHcdMeRcP/RnOny4+IJJGf3R6VUIRCIoZZuTonPUf23SUuG7C97ZAl4HdX2di04bks5beClqKkp1sa5RDgaJLXWGYFb9ocOfN8jjv1ieeSnBMf3gTzDu7Skmi6gY7vZ7Cc57H26rXKrDVU2iKWCkkDOUrpEczZujDw/bFlfFkz6LoAlWGKlq1U3+GOwCwPpwq1xDISOZWZJJxZUz0rtgah0mKsbl08AKl2TEDrEZLY9axledsXQT6JJL4BYJ617eeuyvnUPvk6gAEyzo6rwNufrAZH+Z7uhgKUpMbjvx02Sef5krYXs5HrLOzhF+2C958W9oJKCc5aUdxMmLzwpuJ2Ag+QBfHjjppfAyzrKCjO3ns5iPLFF8S2SlWe88ZyvNoMnDcrSJOh+jh6KFVHSjq3RdZSgiRRwOF5llajhgIiHcQcB0H51yyIryoYGZ5v0ZXab7Bj8Yaq0HmyDG5g0HrG/+HXCUXCn7JEqnQ5+VGyXxgNJ4QN1TLvPgENtDpDq0nDaL4OsviimmPL9CIbRm7KiIdmAENEeEGVWUb0BLBPL0eU8ZmGn2wseC0OB10HqXs/9A/G3/nhkeLWd6fzFgmwqz66YI9HRfJQ994c30pgZ/UY0G+chxPbXaXjOfAKgVG+OwA3Ci5CuONlmmjcjwRGVnAele4oikrmCcY6DqtyOFP35B28+oSQi5QFMsEkdRCt7CjE0q4DzGy60DusHZeecGxHE+PIlObinJeH4H/ltEmfuZXKxwMvTm0/EDjPPJ3AIrBxKWI44KlWVZQpbBHhuLBMkQrqZROLsFU31Y9PWraCRCgQpI2Bw5VIObITysmmafZrzfld7x3nGNYe/0n3VLkn2gCi72w34kDwRB3qBOu5MNn7kwZHPLuInSmZGc0fUD1iVnJKXN/EGs3LEZEhBulU+z+mP6tMoiy/jSGGaJkUyI2mupD7s +oJ19eat JW4w4GiB2r66m+/pe/pjBuiPEpxdDyCcwjo70aa8zyY50M5ARNAOhi/Y+5dXLwLIyP5n/fbT/PGcEki6Fzjr7/Mx+Z8yQR3h4vsrYFdNJHGbnGt1AlF1r98nYTYwfEEreF3Or5gP10g2sGDvMK5aM2DF0K1/ejIqDhlUzPcdqGK/wEneupibiYhByVXjfcH1O1gKHy2q3kiF8mCdUpb8iR0/44IFq7SHoo45pDu/WZjPwRTjhlcMrDSOIukcGThuwxfUii6Cw0i87RwQnaCxtVqAmgJptd6FxMT4NMtSH1t7NQ7NrvsjF9bgD8YTid4KIqdAT82Z4y6NbiPBdgFXdNZnHdGXw0/LbyDbBOYqhlBA+MHUPb1TtyXrsNEPzX46WeaU5018qpAN7uBPQcmeGr03czDeUMWHe8UiZDZXmLeRKXhvn2g6OrYaHuc94PHhDQCBqMNovZKBU3/y2HFV0P5EnFbpIoQVoWkr1R2vIaUX2/tatwHsX6ndCRApVybC8ge3yRrCh9cqVtnX+s/QELoupDloZxsMT8C8NwWr8UuCuaa3KQqlFKBWF1mtfLeFEXTBrul4XFaVZABKhT4Uc7dlqVr5AzNWDJpDwOmeU3OvKjCgeBSJcBGPtmx8OMons/ctM6gVqhVGYdb3luVHJm2aYHmqxOtQ32nFAlfZKh0aTCWp5WPbdsF1wkDGNCW+oBrQBHfLPScLD6VrHxrTKuq+e+oWUPrOV8uNdX9m5CXRmOW0th+NP0TykW98JRldTCIyGqjqcrkpolLI2schdQNXNd1xnewF18IHHWHP1dkyvQgqpwlkuAt0Yny5GJ3cS15jJZhfqApc8PSe8ycW2MFgLjubsK7dNaLX75LmzRDPnNukj8e1H27fNGqhdDQfMTnwauMgnPDCLdQrbrHudBQ2ztOO3ADYPpqMDUGv3t2GJRqotBQgWSTiHa6ve3ISxj+yVFHZVfofEPGE4VTev5HVOL0lG 5BHP5v9h QD3MUGyiLxjuQduCGejRU4IIMhyWSEpn50sbk9O6xgj030Qwrgo8Kdt06Bo8Ph99QJCRCX+NUYsyjLBp411WkXaK7xN/g/lpkJUJ+HKULtiW/rzRx3ybWObMKvEhf911tixaYd6+jkvkgFh8FhYkHd 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: Idle code is very like entry code in that RCU isn't available. As such, add a little validation. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Geert Uytterhoeven Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/alpha/kernel/vmlinux.lds.S | 1 - arch/arc/kernel/vmlinux.lds.S | 1 - arch/arm/include/asm/vmlinux.lds.h | 1 - arch/arm64/kernel/vmlinux.lds.S | 1 - arch/csky/kernel/vmlinux.lds.S | 1 - arch/hexagon/kernel/vmlinux.lds.S | 1 - arch/ia64/kernel/vmlinux.lds.S | 1 - arch/loongarch/kernel/vmlinux.lds.S | 1 - arch/m68k/kernel/vmlinux-nommu.lds | 1 - arch/m68k/kernel/vmlinux-std.lds | 1 - arch/m68k/kernel/vmlinux-sun3.lds | 1 - arch/microblaze/kernel/vmlinux.lds.S | 1 - arch/mips/kernel/vmlinux.lds.S | 1 - arch/nios2/kernel/vmlinux.lds.S | 1 - arch/openrisc/kernel/vmlinux.lds.S | 1 - arch/parisc/kernel/vmlinux.lds.S | 1 - arch/powerpc/kernel/vmlinux.lds.S | 1 - arch/riscv/kernel/vmlinux-xip.lds.S | 1 - arch/riscv/kernel/vmlinux.lds.S | 1 - arch/s390/kernel/vmlinux.lds.S | 1 - arch/sh/kernel/vmlinux.lds.S | 1 - arch/sparc/kernel/vmlinux.lds.S | 1 - arch/um/kernel/dyn.lds.S | 1 - arch/um/kernel/uml.lds.S | 1 - arch/x86/include/asm/irqflags.h | 11 ++++------- arch/x86/include/asm/mwait.h | 2 +- arch/x86/kernel/vmlinux.lds.S | 1 - arch/xtensa/kernel/vmlinux.lds.S | 1 - include/asm-generic/vmlinux.lds.h | 9 +++------ include/linux/compiler_types.h | 8 ++++++-- include/linux/cpu.h | 3 --- tools/objtool/check.c | 13 +++++++++++++ 32 files changed, 27 insertions(+), 45 deletions(-) --- a/arch/alpha/kernel/vmlinux.lds.S +++ b/arch/alpha/kernel/vmlinux.lds.S @@ -27,7 +27,6 @@ SECTIONS HEAD_TEXT TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT *(.fixup) *(.gnu.warning) --- a/arch/arc/kernel/vmlinux.lds.S +++ b/arch/arc/kernel/vmlinux.lds.S @@ -85,7 +85,6 @@ SECTIONS _stext = .; TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT --- a/arch/arm/include/asm/vmlinux.lds.h +++ b/arch/arm/include/asm/vmlinux.lds.h @@ -96,7 +96,6 @@ SOFTIRQENTRY_TEXT \ TEXT_TEXT \ SCHED_TEXT \ - CPUIDLE_TEXT \ LOCK_TEXT \ KPROBES_TEXT \ ARM_STUBS_TEXT \ --- a/arch/arm64/kernel/vmlinux.lds.S +++ b/arch/arm64/kernel/vmlinux.lds.S @@ -175,7 +175,6 @@ SECTIONS ENTRY_TEXT TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT HYPERVISOR_TEXT --- a/arch/csky/kernel/vmlinux.lds.S +++ b/arch/csky/kernel/vmlinux.lds.S @@ -34,7 +34,6 @@ SECTIONS SOFTIRQENTRY_TEXT TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT *(.fixup) --- a/arch/hexagon/kernel/vmlinux.lds.S +++ b/arch/hexagon/kernel/vmlinux.lds.S @@ -41,7 +41,6 @@ SECTIONS IRQENTRY_TEXT SOFTIRQENTRY_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT *(.fixup) --- a/arch/ia64/kernel/vmlinux.lds.S +++ b/arch/ia64/kernel/vmlinux.lds.S @@ -51,7 +51,6 @@ SECTIONS { __end_ivt_text = .; TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT --- a/arch/loongarch/kernel/vmlinux.lds.S +++ b/arch/loongarch/kernel/vmlinux.lds.S @@ -42,7 +42,6 @@ SECTIONS .text : { TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT --- a/arch/m68k/kernel/vmlinux-nommu.lds +++ b/arch/m68k/kernel/vmlinux-nommu.lds @@ -48,7 +48,6 @@ SECTIONS { IRQENTRY_TEXT SOFTIRQENTRY_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT *(.fixup) . = ALIGN(16); --- a/arch/m68k/kernel/vmlinux-std.lds +++ b/arch/m68k/kernel/vmlinux-std.lds @@ -19,7 +19,6 @@ SECTIONS IRQENTRY_TEXT SOFTIRQENTRY_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT *(.fixup) *(.gnu.warning) --- a/arch/m68k/kernel/vmlinux-sun3.lds +++ b/arch/m68k/kernel/vmlinux-sun3.lds @@ -19,7 +19,6 @@ SECTIONS IRQENTRY_TEXT SOFTIRQENTRY_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT *(.fixup) *(.gnu.warning) --- a/arch/microblaze/kernel/vmlinux.lds.S +++ b/arch/microblaze/kernel/vmlinux.lds.S @@ -36,7 +36,6 @@ SECTIONS { EXIT_TEXT EXIT_CALL SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S @@ -61,7 +61,6 @@ SECTIONS .text : { TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT --- a/arch/nios2/kernel/vmlinux.lds.S +++ b/arch/nios2/kernel/vmlinux.lds.S @@ -24,7 +24,6 @@ SECTIONS .text : { TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT IRQENTRY_TEXT SOFTIRQENTRY_TEXT --- a/arch/openrisc/kernel/vmlinux.lds.S +++ b/arch/openrisc/kernel/vmlinux.lds.S @@ -52,7 +52,6 @@ SECTIONS _stext = .; TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT --- a/arch/parisc/kernel/vmlinux.lds.S +++ b/arch/parisc/kernel/vmlinux.lds.S @@ -86,7 +86,6 @@ SECTIONS TEXT_TEXT LOCK_TEXT SCHED_TEXT - CPUIDLE_TEXT KPROBES_TEXT IRQENTRY_TEXT SOFTIRQENTRY_TEXT --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -111,7 +111,6 @@ SECTIONS #endif NOINSTR_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT --- a/arch/riscv/kernel/vmlinux-xip.lds.S +++ b/arch/riscv/kernel/vmlinux-xip.lds.S @@ -39,7 +39,6 @@ SECTIONS _stext = .; TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT ENTRY_TEXT --- a/arch/riscv/kernel/vmlinux.lds.S +++ b/arch/riscv/kernel/vmlinux.lds.S @@ -42,7 +42,6 @@ SECTIONS _stext = .; TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT ENTRY_TEXT --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S @@ -42,7 +42,6 @@ SECTIONS HEAD_TEXT TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT --- a/arch/sh/kernel/vmlinux.lds.S +++ b/arch/sh/kernel/vmlinux.lds.S @@ -29,7 +29,6 @@ SECTIONS HEAD_TEXT TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT --- a/arch/sparc/kernel/vmlinux.lds.S +++ b/arch/sparc/kernel/vmlinux.lds.S @@ -50,7 +50,6 @@ SECTIONS HEAD_TEXT TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT IRQENTRY_TEXT --- a/arch/um/kernel/dyn.lds.S +++ b/arch/um/kernel/dyn.lds.S @@ -74,7 +74,6 @@ SECTIONS _stext = .; TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT IRQENTRY_TEXT SOFTIRQENTRY_TEXT --- a/arch/um/kernel/uml.lds.S +++ b/arch/um/kernel/uml.lds.S @@ -35,7 +35,6 @@ SECTIONS _stext = .; TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT IRQENTRY_TEXT SOFTIRQENTRY_TEXT --- a/arch/x86/include/asm/irqflags.h +++ b/arch/x86/include/asm/irqflags.h @@ -8,9 +8,6 @@ #include -/* Provide __cpuidle; we can't safely include */ -#define __cpuidle __section(".cpuidle.text") - /* * Interrupt control: */ @@ -45,13 +42,13 @@ static __always_inline void native_irq_e asm volatile("sti": : :"memory"); } -static inline __cpuidle void native_safe_halt(void) +static __always_inline void native_safe_halt(void) { mds_idle_clear_cpu_buffers(); asm volatile("sti; hlt": : :"memory"); } -static inline __cpuidle void native_halt(void) +static __always_inline void native_halt(void) { mds_idle_clear_cpu_buffers(); asm volatile("hlt": : :"memory"); @@ -84,7 +81,7 @@ static __always_inline void arch_local_i * Used in the idle loop; sti takes one instruction cycle * to complete: */ -static inline __cpuidle void arch_safe_halt(void) +static __always_inline void arch_safe_halt(void) { native_safe_halt(); } @@ -93,7 +90,7 @@ static inline __cpuidle void arch_safe_h * Used when interrupts are already enabled or to * shutdown the processor: */ -static inline __cpuidle void halt(void) +static __always_inline void halt(void) { native_halt(); } --- a/arch/x86/include/asm/mwait.h +++ b/arch/x86/include/asm/mwait.h @@ -105,7 +105,7 @@ static inline void __sti_mwait(unsigned * New with Core Duo processors, MWAIT can take some hints based on CPU * capability. */ -static inline void mwait_idle_with_hints(unsigned long eax, unsigned long ecx) +static __always_inline void mwait_idle_with_hints(unsigned long eax, unsigned long ecx) { if (static_cpu_has_bug(X86_BUG_MONITOR) || !current_set_polling_and_test()) { if (static_cpu_has_bug(X86_BUG_CLFLUSH_MONITOR)) { --- a/arch/x86/kernel/vmlinux.lds.S +++ b/arch/x86/kernel/vmlinux.lds.S @@ -129,7 +129,6 @@ SECTIONS HEAD_TEXT TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT SOFTIRQENTRY_TEXT --- a/arch/xtensa/kernel/vmlinux.lds.S +++ b/arch/xtensa/kernel/vmlinux.lds.S @@ -125,7 +125,6 @@ SECTIONS ENTRY_TEXT TEXT_TEXT SCHED_TEXT - CPUIDLE_TEXT LOCK_TEXT *(.fixup) } --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -580,6 +580,9 @@ ALIGN_FUNCTION(); \ __noinstr_text_start = .; \ *(.noinstr.text) \ + __cpuidle_text_start = .; \ + *(.cpuidle.text) \ + __cpuidle_text_end = .; \ __noinstr_text_end = .; /* @@ -620,12 +623,6 @@ *(.spinlock.text) \ __lock_text_end = .; -#define CPUIDLE_TEXT \ - ALIGN_FUNCTION(); \ - __cpuidle_text_start = .; \ - *(.cpuidle.text) \ - __cpuidle_text_end = .; - #define KPROBES_TEXT \ ALIGN_FUNCTION(); \ __kprobes_text_start = .; \ --- a/include/linux/compiler_types.h +++ b/include/linux/compiler_types.h @@ -232,11 +232,15 @@ struct ftrace_likely_data { #endif /* Section for code which can't be instrumented at all */ -#define noinstr \ - noinline notrace __attribute((__section__(".noinstr.text"))) \ +#define __noinstr_section(section) \ + noinline notrace __attribute((__section__(section))) \ __no_kcsan __no_sanitize_address __no_profile __no_sanitize_coverage \ __no_sanitize_memory +#define noinstr __noinstr_section(".noinstr.text") + +#define __cpuidle __noinstr_section(".cpuidle.text") + #endif /* __KERNEL__ */ #endif /* __ASSEMBLY__ */ --- a/include/linux/cpu.h +++ b/include/linux/cpu.h @@ -176,9 +176,6 @@ void __noreturn cpu_startup_entry(enum c void cpu_idle_poll_ctrl(bool enable); -/* Attach to any functions which should be considered cpuidle. */ -#define __cpuidle __section(".cpuidle.text") - bool cpu_in_idle(unsigned long pc); void arch_cpu_idle(void); --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -376,6 +376,7 @@ static int decode_instructions(struct ob if (!strcmp(sec->name, ".noinstr.text") || !strcmp(sec->name, ".entry.text") || + !strcmp(sec->name, ".cpuidle.text") || !strncmp(sec->name, ".text.__x86.", 12)) sec->noinstr = true; @@ -3361,6 +3362,12 @@ static inline bool noinstr_call_dest(str return true; /* + * If the symbol is a static_call trampoline, we can't tell. + */ + if (func->static_call_tramp) + return true; + + /* * The __ubsan_handle_*() calls are like WARN(), they only happen when * something 'BAD' happened. At the risk of taking the machine down, * let them proceed to get the message out. @@ -4155,6 +4162,12 @@ static int validate_noinstr_sections(str if (sec) { warnings += validate_section(file, sec); warnings += validate_unwind_hints(file, sec); + } + + sec = find_section_by_name(file->elf, ".cpuidle.text"); + if (sec) { + warnings += validate_section(file, sec); + warnings += validate_unwind_hints(file, sec); } return warnings; From patchwork Thu Jan 12 19:43:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098772 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 E3AF1C677F1 for ; Thu, 12 Jan 2023 19:58:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7A4E880012; Thu, 12 Jan 2023 14:57:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6DF4D80011; Thu, 12 Jan 2023 14:57:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4252780012; Thu, 12 Jan 2023 14:57:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 186E68000D for ; Thu, 12 Jan 2023 14:57:35 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id E35D2AAF90 for ; Thu, 12 Jan 2023 19:57:34 +0000 (UTC) X-FDA: 80347206828.11.CA01BB9 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf13.hostedemail.com (Postfix) with ESMTP id 5C7652000E for ; Thu, 12 Jan 2023 19:57:33 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=g8GqpZrZ; spf=none (imf13.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553453; 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=jJDEZOhAk9N+ZSaOA6QuB1P1t6S4a5Fqf3eoW7G5up4=; b=rc5r0A2qpRzY2RBW6hDV5FPmc0Xej5IHz90pTAkOKG6Kwlg0p5wtBwtv9JXeuXpqVnWkri Ba8ap/moRe7jns/W2yM6HtUUcbrQJ8TFxOMUPOaZZI7sa66rim7U0Gm4vMixhvWymB4FN4 kfBU0S9sWhSe57WDnsZpbWatpUIWBmU= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=g8GqpZrZ; spf=none (imf13.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553453; a=rsa-sha256; cv=none; b=QP76tAn3MVqEcnE4ctO41pYxhjjjkv/HQGX6DjJRszJJQQ8twrgXyTQ8LwVLDG37tFgPCW cX6y7mRKCLuVJkC0bOqZaBxMZZfuFhY18x7EUripKGjQa9kUIDRE5Iqw9rNLxHDoVGSMvZ bEB1vWOzS0zr0aV0qLUlMgzNXK48eQE= 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=jJDEZOhAk9N+ZSaOA6QuB1P1t6S4a5Fqf3eoW7G5up4=; b=g8GqpZrZBs/6V7ZcEBgPwjcdfx RzN5EIQzgwhnINnCaYfY2n9e8ruxberdgD9oVXDNG7YtbZJuFTb45S/H+fPvltC8GZOopId40GcrW AjA8r3rpj2n0SPUYiyps5TjYIQhFAuCcVOx3q73tbMUmUmsFJOFjnQHKvLFlGE+QPNhh8ljdxL4dF uEhNEMsDP/u8xa4UcCmCa7nRPM/4jBKkN20B1meW0t5Yl0NahpjdmysonPb3YGsPg97sJdxjUBn+s lGjWVSdxy2Ny8UJn3s4WanbpIOQXXuMwg2JoVT798bOv9N9iHlojnH9paqJ/CUzQBNz9ShA6pr1w+ Y7bXuV8w==; 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 1pG3hF-0045oZ-0H; Thu, 12 Jan 2023 19:57:09 +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 5187F30341E; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id E64E52CCF1F79; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195540.434302128@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:32 +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 18/51] cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE *again* References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 5C7652000E X-Stat-Signature: 4rp5zojngqi6qkwjwwjk4wqxtj1faeft X-HE-Tag: 1673553453-987654 X-HE-Meta: U2FsdGVkX19G3BOnTi0QgvPWuMwVgxQrU4RTmWxeVq3N7uYEE9ti6JNLw4WJPNwqdkNYxTfYUj8U3n680oVzLD6c0jCX9MKfIlHQOWImVihC1kLO7l/jx5KrieE5UXq1XgfkToemG27Rsff37RlQ2J285vOtFcA7MdQA3DalS9US84YVTtBUcdbgF0E3bAy8zwgFG+nZSXYEaWNhF3/fu/tnB5PTI1buo72TT6/u+O4pS+2ZrRM9SKRuOIwx1IEBEr9jyFm/327LaK3S8tgom+k3kFR6im3y9Ffde/uEwGjKXCJsv0xvOr6Aeidf9YE071DiO51kbyb6v+ceYSTg6HF8JJ2SV/52XuTKQOgphwS8twfIol5zRxVgOajNYMu2r3OgK22p1bjJt/e39Xw1pKaqrR81Y/tWN0SI+4ym6GizYvJI2/QhZLn32rKQZHRjsJik19wVutk8EcUICkNB/6EW/uKvYHXcn4W/J/DQCkcCfLlJdzCrGoASaFlFL+wn5wNOYFMGCCpzu8x9WbbF6tGUK7Cb1XRwzk8JGEjkxndpMaKtPdjaOu5u/DhzwZZu1ndcYJGT2ZaqpuWEByG6xhAAER8837NfQ6duLS9HnhQYtCuEn2FFODQS0DwIpKmiODfVati57l78JNDMbRy7YO+Taj2/lqCB++EZLbqOoSRMLQXip4XCq0fgpdqp262gK4GG7XEmVBzD0Yj0CftwZnw627lCJMgrhhh58/NvraJ1QfJldzZCQvxbZelNGDKLUecSkZQBeqt1kJuYipUO7HnKG3mcbA7Zpt27rOuao6OPv5gBfSBwR1iPY8mnpMhwJ9p/jAikG4bpDs5Kj2loaQx24fkfwIQuL8/lv5DNFlS9tGIuwpUDZ5WeyPH92avMauWJdEP9m1Zx8snvAsY4QpTBXKXhmg8hq5f4aLtcB8ICnaFNDBvdS22Mlhz9wQRkDbjpBM6bF0ZI9G2vyGE pNzdJYHs FPbRITBn/aRqcQ80O3aM1I/8CTQbRwN7cZuK+qM0dNViUKBArmzWZPlqQXaAl2UaNwE9eZozVcbTOcRX37kMPqB0Rpx9EQpOT9em9+NqV2RnmpJEA5U1cs7/jLW2/N92euWRnTE6jVMmLDJTFhCiAcmS8/y0GHPk1dYUeuZABxCLqoNAXR/WBdQLPj72LF6I6CqurWMQ+/CnuQFHtVQ4xqKWe3BIB9drjxoGs5ywdqvlvjxgRnMOSrBdFQ2HOgQjVhZq2x969t7n6ohw6k6WmDrwmny1ZzRhSQYG3wNRQ8TjjaSOBSexNDv9CWnQuS2A4j9infaNMVw6I+7/GDzXE+TK/UXwXaGpfRNQGm+4Km2muMutaxDbValkblXut3DHop36WVZIh4XHBgHOX9A88LNj2427kkku3vNWgh4XAS1g2ql/SD8vHHqu0TVryzZNBO0KboV8SNVTOBTpBie42SLeb8JLgFz9cxRD/VVNJnaYGFrpN/ASe75A3PHnUI+wWn7SjpOvJfetlkf1C2gBzoc/qfhL1yI7bk7NDr4WzA412h9TRxwUa0NiG2ZIomRkIn4Ml82kSxDf9HhVez25VsEozZEiGliB5k0c97XQ0Ton79XJnKtTsZFSCheOYE3YXvkyNowwmejJeDBPLN5VjSVNA6im6SxAiMeLhpjajSfFIkEGtThjU+FcjqBMrM7hY+eZ9Yfn8WQw27xg1AHOIrYZq0TAcqwqYuUTpuDfDSgHis9COa5G8CfvvygC9VIY6zTuHxIbm6v9/0xLlXEzRIsEo+8yINMXo7mine9piGU+IB+o9o7ox0Som/6Lha8xa7iL4djgIbwRJWdRd9ej7SUp/Jfe+YifO5drGroL4ty2ydk2yM6Ilc5BZrDv43rCzM6QMFPf34UXrur+lWHmGYJ+VABVmhk+LgvyGlXfBaB+cl7G9u4E+QsYmjxZ9mnXhSCsrMA3f5qc23jXaoRGCBxhvWYpa cXPRoOnK Giiw/FN8iCwg7/sSCODDY/h6pdNM3E89F/atmMylOzEpE3ddz4uRAteWR/QrroV3m4gQqiT7/swk3TIlfOWQowBjJcQNc3glDFaJIZh3XuFKd7XJz6Y3A9qP8y4WorJD2kg2A4JnH8g0fu0anrg3tr/KIgkdOAep6eNn4VxdwaDPdSuTWtKA7pJhg6VD1SJD/6rcV+qn1QOSZt10CflZ/fzEcBJGBO163hAWdHLaMa2FEGKU5eDWhDbhNFpCOrH05xFLcC0NSDPT16yXcqHT63QNwfEs6xX1tGMpEwVf5CqQmnJ+iyR2Y6qrbWD1IzJ5CRN32XZ4jq+4qZo6ex6NMlGMcwXKxyhTIkr88fN2cT+Y5atFle34z8ozDVRt6SNlFYD8/sr4cYa1RIULt/IYVbYrDrU+q24lY4Cx8b/QQJ0QdLRD6oKpFJY4AmS4Hl5Ag51oOUiLUDu+aX/pi2+WW6LLRxQlZ/zTb5OfiAYDOJEF2yicBDwIuIcq3nwX+D5ZKhLX0i71MCzF4c2P2Y9kzTujaN7Xr//sWpB5wxYQtvsq4IkmNgPMLNobU7F4qrFMujJRspZMEoo8y+ujov7NO5QYLdzeC+IRJfeNGZ0GExoX1d5uWGsRPhzVpLGf4qon6G/CxlfXtVjlNUxI2pScslkbgKtUxCyIiL9vP8cwxEyZnSu5Lo9aOnTsvfX+URvlrXFXVMOVgNEQaNd/JB1+YsYbhr5JdY7UWCztoNktQWVDeVNVB2pj2coXJfhnU/7SR1F5G2HTSpPwBdJW5oZ6OS76Gg+oVdDAsj1UCpRAO+JdMqzQLolRI1UKMVgrzSOBqB3PNVXWMhWVfmE55YaQTouumxVI2pMg2bQGiAaiX0yZYmzXNYipj0OXwd81Q1KdoS2h1UOnf0l1X8ODJUXv2MYG5VqDg6mVRoCnGWMaCksISP72Ov+2+ZYfMkI26Zn0Wc8zFBGwQOKKIiMWvkFDCjSsQbb7o 4e3mCBZ3 LIeg7AH9b1ufyBbtCv8G8exjJq5wTUZyLZR8g4FXFKuURGgMYn5ZgtNPaHYXBtk1pDN3SI4dVGNUpxbz3UfHJ+/ovg14utrqqXyobJYuvUN8me0lywFA1j0GP+JFkCjbFk5LyWR12WymTCU9mglNfJtX/xt6qIQRm+/8l0HlUk5liqO1Rtneg14PmPsdlVBSIVwPTclvy2ciNklhocl8flJVXNLuXOYFrUaApsgYuYkbGiBFvmMRfnEdNPV/y/KDhb0m2Q9HIpl0AWkKTyg8f219XWZ1b4wf85WqvVKkP/E6SyhfQiRFqrhmrNMVLdy8oCA3KdOzauARiy5ogfr941iMoz/gGQl7Sg9xaNC7CXNgLYUDXZzVT1KG9dSiLbTDgiJuzGDMdNtWlX5Q9jpcEbtg38sNrJRWwCWLAg7S825BQBjjPVdNCZuvXiVmZWLVCuiFugaUWFM5spC1e7ylXam0MqGIdHiX/Baw+a0F8MR9gBBtxGRRfNXB5L5PV9oGtlzwdewrQU1EAHQb8P4ZfiyML5f7AJ94kF3bxsUjzVX9qSCofGNGrMT6oGYrj/ARxiF3MQfwIBMkMmOmxw7FVRG0Yh8/i8uKyYxsPu8txKqKWUy2sk2JitdGeYdmhmpAbEN6qI7hp4h4NdpD4WDX1nG14Anza30D/2rOd79hhfvhUzxP3jd9GWfp9Xx0I4PbaoLvJviGc1SpgdO9GfJnwF0IG8us3wOOwqZqnZBvLTV5M+CKoyWNVKCtH6PIDSr1rBr0Y9lJ+83mRPc6mjrMnNVPffddDZZE+tDxbjT/262ORlHH7e7WH09sMEDCwR5B3tULleGT4FJKyO7cJO6IZxIbwsLTHy/QhYn2OQPeLVF7CHk8XTq82LRq0C55jP0mjXHlUegTUHx9DIkBp2CmlAm+a5Sjtcf5rIrBv3emLdgRd1ue5bm5RYE0jy+nUlvFnhQ112flwr5lAoW8cjqFX4wKyQw9f yuFAWi8y VGMj5mc45SxUxZv8cp8LWIUSc4Hb/Fb2QDZv4F5OLbMPwctrVpjulEx0PftwugA/YX81hEepDph6IQSVNDPMo2yP66/6eCBLCwpqxe/iplHARaEPqq/FCpUFg3BoRhGpa5iKIE0p8/6wq16xb8cJrF 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: vmlinux.o: warning: objtool: intel_idle_irq+0x10c: call to trace_hardirqs_off() leaves .noinstr.text section As per commit 32d4fd5751ea ("cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE"): "must not have tracing in idle functions" Clearly people can't read and tinker along until splat dissapears. This straight up reverts commit d295ad34f236 ("intel_idle: Fix false positive RCU splats due to incorrect hardirqs state"). It doesn't re-introduce the problem because preceding patches fixed it properly. Fixes: d295ad34f236 ("intel_idle: Fix false positive RCU splats due to incorrect hardirqs state") Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/idle/intel_idle.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) --- a/drivers/idle/intel_idle.c +++ b/drivers/idle/intel_idle.c @@ -168,13 +168,7 @@ static __cpuidle int intel_idle_irq(stru raw_local_irq_enable(); ret = __intel_idle(dev, drv, index); - - /* - * The lockdep hardirqs state may be changed to 'on' with timer - * tick interrupt followed by __do_softirq(). Use local_irq_disable() - * to keep the hardirqs state correct. - */ - local_irq_disable(); + raw_local_irq_disable(); return ret; } From patchwork Thu Jan 12 19:43:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098771 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 0D560C678D4 for ; Thu, 12 Jan 2023 19:58:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 66D1E8000E; Thu, 12 Jan 2023 14:57:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5F7C08000D; Thu, 12 Jan 2023 14:57:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B2B380011; Thu, 12 Jan 2023 14:57:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 0F1128000D for ; Thu, 12 Jan 2023 14:57:32 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id D3A291A0E14 for ; Thu, 12 Jan 2023 19:57:31 +0000 (UTC) X-FDA: 80347206702.07.4675531 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf23.hostedemail.com (Postfix) with ESMTP id C4CA0140006 for ; Thu, 12 Jan 2023 19:57:28 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=SlXzMGW6; spf=none (imf23.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553449; 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=Pd5LzlqFWhoOW/IghE5YxUytF5dcFo0PCwRqcxBfbik=; b=AroXBG7gvsap0SquPM5iTj6+qiEmx+Xcp57uX5lk+3bW/2Y3gRY2YSHLy7dnJEx9gOK1mw Jl2L7NV6ZKpUo8csASucC5JjuVVrLBP8vSLNNzcsxZK/J5I1ylCttMfuUKV/vwugvJQPWp nGxhArke4U/uYfkWkJO2B33GgbL92+U= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=SlXzMGW6; spf=none (imf23.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553449; a=rsa-sha256; cv=none; b=jBHjF50ETzpLZRQiyykzLF2AzYSyScumgJGzQHl55jf2X5bCWWytmTaFrp1GS8dCVzpggc BWtQI3wku/EAgF+Ghaxpf3q1rrmnjFKfLGkFxmTtHQJmhgRab8tFKvzNaf0+vxvIkNEOqr ulaB1YioLc4WIj3Jeeon517SVnX+268= 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=Pd5LzlqFWhoOW/IghE5YxUytF5dcFo0PCwRqcxBfbik=; b=SlXzMGW647wjdHfeIxA3BURo/L V57eNszB4X9M2Aw7LuPxwmPByIMO6ZKJ+B9QS4/L40MIuNzW7LoV2ieaE68bBcSd3vNab1fb0CJg0 QIScqqs4INqipCz162dj8G6WADgGw/yyJX1KvXDDp9KvqhFFRcEFT/UBl+i0lGVjxQCePgE7wrcjD zg1nhaAwVcqC0aWlZyNbqIQdvsg//4TbBOPEGhSkO9DKH/bfCQcGFEEufPy7Ul19FcRzSlIK8yvAr +j/SelXlIya73f2ebWEWnXnVBv+DvQiepu+aP4ZuJNc4l00+RAhCrFLr4FHOiR17EpRimSqj9p8nr 1gOjKv7g==; 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 1pG3hF-0045og-1H; Thu, 12 Jan 2023 19:57:10 +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 595AC303423; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id EBA4A2CCF1F77; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195540.494977795@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:33 +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 19/51] cpuidle,intel_idle: Fix CPUIDLE_FLAG_INIT_XSTATE References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: C4CA0140006 X-Stat-Signature: qyfcmm31rioimau6tzbopbhxo6yo6tbb X-Rspam-User: X-HE-Tag: 1673553448-581245 X-HE-Meta: U2FsdGVkX1+qNJAPCifv/OOYwKsKfTa9iXNbMkLh8Va1IxVPVZL+Pcwv6WItpSBYzQMKaaeseUIQOl0O4EtGO4fcPxOHZtu32xWlaKAUp9pSoGFRKjx/yOZ8d3q3IMc69ABi4VWxm8/BTSLup0r9KJV8liMBvzcQoFL5BALt2bMGxoCq5x5c6ser3LawX8r7x9nVbanAwFSb5VMzaCGnE6J7ENAwkrZHb4cwsazmXbmiisCPgEIxqic6ow+VDSgpmCpj9IULKMaBmjyYsFXu6gdUH2/lpEJ0h5Eja1dXSpJzp1pzSMEIECodrnOulGfgBd86gFbuLFtIS3nixwKf0MQQw7I8E0bNSU6HtnCE1bPPznYeUoMXUXaPjUFVthYjnQEDpw+rfQTvpW7GhU6P/qlRHPJDCrB239KufoC1//WZgkKQN8m+PrVN/PnRWh3z+Ml6H6Lrm63i8wJF3NKIlEN2VLEMSd0d0/h45BC+PKMtv4A4x2emnByoFN6HWI3mqRuVrX1qnK3Wr4hM8eCkhYYYrKn5JvIzin70/BoC50JjnW/waye3bL1MfyP9Sx+Iir+E/v7TA48aDLE/jAVefHWyNDCfWT/fqtPH9PCWp3oZFfuZmNeMBHrKfmxjQsmegSONXPFZ/lsEdQ+AyPYVlfMn+ph0jbK/oc9TQYjwkbk+Mdn+43JY2ue0U3dbrteWmFyZ5cNQnOgH3mL9NZc0g4VK4C3XsJ5PQsrHu6EXPL7zxLvN+uYsokoRkcPDjk/H+lW9GPOnlDxXOSmfwL1fT8SMtBaQQJAeq313hvC0e+iCgItCPQ5vUlPTYFulswxTPLX0V+B0Ox7mcXL6ALCObxE+OeUR+ToTh5XJ1zTRvzMAdxcq3hbwdaWRjVv8iz0nQaTuZz2liw6bZCpFpKzaQ7wTiZ0NLpySZKVDneKvEp/Bt94+6IldVyAndbK8GGsOLPlfzqY8WAp2JDn/fUV nNLi+eUc 00+zQzJYJBwLKoVvhkr3poDyVg5fSKmwZbNMXQ5Izsq4zwnIRi+QcnQ4d3hibuKy9DnIVV1WLHEPfbH2t3z8DwWEJiSZpbv3A6r1MxxGwj6STryONkZ9nopeT3aGvrK0QnAxkZhG3uVSKY1vrjQHdf46I3F7dHSLdUmu8t7ZKU+Y8tOUoTJwPQkuMBA940QTnyV2GlU/T6dxmQtAr3hYDWLCk0yrnMyJSTOGKtuvkFWAwfEtrYpuYWskeWv1lxBAVQyn3WN/xT2MBKrshzHYw4aMQRy8He7HHx47LuK29bhjRgow/komboaWWd3SHibK7ibjgux8ntdc4GniZ4W/exTJRjMJJNYU2iR5an7r6ZT/lkvwOQju57QMVCS+EbrO7ypjGof97xWseS+YbQvjI/3Zpx9UUs8XYX1wZVBo9EAaDi/KY3AzODLHfMP0/hbQA/t0g3uSWqdV/m54qDpp1GKhZIICULmb6QCJ9MjRxaWjtcWS4cee2dzHjtFbuZjjmcci1u2kw5JCjUmJS/hgnWeQeV+YLVDDeFPD/2XmWFP+Ol2OAmSUy50GMO8SAh8fliZYythpfTlUDkpY/UMilArfyJ0M2c6amg5YQoG9OWj5DEk797PLWpD/DzdZY+vO6jfDdIcmWvu21QHR+I1Hw5bJ/xRiTf2wSqSx3mj95NeLq3PacaSq1c/GAdAf34Qpc4lvziBUYXdO86Vh6aZIBmLQf6MIwTUyMnntS7mpMnPgh4s6oFZk6FGbFeFCr+RfhPV38YIEgD9OsOsm3U76r3Jj8WietM5M3zUlnXfNhiZ4Yy9teP4mx7kgQoNx2ytoLijJmpVH3XCEK7zh0IAW1y3ZOZhfIXgc6/cpB8WPKNQ3BFBU1jJta4sVwEi4d6K5NhlW+5G/R+yjPgdii/x/M3OqRjrr5geInH27okNc2z2XlEvbEXt8aGth2/LCAZmYO5WOKbQ22o831sgIixe3xaSgpRr5u GacfDpRa f1Q3DJB1z+WPAgAcYgTXiu6H67mgzmv/kmOlJ1cv9MrMCDHAP8ZS8k1l0eQskiWMX6oMPndGqZnwKU513w9gqqD0QUWnsoGhA7sUn6bGY1cgcqSaEAS8bpeT2ymwkIoqOPihKE+K/XdFiqGniD9MX4koDtYEm9SAuyWiA2s5Nx7ztKJ7preQX4VghBHTiqRsqdQ0f7vx7liwXcJ72yD7TnB/dPMQN6WKdIlZDdKLIBQ6RhFl7nvfLI/8f9evtvVYTZedFp1qXHfxme65igmKLWbp/UOnq4jP5cqBPa9Tdqdr8iFF3SUaYkvC5QEVt1gYHOwhHWpfWvYAss3Im6/gYjVV98PJ3l55EByVrEzdPm4LHt/pnlonFj/w2oUpzCrCjjn9gNyQQCUvug1VWC2P14EogXGLQRVmLlGzV5Jrq0kDof9PQVg3eaM/FKaBw4iCXKri7JIPu4mEapmagTmstSFu4hKXaXzAXjZeeBznXJxO9/2IEK6rL8iHbAWVpihNR64ucWMn2D6Rz9HNXXJvQuRTFmoUHTR+Of8TgC5i0cRqSIk/ZMQRBOHFGhyRbhieEmAxgXyO9srXWHu+905XI+U6ZwGystJjacb6tjFym8vPxjtDbg9lYdiAwluNkKaBEFj/Cv+i1Ip9IlaP4jXWJt+aS5bjCPab07z6NG54ntMbqTwiFD8NoCwsPu59KxfoEt3A/rO72OYBOaIBQqGtXggEx/UepExd09DT2D8D3rcA5E/mFH/X1PcSsTi23B8JmNlJWM5Cn4Mc5EacYxgQQEbjoHCa56Fo9diZpb+5ERYwjRbxvx+WWtjIQd8qcSfb6CFyOZ4xgY2goZrHWvsIJnVhWraMcqhDOjaZ7Fp+/L7tC0bxF3EubgdmSXKHQlvWzvxld6tvs2stW6jDFaS1CdcXG0su2mp3ADaLkFIsqirU4FXym9wmwT3oc83F4XO9uX9jiC6IE9d/6FeFYV7AmPF2xF1TA uQdkx1E3 27g9dT04zwL/AaWph1pH80e/oHcx0cUW5tEQW8EgnDP/0dSBXfwYkZKlk1ql0QZFA70Yn0LAiFdp2yQ+xQiN3jx1zh1JiG6u4icj8KM73BIDAPLSjLEPRaV+WSwOr22g2Vm2/XtAxqcDHLEd6hPOoxENala0c5ZOvrFAKfhIMnFi2Ud54kNVZgtoq63K+obitdBxf0P5AK+KK8hKRWAj95nSZeQU0xqY/tkO2UfOqkkHqf/+9t0lS5g3yZ2B0MYxgla5sswpMzNA8x+rhxtIo3M1MLotOocxkWH/4mrULxopHSpc0ZUGHUCMl20nRO30nWk4BgX3Xi0+6fr83RAvmb/2hNsvMXlcpV0Pp5C+N92TQt2Hqvz/GOqeqzWxPJaaHToKFE1+6BE0iTQm+QFgn6dPGYJTeH1hM5WapHhmjqCS8MffX78FGw6TNLiEaZlSprD1lH9NwlBUv5vb5Qb6HAbAKIqgc+u5rMJ2d9CqLEow0WRXXqXUV0NzfS0M9PsqVC+lkK1FdIRkSd6cYRj4a0Ab/n+UXVw66Qptugta83NBU5RYk52LR8CeKAnJFAzjNIdAAax7i7bjV0ZorwOUvuAYWSWBsNRc+dy8vy7T89ixb7Vw43jlPRqoC8+ITXbnbSUhIKCkqrutzPQD8UwnssY+sOhEPtrTDBfZnZlpkFhOwa4QJHm/1NtWNCFPTrHC3pqwdixnODhOuOcW7XBv8CLkxmmdXvKoQ6mq2SVjAHxapGhjfHXtowt8cx9uVotkVAhTfWBmWFjLVO50B92xIVPueKMFbyFYCefhrVKte7l2XBBUCWDwq2/HOw2qdI3C52TyD1RhaN91GrWQsOYF+9amDKH6dHmE97rOOOaWyHW1ViiSAMN6lXb0SfulQWUv2YdUNgpswVPABh+kNbHvsEVgKi57mTnFtA4jz+/3sMVuRUzGFyM4fQ6T2yGr00GGPt+cD8Ilssl7GtQ0zRctyMgOo6r32 uHzrLQ0q UPS+RlkZyXInTFqChmhYZtOE+mbxAuCiqnNBBTOaXIubUZvykO9F/cOS8vlh+k7FWwqkg3SkW8EmKxxGV1aeHsIB6dTS9QbvbCQ2ohkcYhMIhX43CMot7hFQfahtINU/5K5ebWyzPBEOgQp+KqIoQO 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: vmlinux.o: warning: objtool: intel_idle_s2idle+0xd5: call to fpu_idle_fpregs() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_xstate+0x11: call to fpu_idle_fpregs() leaves .noinstr.text section vmlinux.o: warning: objtool: fpu_idle_fpregs+0x9: call to xfeatures_in_use() leaves .noinstr.text section Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/include/asm/fpu/xcr.h | 4 ++-- arch/x86/include/asm/special_insns.h | 2 +- arch/x86/kernel/fpu/core.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) --- a/arch/x86/include/asm/fpu/xcr.h +++ b/arch/x86/include/asm/fpu/xcr.h @@ -5,7 +5,7 @@ #define XCR_XFEATURE_ENABLED_MASK 0x00000000 #define XCR_XFEATURE_IN_USE_MASK 0x00000001 -static inline u64 xgetbv(u32 index) +static __always_inline u64 xgetbv(u32 index) { u32 eax, edx; @@ -27,7 +27,7 @@ static inline void xsetbv(u32 index, u64 * * Callers should check X86_FEATURE_XGETBV1. */ -static inline u64 xfeatures_in_use(void) +static __always_inline u64 xfeatures_in_use(void) { return xgetbv(XCR_XFEATURE_IN_USE_MASK); } --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -295,7 +295,7 @@ static inline int enqcmds(void __iomem * return 0; } -static inline void tile_release(void) +static __always_inline void tile_release(void) { /* * Instruction opcode for TILERELEASE; supported in binutils --- a/arch/x86/kernel/fpu/core.c +++ b/arch/x86/kernel/fpu/core.c @@ -856,12 +856,12 @@ int fpu__exception_code(struct fpu *fpu, * Initialize register state that may prevent from entering low-power idle. * This function will be invoked from the cpuidle driver only when needed. */ -void fpu_idle_fpregs(void) +noinstr void fpu_idle_fpregs(void) { /* Note: AMX_TILE being enabled implies XGETBV1 support */ if (cpu_feature_enabled(X86_FEATURE_AMX_TILE) && (xfeatures_in_use() & XFEATURE_MASK_XTILE)) { tile_release(); - fpregs_deactivate(¤t->thread.fpu); + __this_cpu_write(fpu_fpregs_owner_ctx, NULL); } } From patchwork Thu Jan 12 19:43:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098764 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 0432DC54EBE for ; Thu, 12 Jan 2023 19:57:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2C77880007; Thu, 12 Jan 2023 14:57:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1904B8000A; Thu, 12 Jan 2023 14:57:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D511180009; Thu, 12 Jan 2023 14:57:28 -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 C325480007 for ; Thu, 12 Jan 2023 14:57:28 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 9EC6CC03BB for ; Thu, 12 Jan 2023 19:57:28 +0000 (UTC) X-FDA: 80347206576.19.729D4B1 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf21.hostedemail.com (Postfix) with ESMTP id 188801C000D for ; Thu, 12 Jan 2023 19:57:25 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=BJq7Eb2V; spf=none (imf21.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553447; 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=57ZArFmnIQzaVihzbRCoRwr2LaVbKaf8OfuJB2z1dTg=; b=wu904zU1Gty4ZiyMPonWFSF+Y349evb3LEPva57ZMLMqBBZhagkpbKxyYZM7VA1BX+jCos Kx01TmnFxJGgbxalF3+QMP0fMuztCKyt5PUqjuRxTmu6M9KVJij8A9r86BuFgZunQU/R/9 tA0278bChE4LhGOkZFfybMoH442Pdvs= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=BJq7Eb2V; spf=none (imf21.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553447; a=rsa-sha256; cv=none; b=0bq8NQvRz7WAqU+5BPCUTk9nCUxhEfW3s4LThVJHxbBMNdk5oQ49gNbwf1UJ9Z3v7KSF14 YtF8Zdt4yaqC7ej3PSTA3CLenAzxzt2ZrekhaBaZGH8pSVqf7D1kaFm3Jd5gjktI8l04VG 4ELpm4PPpjS2dlvryaB52+ebOCQ4YcQ= 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=57ZArFmnIQzaVihzbRCoRwr2LaVbKaf8OfuJB2z1dTg=; b=BJq7Eb2VVVYeZl+IdXRGObXCzt D80no4BmF7CyJjX5styeXzmIrelzaMnHxEoVg6nXZxHWtj44jUI85gQgq+ecrcOIzJgQ7Pnity6Ge Hg9iCbqoWDCsg2xzGD+/oc6XAjzFXkaSaBDnr1uJELdZd4QZJnGC4XkXw72le1CN3wM1t0oqFupf2 5nEImdhEGcDIQXzj6Xnal0XHRY4oap6hYsNXngBEux4jWu6rpBJapi3o+cCnU6Lm1rShWJb4ULFYh OEhH0lrXyToKuZNMqLl00Qzcc2Cf+fSAgHi1NcjaUTb1XK6oJLJovfNr5QPAcpM2shsg56Kot+DZj YzxLXGjQ==; 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 1pG3hF-0045ol-1k; Thu, 12 Jan 2023 19:57:10 +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 614FB303425; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id F0FCD2CCF1F7D; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195540.556912863@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:34 +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 20/51] cpuidle,intel_idle: Fix CPUIDLE_FLAG_IBRS References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: gam9hoxwngtsmrjczc5akieh533mhs57 X-Rspamd-Queue-Id: 188801C000D X-HE-Tag: 1673553445-463743 X-HE-Meta: U2FsdGVkX18F+rTbpo/WfKqvOBpqdt6ewFX2m+sPzxeYCZfQjUAyD9DuKJH2S6Tz+kSw/tJF9Rwj4FCO/wvg7m6sjQHCYM6tTT39VB7VdL2ixLLRKygDBqIIGl59ejb6qRq9IRdjCF81Lz6utmpjZz6u4SF3fu7AQ4pW7doGeZt/jFuleED3a/ls3vZdtGmq8dxd5YmpD0l8OlHf9RaOPJ6YjhcHRdrGnx/x+Vdc8Q/zocoaDePJgNbN463y29i/F/BUqJmbC7MfSk2GGf8gjNmjzKuZ46TTpQl2wKzRfHfvqXYCmRSVeP0BUi9DMeFtpa5XfEL3+Z5z1gsehDXx+1ZU1CjH5Gm5ZTCptyriaH+2vl+6PMTBxK82/HquyW8yx3IEazfq+OSkM1Jvqm1JDloFQ0DKHdysyxNAXnuaKonQfSYveB1/AL/XkaYetQXKgql8ZQj1VIZNaxXp3lo8wcjQDz/SANyKd8gFFV2U9Sp/JRD4aziP7GQFXsr5SZWLKuDJLKXBBpCuY6hQh9w6Gq3QeznM4s1alun2o2ZJMRN048PC3YffnBuIwRNqMxV11UCZskEr/pCTl704oLNJuVY3Qqmsvd6wrl+iHEqtFJJHMyAmo/3k7IgRQCIDjdeMzTL8IkTCuKTj51BKYlJA74wlIw2btxKgt1ggaIjw1hP+/Z8POCe1NO0lFVJGh8NXj2nzOOP3SDryhN2J28ohX2RIyEAI3xzaOKTC5tpHll0+jvGXIhMfwFFoJZqke9ig3vsGHNOl9AMXKjIvQKjFz+cWK4q2jP4bOBuxCfknJdjT6mj8qiax0sUxzCDcdK4rCWGJG80Oco6TR7mm9r52ZGPZzSS2W+62/cc5gT4Ko6jKqaIaopbj5EJxLkjV6Tuzd9zPnKaoyANyUc7p3J7H6qMCrniwREM9IayoqTR7Nl2U19VBWRDmRIKQj2X67IXAshPViN/1ZKy8514XtsI xTtW0u3Q Y3O2VNKcHSvXwE/aAIug1b6NaqaFjtKJo8OTyuK2DttVHHyMzNXmmVNjUdeSspARXPDOZAWWpAplQ0vXBW8MbrCre/RB4t9We5B+vFXiNCXyi1FDCpXseRRL6a3njju/gzC49IavB9JuR5x6cqbEffShQ/QO1nGXb1F1mY2AtLOfbYODjxZrzFjZITj5CUrrPT7u5Kx95O9LheNnuCAAbGqhRaTiQgUTugVsizbBXMZnr1QBaw/l1YjEjiyRc0ab29YwnDG43mo1g85bI5x+FuZsJ2bWBScVxKKpxUcCyCIRQ4GzPWuGi2+525r/iI9OOy1B30YhVsRHoLl9/hvH2TlsZTo5F6HjBTqSM3wh2h3M6PynaIzoJhN46fTIKwVOzDeSrOvT3eW4hlO3TGK4dHX1x4eBtxc7gThJZBKqYg25OszSlRq4oe6l9I63etCp+oNuBjWfP52A1qNewqi6avD6a2aEC0Ady3/G2BmlUCqvzDrQ5dEqkE+YtBhBteupBzHbptbGI4lhccmMIxCA6vel40QdNwkmjda23kl6zMSVIkxG0egW5CiRddXK4lLR8PDemQHg2g7b9qPyhiN+/1F5sVDxnIeiiEUWz34c2XGcEh3F5cyfccvUaMHelDOeoWQQoSLQME2FmplXASAYkFc//kYjHogQZRggVCS84E0b3k3BmQMVGkAnz415JFIaHBsLva/v9dgm7zhnxU0ol9FCxh07ha9jNCs4R/ZelaglEw/pr296MojGAYQ75smUBiS0DLvdx8O563I2mhp4c3QyuPAmwLLTf+sRtoYs4O3gxFqEpazYQsSDVWhBRt++IcLv1lV+ob3AthovHEJxhnNfJFtH4qLuRnwcELH6oRbqaemhYynMZ+bLLKy+1pgNsKLwm6hv/0LSrVGy1pCX99s+NmqFLbocShRFxTp0Y3Gp7C1uWrYCq2/yby1dsVtp1+/9M1btSl0QS4j6LcD2CbHlBF6Vv lXEhdd5V Ytpp2ZjInYJ05kdCGbSLkZA+k6VQ86vl6F0jmaXWFrwsJHALC2IL6N2M/0mWae4oO8lvkpB4djFuGCEpPW4D1bpQh9EF/pZWoTWLfcFvygQQ3/rGQoAwmgJr6M+6C+J/dUVU96FDFtKXSiFd2SwpRTuU9H8qOmcPm45ekrYowINetiNAWsIT0O5Lnh0QeNMk7D1XMd7DfbUOMBi/hJlzBU2dMD3YQppbuwWCGmbnjz2qDu7U/k9LRDc6JU1K5hhwEtkTBRuXSo4rY4md/J0f1yjbIkMbIb3IHyAznxxY3XqZSpROmcANsH4nRoez8SikAZEtRcVJ/fzeZrE5oh/V8WWjEqCSRTpqnW51chH3EB6/JQDHS64nKUo/blnZNnGw3Uzx5mOQWfyF2ckdukD5qRK3TpOt2oGaYQkKtrlRKbvUM3h95qKtKxaqCpBCRJb9/mXdH3bWndd3PF5wEC8DgeC0vECUrjb/ZbS2r6BEWOBxHkT7JDWVd11Og1web0l74PtNk2vW46amnJiyablbigvfoEnGzgiS4c5/kBcjCLAsi86QddHYHXLjDhdDjWsl7jhZXLWJyipA1lrLhxduqL+hMr5xYKbbz7T4xUp4qd2bG96tx8SWGfqwW9VJjp1xgPITgti36dJ9YLxnWhFgAJ+tD8HuM1xqNvwiysVeAInOMZL63oqQ/Oa/Il7J8Noi8NUC/n+n0mxEcQp4/G1S23OxcGy8t3Cmb1YImUH7XmE5a6XOblArtmwREFJYjrvcTlFFJoTgmDtJUA4pOmWMFwYiF05/FLNjxBJWHUtfwDJkgmEkr3BojQ0o2ZzwiaKl4ndmvzXQ5J2N0x3QnOQ5+3aFIS+tnqcvIOYDlr73d6VWNGG+E4Z5yDdFJ3WJ5Ndgw6qgi6kLpbBoLz4fWHuBNU5AeGSbBSmNdEzartjHVYAe03jyu5wH+ldax9bPsFs0yEeLeNd+GGJaovga/oDHv01xwRYMA zhxxw8sF itiBxzSd7NwH26gSdU3NanpXwjCVL+fUBM+gq7o8Txo2U+pa5FxGfhS2O5vkYHj1H9bWilQNRU95NHkdHGfF+ffqhkvJpS49SJHZhgjkl06ktza3/JRJC9lzjGEyd4wNC4hUbYZOcMOBxNrUM11zl15HRRIPpZUYQEsaDIzLiVUnGPVooMV5HAeoLxTO5gFjX/XRqw6eqavE5wJ7BK0FFA0UsSRLUhnoOFhj+Zn+D7wA0HthMLDxtdcZx/ydsKsiCANonTnnVD711SO6vWZsmiOK0pjjAESLN/zxVLGKgVecwyhRQius0n6HJtd5XKlBvx391j3wohcFPHMuP60iluuJKJ7Sh1Lr6q9wA1auUgZczkj0d8VbGKZxaO+H+OVmVpOIQ6yLCJ06uLJkm8ba4VHqdnmBb0wQnHtys3/21FBgFNfpi5LI0kuwDlGD0HebNwXMEzuOcca8tfBGE54D9DfzmjGuKbm41DKaIo0g45HqCTuFox17hOutdBttT8jscp7aobu5zKgO0HAm50usggYsrpIxaurh5SxFonyHCJ/Y0TNnM7lgKdoVnvu0LsDRIrmYftmMZmGvSMNGCQwhOS6KzFSwOCv2obH/acxzDzbE+lBffLxYZHQR0S0TAscrnXSevKfrqoywGhY0LpIHvfmTNwCCJ/A3HoHxswTPZr34vJ8CY36WQU2gpXNP6YJr6iySikJK6d9wb31sc6uSJyewMhMKf7OjN+mCOKAaNjEUbqfTnjyU9IWl3mclJSn1T0FcHHA9VhmQvNuj4tCbAtSDGL3jm+AzUuhnpTeW0FWXwteceOmZERfM66fyYu/W38UbspfZpnR20o/sPk8VNS7R0x/PL0ewuuqrS+zdmi0M8cSnwZ8GYD4Ml6Z9Y+y4/2U2GSkM9rkFuklHu+7XPfZ+YpmJux4kuBk30TbYFmdKHjWpLWJguRRJJTE0PKehi38AXTagEajavBy6JyYPQ8kM4x8Mw Zk+YrMHE hyN75tGkCvTZ17Dg9ZlrXQM8Ixi0kgbxNnYFAdK6IEvFTEUdh5o9nZ5eQJF/LlMlQ8VZgO0Q96UeJ2biYjBZVUEtWkGAKvB93cZvM8cdG21noNVCQohOoNFkjhstvIEs7erhGSEDC1jrJVvBsNBQDt 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: vmlinux.o: warning: objtool: intel_idle_ibrs+0x17: call to spec_ctrl_current() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_ibrs+0x27: call to wrmsrl.constprop.0() leaves .noinstr.text section Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/kernel/cpu/bugs.c | 2 +- drivers/idle/intel_idle.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c @@ -79,7 +79,7 @@ void write_spec_ctrl_current(u64 val, bo wrmsrl(MSR_IA32_SPEC_CTRL, val); } -u64 spec_ctrl_current(void) +noinstr u64 spec_ctrl_current(void) { return this_cpu_read(x86_spec_ctrl_current); } --- a/drivers/idle/intel_idle.c +++ b/drivers/idle/intel_idle.c @@ -181,12 +181,12 @@ static __cpuidle int intel_idle_ibrs(str int ret; if (smt_active) - wrmsrl(MSR_IA32_SPEC_CTRL, 0); + native_wrmsrl(MSR_IA32_SPEC_CTRL, 0); ret = __intel_idle(dev, drv, index); if (smt_active) - wrmsrl(MSR_IA32_SPEC_CTRL, spec_ctrl); + native_wrmsrl(MSR_IA32_SPEC_CTRL, spec_ctrl); return ret; } From patchwork Thu Jan 12 19:43:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098759 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 48F51C54EBE for ; Thu, 12 Jan 2023 19:57:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 35D16900003; Thu, 12 Jan 2023 14:57:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2F0C6900002; 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 CFA628E0007; Thu, 12 Jan 2023 14:57:26 -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 58AC0900003 for ; Thu, 12 Jan 2023 14:57:26 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 32E8980560 for ; Thu, 12 Jan 2023 19:57:26 +0000 (UTC) X-FDA: 80347206492.06.9258CA4 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf05.hostedemail.com (Postfix) with ESMTP id 7055C100013 for ; Thu, 12 Jan 2023 19:57:23 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Kp80SUD6; dmarc=none; spf=none (imf05.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org 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=2eFs7p2/0chzp9jyFOBFOnUwzOwJX/uRLls14aFVgag=; b=V9VeQgS4fcd7JIQguc8nc8YQov/+Z+mCJv/Wbt5hfCJM6aCQ/Owc/Plwe/bUuAciZ5e3T7 9nggjhihKQji14yryiVmunQQ4Q4S0uazYBrDLWmtTWFmPn+O9Sv0z39oPoehqm2yfwwBhD zLhFYt+o0MALlU32Eoi6WpxkGU16If0= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Kp80SUD6; dmarc=none; spf=none (imf05.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553444; a=rsa-sha256; cv=none; b=1RRjjooC4gefyM/tkjAhZJs5M2RmydE9jdShfWsXW3/zFwvD27jjxoEyRLr+2U/lcPU9GH JEvx2v1x4hT4QeIFiGoG76IVpJeboIXwQKlCYTjqu4eftF5HDX/qDZ8YlZ0TNEwxO6662d 4cFJ8QFF6nWmeju9/4vLTbaU5D+wQXk= 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=2eFs7p2/0chzp9jyFOBFOnUwzOwJX/uRLls14aFVgag=; b=Kp80SUD68uogQ7CF0VPz5WgdMT 0FS6rzZ+zEzxTiJoRY9jEMzKGVydp7aYWC3sRUUnILWIxAyd96CWyQ9T7UE6DShorpZaQ9mDk6KVK YpusfV5GbadFKS+Prc3I7me87VXj83zKX6LVewrKS1W6U1Y1Z1aNLoF8uW0CHwlh75MpxatpBfUgL QEy9WXc5DqqL3xIvlWnY+8NvGltRlD2i0A3ODa3Wy0R4rtWnWuaU1J2E2ZFUqVfxtvRA0m/3Gl5ri UpkOH+MJ9X8S5rPQvY9RK8BcUr7Tgb39GbSPZixfN6QDQ8AJi/5iNjoQt1kg6s3BOQoUGB+jZedZX ffni6LxA==; 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 1pG3ha-005Odx-NL; Thu, 12 Jan 2023 19:57:30 +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 64649303429; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 020F62CCF1F7B; Thu, 12 Jan 2023 20:57:07 +0100 (CET) Message-ID: <20230112195540.618076436@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:35 +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, "Gautham R. Shenoy" , "Rafael J. Wysocki" , Ulf Hansson Subject: [PATCH v3 21/51] arch/idle: Change arch_cpu_idle() IRQ behaviour References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 7055C100013 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: rc7jmuemjw54gjmtxw4eabne8jmo866j X-HE-Tag: 1673553443-7371 X-HE-Meta: U2FsdGVkX19rlJEOZVt/52Z1QihWyBiYfR8XOKe5xDYUP6XzNd6JhZrKF5BhzTziipFPFB/ud4jwJNgVVvx5fk1LWgP5merRYbXCBhIUuxvjtmt6ncHfYth4d1LKxmmo81n23qTEF9g0iD7eva31d4gXw/1iQw1mgWK2w63Sz8eZAmOIZpFB1W73fzJATzPykKfGwb0cj52NClLJPrk2mq1+OlsQQPQArZzg3ggTsj3fvwh5Pxk/jxTQ9Rijf88GWi99H6ZZrgLwezoFRS25irCY3jz7vuiLHBhgLqLnIjgj6VAntk/RtXCYEdvNAQ5D5yLvadmHzUrbcjCYtuVTD/O8JuBwZTPjKQKcPQZ2LdyhBDN+ygcHVfcZJJouhuA8dL6cTP1FWK7DaeD5GXP9iEawLRtrsMLbRWe2Uxi4i9OnWHAXgD31ihBnqQBEqzIUiw38VYuDGYpfawvZXf0gvnO1fsO8JQ+EvIj+A8kheZj8Oh/shpgXU7gia3EZdbm/qPGwEO2mb1uPz7lKVN+/Am78jvvKUm4ehmojjWZH5NhM2JhKXqI4uk/nOVRePPOlboQsK9LKQxtFbQTb3MiLN4wkV9Qd+oAVDYTmOkBDk/U7+sZ3WSnsF/OODcTZHOqALeNBs85LH8FJrEpDT6AG85uKKVjiH5e9whufTsT4SdwDS7pctimIKr/WHcOPyxN0DKDYAnUXptdpexZCKfnI9TgCl9wC5JGE/QReg2CY9BWutbqHGCtzgMIqQ1a1W1DVr7a47vQGYn1MxUxlsgxqeUWa1ncfDrzUxFZFG/7rkTiDH80vPS0Hxr+6PVWTuPl6MVHtDK9WbjmfJoGAtazd8OYPSmRkeJnyGcKxUYPAvV2lnm66osu3X3bs404s7cBrwMv+S2f3LTRWyuFAOuqNI+3txrbPi9XG7GHYKY6GpY4qLJ2ZnMBua+8Fbt90lF1RQ7+VNDYrWFpa02AY791 EzchAJ0U NeD4gnLTd/DBXSE+iIXzBZyPc+pw4JlEoLLL5hOOO5Mxkd1pPmMMcu0f8stxU3ZX9wL0dkw5Irie/wcAnMv48eY0CCqR956ciEiTT4pjeE+bKvMCxJCuSHbqxy/fBCGiy51HANB3iqEoHjnf93gU/KQA+r/oiNui2nraWUsIqvIlkth5DAxhiBasKEFRrtdVbvUBOvR/lLb1p3T8PqTqmCCa6JNYcVL2ySeMsCwRMp16Pq9+ztyAyPtxZI94twcoODyjXCuV+OcnzA3j2OJpWMYV4kTdeow2E4NiPCnL+w+y9Ma8qAC2yueCb7yw63ZyE8bL47wAIsPhGhuFJisQkp3sJAL7dulsxDi7nISEFbBtoT/zt2BMRSmRlx7nmFThtkOy0VCHzT9vTlXm0X9WM2eVFd5qivZao0yFt7PuuQPM7PHoJxwCcSSkIuhLx0j0bfwVvBQM6B6GA2GO4JEhDMWekgCYgUFmXQvoBgKQWdklBkdrxiR2eONqYNtnxYg09se1rWePvdgQFuuRnnJYMhwxfTPonNJrvmDRn7IK5uisNwC+0eag/4NtM9rBw8cModQkH2Vh1FFg16+eYTvuqeB2MCLcIN83YFnGG81c0kDKKsBejoEdAYDq5mGFFsMUM3evgEnwiYUCuqX28fGLm5BF1vXz7J00oJ7N8tTkhcFnA8v/vPKSjELN5xZG+e6PdcwxpUQAKbsZwT8l2J36A9/EYdkNrzmKHIvOjlwVvBBPZ4KfahkiH1sd/u0BujgMPLsiFyfta8WKWrRGyt3rSLJ9BqzKsogcBuf5GQyXcpBUqdKsRW/Wrp48myzGO3SiyFK3HBu6IMdYsriM/ngX3boWrkTARQ8MWIsduEeTFmVDckXFePa9SRZ887VfDQMRzU8d9pfqgVxNjDP4P6ecWTVXYo252YkpADnmDszyQAZiOjlafsH76SHvNmt4zhLMIqmHL8iIhQREC8j21QwRQZYJDnzOB qbIPvc3X J/ozrCqV0is2sbupDbQcAfd9dodrbf3/2Wnm9yHKTuakqap/x5am85+WbghwUULjkT784dXtcFrGLlznFre2dJI/ojcOQEoU9knvXSVJY0GHdsW7feLNSVxs49F3wzdCLHcLv+LWQUNGLn0M5rSPHkjP7kaNTAG4Q7bWHulBCPN2OQKNsWmg/zJTB0uyre0rJTiwX/IjzYJPhR5ZHya/0OH5+6R15+EIGXdLohL37yF/WEWFfWj3szJVsGR3n1npV4luCtcwAYd/EsUnOGdzzujszd4x6lLeygBKdXMFtaqME8yXRU5LkhRmQiyAcWqHqcLcJA4oPSloeieViJpLABphbldr/jR3TVotOUGWWcNccDIX6Js/KP1a7CEN8t8/DqREefapmNoetT+77DjZm6z2hcPz3YYLa2CB0w/dgxqCe13djoXyVn/BeQfA2ENcI1HBpFlnXG6JY+myfcsROcZ3b9DH0I2O/bNYF3y4cpkw51MvrlwY2HGokqfU8nyALoDA+IUpfMuh7XZ+fbT/xIoNP75t0A34ApSD/jAFw/C/HwueNOeiiWXxdX5phvFlPsu8WisArYKD5VliBT/9D6k/cBfiT94SK4K+DhCO4UNGLjc8jS/K8Ge3BxD8FQogCXaXMI1ty0Lq7L/OO/L+YStdKBJ51Zacm2F1Rk3RIWiyGC0Bc/iXCtLFyNnv1pg3i/jTDVYbnF/nmH9QCn8voECSwDczTBVH3GKuJwvOS04FrJE7zGYTiN+beabEKrHVQ6G+GeZW+ehW3MYgl2nwaJkvzDY3wUp5GKrz1YHy/Z3evL8i+GGJlReElpmeK4P2AJdSUHdhFzI5qIr3BrSHBedp6zXBNb+0iiPLuUq/dmsyt722/+tIyVXbuE3NGFhNljygBuD/Pe2nRRPbre0eELNscfHtGlErnarNwoQWQtr5yecnpwzpBFZbuRXidHZcK9hgVPp5LWchLu8GNJPXrfvg1aFjv FmIZX4jd 026csaBjK1iMSptY+tnHp26I/Zx14L7O3cARzGeUZXtf2uGNP6Eulb1PaApaJV8j0cp/nOVL4qM7mKfeu7j3lK/zuGL4GTs0uX+b1eOVM2ghhdAkUFy7tktgzPhk1DM+r2ebebYjUGMVW5uCfleuYKwbIHK+ccbrQvIkgDgP3WQUSwbu/4noj6KpcKBEmids+29tNWbFrZy8rwJ20Ywa9OIJ1nXPe4mMPubac0tRhzzWz1jOrpIrC0//V4tMvNfO7QAeermie2zrpx0ShQBVBnibYxr31gOpcm0OQUqboLFoIFKOQ5AQ+vZ9H1ZscSqCSz21CTg/dJJHykdGLFqzPbtq/b6mRo4ldZyAYfhe46R0CJFjiYQH9XRsoXTkYEFyN8Y0OTbSacyie6Wqd0bYboIWKMay+UehrrZVzmYnEKOIQHp5d5emVkaUgN/oEBeQd9NT6ELDVeqE1bXNSNGuyGDle1eLzsP8oBPoXJfHp9YuwmltvL+17NO0Nj+Q+toSDgNVax1kc9XRbDySds/iDo6Y4ZMDN+9vJTssv19FHjMn7n16VSUJ0tAAQS4NXvZgyQBq6WPAOVoUNcBdyHNO3inovlvtgzGF1ApyrX0wMJ7PWBx3WtwQReHhZDt/y9mseI+g7VDH8lX/cNyoLbeHbDu9AIdcl8tBVbk1/bJOVp27XQApG6dR1RbcBWaFZwHP4LO5b4K0o2qmvo1NOKE1GKe7guKot6/L5MjiiP1Yc3IhKt3K3mGOSeNa2J64I7vqw80p67vRpDvgfQ2ABrbLamI/Im11VBEJB1JGZLGUs267Ig1KQk+mHFvp/wuXca1NFECOCEyqDNGrHbGvfW9F6DnJ7MnEbVsgSGvD1X04AEcPaCOOwEfbx4NcdCMPELmj7EHMEZsEP2yT9kTulJQzHv4+j6QohKBqdl7mBeULJqJp9HQ3SnRM81SZdIihaaz0MElKPVt5+62hCDxhB6AAzODE9VG8Y EyIR+Ca2 ydbObzuuWWWXPkbeJJHOTwsYsEANq2pWWbIuLf80qjB3WIBNm5MWztK0keQ2EN6w/kxF8go1qzRahI+C2uc8dzRExgrprzAdRptv96A3BgsNEUYYlNYPdc4kd2yCo0z+WERIr7E/X0Z3aDto9lU+DH 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: Current arch_cpu_idle() is called with IRQs disabled, but will return with IRQs enabled. However, the very first thing the generic code does after calling arch_cpu_idle() is raw_local_irq_disable(). This means that architectures that can idle with IRQs disabled end up doing a pointless 'enable-disable' dance. Therefore, push this IRQ disabling into the idle function, meaning that those architectures can avoid the pointless IRQ state flipping. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Gautham R. Shenoy Acked-by: Mark Rutland [arm64] Acked-by: Rafael J. Wysocki Acked-by: Guo Ren Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/alpha/kernel/process.c | 1 - arch/arc/kernel/process.c | 3 +++ arch/arm/kernel/process.c | 1 - arch/arm/mach-gemini/board-dt.c | 3 ++- arch/arm64/kernel/idle.c | 1 - arch/csky/kernel/process.c | 1 - arch/csky/kernel/smp.c | 2 +- arch/hexagon/kernel/process.c | 1 - arch/ia64/kernel/process.c | 1 + arch/loongarch/kernel/idle.c | 1 + arch/microblaze/kernel/process.c | 1 - arch/mips/kernel/idle.c | 8 +++----- arch/nios2/kernel/process.c | 1 - arch/openrisc/kernel/process.c | 1 + arch/parisc/kernel/process.c | 2 -- arch/powerpc/kernel/idle.c | 5 ++--- arch/riscv/kernel/process.c | 1 - arch/s390/kernel/idle.c | 1 - arch/sh/kernel/idle.c | 1 + arch/sparc/kernel/leon_pmc.c | 4 ++++ arch/sparc/kernel/process_32.c | 1 - arch/sparc/kernel/process_64.c | 3 ++- arch/um/kernel/process.c | 1 - arch/x86/coco/tdx/tdx.c | 3 +++ arch/x86/kernel/process.c | 15 ++++----------- arch/xtensa/kernel/process.c | 1 + kernel/sched/idle.c | 2 -- 27 files changed, 29 insertions(+), 37 deletions(-) --- a/arch/alpha/kernel/process.c +++ b/arch/alpha/kernel/process.c @@ -57,7 +57,6 @@ EXPORT_SYMBOL(pm_power_off); void arch_cpu_idle(void) { wtint(0); - raw_local_irq_enable(); } void arch_cpu_idle_dead(void) --- a/arch/arc/kernel/process.c +++ b/arch/arc/kernel/process.c @@ -114,6 +114,8 @@ void arch_cpu_idle(void) "sleep %0 \n" : :"I"(arg)); /* can't be "r" has to be embedded const */ + + raw_local_irq_disable(); } #else /* ARC700 */ @@ -122,6 +124,7 @@ void arch_cpu_idle(void) { /* sleep, but enable both set E1/E2 (levels of interrupts) before committing */ __asm__ __volatile__("sleep 0x3 \n"); + raw_local_irq_disable(); } #endif --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -78,7 +78,6 @@ void arch_cpu_idle(void) arm_pm_idle(); else cpu_do_idle(); - raw_local_irq_enable(); } void arch_cpu_idle_prepare(void) --- a/arch/arm/mach-gemini/board-dt.c +++ b/arch/arm/mach-gemini/board-dt.c @@ -42,8 +42,9 @@ static void gemini_idle(void) */ /* FIXME: Enabling interrupts here is racy! */ - local_irq_enable(); + raw_local_irq_enable(); cpu_do_idle(); + raw_local_irq_disable(); } static void __init gemini_init_machine(void) --- a/arch/arm64/kernel/idle.c +++ b/arch/arm64/kernel/idle.c @@ -42,5 +42,4 @@ void noinstr arch_cpu_idle(void) * tricks */ cpu_do_idle(); - raw_local_irq_enable(); } --- a/arch/csky/kernel/process.c +++ b/arch/csky/kernel/process.c @@ -100,6 +100,5 @@ void arch_cpu_idle(void) #ifdef CONFIG_CPU_PM_STOP asm volatile("stop\n"); #endif - raw_local_irq_enable(); } #endif --- a/arch/csky/kernel/smp.c +++ b/arch/csky/kernel/smp.c @@ -309,7 +309,7 @@ void arch_cpu_idle_dead(void) while (!secondary_stack) arch_cpu_idle(); - local_irq_disable(); + raw_local_irq_disable(); asm volatile( "mov sp, %0\n" --- a/arch/hexagon/kernel/process.c +++ b/arch/hexagon/kernel/process.c @@ -44,7 +44,6 @@ void arch_cpu_idle(void) { __vmwait(); /* interrupts wake us up, but irqs are still disabled */ - raw_local_irq_enable(); } /* --- a/arch/ia64/kernel/process.c +++ b/arch/ia64/kernel/process.c @@ -242,6 +242,7 @@ void arch_cpu_idle(void) (*mark_idle)(1); raw_safe_halt(); + raw_local_irq_disable(); if (mark_idle) (*mark_idle)(0); --- a/arch/loongarch/kernel/idle.c +++ b/arch/loongarch/kernel/idle.c @@ -13,4 +13,5 @@ void __cpuidle arch_cpu_idle(void) { raw_local_irq_enable(); __arch_cpu_idle(); /* idle instruction needs irq enabled */ + raw_local_irq_disable(); } --- a/arch/microblaze/kernel/process.c +++ b/arch/microblaze/kernel/process.c @@ -140,5 +140,4 @@ int dump_fpu(struct pt_regs *regs, elf_f void arch_cpu_idle(void) { - raw_local_irq_enable(); } --- a/arch/mips/kernel/idle.c +++ b/arch/mips/kernel/idle.c @@ -33,13 +33,13 @@ static void __cpuidle r3081_wait(void) { unsigned long cfg = read_c0_conf(); write_c0_conf(cfg | R30XX_CONF_HALT); - raw_local_irq_enable(); } void __cpuidle r4k_wait(void) { raw_local_irq_enable(); __r4k_wait(); + raw_local_irq_disable(); } /* @@ -57,7 +57,6 @@ void __cpuidle r4k_wait_irqoff(void) " .set arch=r4000 \n" " wait \n" " .set pop \n"); - raw_local_irq_enable(); } /* @@ -77,7 +76,6 @@ static void __cpuidle rm7k_wait_irqoff(v " wait \n" " mtc0 $1, $12 # stalls until W stage \n" " .set pop \n"); - raw_local_irq_enable(); } /* @@ -103,6 +101,8 @@ static void __cpuidle au1k_wait(void) " nop \n" " .set pop \n" : : "r" (au1k_wait), "r" (c0status)); + + raw_local_irq_disable(); } static int __initdata nowait; @@ -245,8 +245,6 @@ void arch_cpu_idle(void) { if (cpu_wait) cpu_wait(); - else - raw_local_irq_enable(); } #ifdef CONFIG_CPU_IDLE --- a/arch/nios2/kernel/process.c +++ b/arch/nios2/kernel/process.c @@ -33,7 +33,6 @@ EXPORT_SYMBOL(pm_power_off); void arch_cpu_idle(void) { - raw_local_irq_enable(); } /* --- a/arch/openrisc/kernel/process.c +++ b/arch/openrisc/kernel/process.c @@ -102,6 +102,7 @@ void arch_cpu_idle(void) raw_local_irq_enable(); if (mfspr(SPR_UPR) & SPR_UPR_PMP) mtspr(SPR_PMR, mfspr(SPR_PMR) | SPR_PMR_DME); + raw_local_irq_disable(); } void (*pm_power_off)(void) = NULL; --- a/arch/parisc/kernel/process.c +++ b/arch/parisc/kernel/process.c @@ -187,8 +187,6 @@ void arch_cpu_idle_dead(void) void __cpuidle arch_cpu_idle(void) { - raw_local_irq_enable(); - /* nop on real hardware, qemu will idle sleep. */ asm volatile("or %%r10,%%r10,%%r10\n":::); } --- a/arch/powerpc/kernel/idle.c +++ b/arch/powerpc/kernel/idle.c @@ -51,10 +51,9 @@ void arch_cpu_idle(void) * Some power_save functions return with * interrupts enabled, some don't. */ - if (irqs_disabled()) - raw_local_irq_enable(); + if (!irqs_disabled()) + raw_local_irq_disable(); } else { - raw_local_irq_enable(); /* * Go into low thread priority and possibly * low power mode. --- a/arch/riscv/kernel/process.c +++ b/arch/riscv/kernel/process.c @@ -39,7 +39,6 @@ extern asmlinkage void ret_from_kernel_t void arch_cpu_idle(void) { cpu_do_idle(); - raw_local_irq_enable(); } void __show_regs(struct pt_regs *regs) --- a/arch/s390/kernel/idle.c +++ b/arch/s390/kernel/idle.c @@ -66,7 +66,6 @@ void arch_cpu_idle(void) idle->idle_count++; account_idle_time(cputime_to_nsecs(idle_time)); raw_write_seqcount_end(&idle->seqcount); - raw_local_irq_enable(); } static ssize_t show_idle_count(struct device *dev, --- a/arch/sh/kernel/idle.c +++ b/arch/sh/kernel/idle.c @@ -25,6 +25,7 @@ void default_idle(void) raw_local_irq_enable(); /* Isn't this racy ? */ cpu_sleep(); + raw_local_irq_disable(); clear_bl_bit(); } --- a/arch/sparc/kernel/leon_pmc.c +++ b/arch/sparc/kernel/leon_pmc.c @@ -57,6 +57,8 @@ static void pmc_leon_idle_fixup(void) "lda [%0] %1, %%g0\n" : : "r"(address), "i"(ASI_LEON_BYPASS)); + + raw_local_irq_disable(); } /* @@ -70,6 +72,8 @@ static void pmc_leon_idle(void) /* For systems without power-down, this will be no-op */ __asm__ __volatile__ ("wr %g0, %asr19\n\t"); + + raw_local_irq_disable(); } /* Install LEON Power Down function */ --- a/arch/sparc/kernel/process_32.c +++ b/arch/sparc/kernel/process_32.c @@ -71,7 +71,6 @@ void arch_cpu_idle(void) { if (sparc_idle) (*sparc_idle)(); - raw_local_irq_enable(); } /* XXX cli/sti -> local_irq_xxx here, check this works once SMP is fixed. */ --- a/arch/sparc/kernel/process_64.c +++ b/arch/sparc/kernel/process_64.c @@ -59,7 +59,6 @@ void arch_cpu_idle(void) { if (tlb_type != hypervisor) { touch_nmi_watchdog(); - raw_local_irq_enable(); } else { unsigned long pstate; @@ -90,6 +89,8 @@ void arch_cpu_idle(void) "wrpr %0, %%g0, %%pstate" : "=&r" (pstate) : "i" (PSTATE_IE)); + + raw_local_irq_disable(); } } --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c @@ -217,7 +217,6 @@ void arch_cpu_idle(void) { cpu_tasks[current_thread_info()->cpu].pid = os_getpid(); um_idle_sleep(); - raw_local_irq_enable(); } int __cant_sleep(void) { --- a/arch/x86/coco/tdx/tdx.c +++ b/arch/x86/coco/tdx/tdx.c @@ -223,6 +223,9 @@ void __cpuidle tdx_safe_halt(void) */ if (__halt(irq_disabled, do_sti)) WARN_ONCE(1, "HLT instruction emulation failed\n"); + + /* XXX I can't make sense of what @do_sti actually does */ + raw_local_irq_disable(); } static int read_msr(struct pt_regs *regs, struct ve_info *ve) --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c @@ -701,6 +701,7 @@ EXPORT_SYMBOL(boot_option_idle_override) void __cpuidle default_idle(void) { raw_safe_halt(); + raw_local_irq_disable(); } #if defined(CONFIG_APM_MODULE) || defined(CONFIG_HALTPOLL_CPUIDLE_MODULE) EXPORT_SYMBOL(default_idle); @@ -806,13 +807,7 @@ static void amd_e400_idle(void) default_idle(); - /* - * The switch back from broadcast mode needs to be called with - * interrupts disabled. - */ - raw_local_irq_disable(); tick_broadcast_exit(); - raw_local_irq_enable(); } /* @@ -870,12 +865,10 @@ static __cpuidle void mwait_idle(void) } __monitor((void *)¤t_thread_info()->flags, 0, 0); - if (!need_resched()) + if (!need_resched()) { __sti_mwait(0, 0); - else - raw_local_irq_enable(); - } else { - raw_local_irq_enable(); + raw_local_irq_disable(); + } } __current_clr_polling(); } --- a/arch/xtensa/kernel/process.c +++ b/arch/xtensa/kernel/process.c @@ -183,6 +183,7 @@ void coprocessor_flush_release_all(struc void arch_cpu_idle(void) { platform_idle(); + raw_local_irq_disable(); } /* --- a/kernel/sched/idle.c +++ b/kernel/sched/idle.c @@ -79,7 +79,6 @@ void __weak arch_cpu_idle_dead(void) { } void __weak arch_cpu_idle(void) { cpu_idle_force_poll = 1; - raw_local_irq_enable(); } /** @@ -96,7 +95,6 @@ void __cpuidle default_idle_call(void) ct_cpuidle_enter(); arch_cpu_idle(); - raw_local_irq_disable(); ct_cpuidle_exit(); start_critical_timings(); From patchwork Thu Jan 12 19:43:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099441 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 8AC2DC61DB3 for ; Thu, 12 Jan 2023 21:18:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2F9ED8E0005; Thu, 12 Jan 2023 16:18:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2A9228E0001; Thu, 12 Jan 2023 16:18:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0D5098E0005; Thu, 12 Jan 2023 16:18:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id EF0828E0001 for ; Thu, 12 Jan 2023 16:18:30 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id BC3CCC0E33 for ; Thu, 12 Jan 2023 21:18:30 +0000 (UTC) X-FDA: 80347410780.02.6CAF3F1 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf18.hostedemail.com (Postfix) with ESMTP id D01921C000C for ; Thu, 12 Jan 2023 21:18:27 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=bXVWmsZj; dmarc=none; spf=none (imf18.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=1673558308; 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=G2cvNgJ/FV6t8OtxjUTEWOoXfe4MyL5zef0iqwcucnw=; b=i8naBUVxEGrDUdtM1LIP0Bvn3I5US7nHrbeH9wBxVG0D61B2MhnJs6pk0k4F6fdbqyy2vv PyyMSpdgVwrFNFjMlHozS3UrbGJoFaXbqdpuIUDF8DWGpMI0DVNfYpDLU5Rhrbx4f2b+7d jSGGSvm4gnILk7cNk1/b40m+pYsbnmc= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=bXVWmsZj; dmarc=none; spf=none (imf18.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=1673558308; a=rsa-sha256; cv=none; b=hlaDwpQnPzbz8fHSapidSs9FEugOmYHoCYN8Kfc2SLiVTZ4RYryKyYIhraAvEeOHVb9JR4 JCLTgDOjFMW5O+Tyk38xtf+7AWghwDfqsZgGDlBCmQNgjOK+lPLF+DgzBaBiwPA8wGBnem gs5Wse/jlywb9qNIzQw1ldMSibx7ceU= 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=G2cvNgJ/FV6t8OtxjUTEWOoXfe4MyL5zef0iqwcucnw=; b=bXVWmsZjBd0A5Q1dRbnBvn7ToW 3j6eFTXMZeK1D2xNKaSBA5uYP5GPcQYNyXJPFyH83DSSp2MNSCsRoEQZP6MxewYz1wP7rgVNt/9It 2gRBrgOz8pdij4lPvYNsXhZafNcKFsYEgHj+n5CwG2HsWiNYOQSMKGbZog8b0utVeF16dtaoY6A5q V9oarqYXHJRh56KEBKm4N24tn9yAKxtrHFsxpcxWilSVN6H04Iq0zr2ANdWU40o1i9gecGsUeESZq fgxgFJmukOshxn//3WVgj5eg6awcLSHCIcGsAcbFMCnaNOKch5n6lO9ediMpnVQGteZqaYO/qlHWe o1amLvzw==; 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 1pG3hF-0045op-28; Thu, 12 Jan 2023 19:57:10 +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 6FF9F30342C; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 062AF2CCF1F64; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195540.682137572@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:36 +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 22/51] x86/tdx: Remove TDX_HCALL_ISSUE_STI References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: D01921C000C X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: 6kcn7kcdarot5x97u6wp11padynwppmx X-HE-Tag: 1673558307-749838 X-HE-Meta: U2FsdGVkX1+EX0VXLdvBJHMarJebBGCJdRAhytfCprhSemO9ODBCFulaCkpxwEGSlPpWaEZ41Jb199OGp5BlyQ4cEQtDMHGn724KqTHtG2fBg+E+66Po3W0BxXTkhAr6NqWAggU3IwKm1uSNieBql3HqMt+KolNYbAPOQADJrOQYZKC4c/FRwx6Jz7nMawRWJO9zEnygkC7rong/2uOb2Je4Ocu2+mLMUAdxfPHc38IBCLga8Uhslq6kdO6xPP9Sb97AtKNUvaqA2OagKp3ZPvlA51zfcUfQKazJpE57nz9I/i0T5HgSvw8fmhvPSyJSp1gVfK73g2se79fBywSJRq9iZ06/VRtRDkueeBIAhBphkuuVK78hSJ7Z+Af2GlhmeA34jTMid4cPvF+KM625+EYOhk+2z9XYQZjTpeNDb3twroBJGtz/Blv3tq6VoadDXrWngLN780MjckQkHTmDGq8l3HJewrq8f9Umdnqj25Hk+N8hdX9wrMDB3nmNmHl212HsN1gpYSRNJFL5W9S6syUN0pXAyCsg4HvZp1SVVPbHqIhck0r9Fs81XEFA7CxxC5rl3Wr0jyKrNIs+0V6i31hC59PmoKoqZAaWO/Ca79n+FYVgcBox1QVZ1dGud1qkVfyoMDFp3L8/kqk6rSSmihyciuPEfMpqJZctisEYsEqEA3O2XcZMern2Fv0yoBKLo8TwvQZw5gb1m0IaQkN3k6v8in/us61F12VJatvS7MuCEj6S6RLHHG4aLOlKowyptvjJDPO9CAFTcmenCKckOO9J12bD9MZrfwJO9rH+1QXbNDs+q8iiAfdPn4ygSu0/7KvnafwGDKh8GUfHjvLQjNyTXL4hvquk7zvF4oWqIQdjBH0Id7VPCWiGj+DZtn8uPQ2c3gRHJusOrzS7qC9sFnQsIHLgwsZuvLpDXVi25NPC8IlUdi1+NM70J/v/QXzbIg4StWNW4XKmmZ3EUOZ 3Yy86F9Q LNf1HCeVJiI7fWtx2G6nsRWuidoEMeGkV2ZTDQNMaOdvdkxvPWgU+JNNVGtnTAqexLg4kf8+en0/W/po5KcJhlB2qyTeb3fSOIPJiNutv3BxEmBBrZpyj/AelFjZXVGTuqSXnb1IZa6mwSWSHD06UQ+dJQ5BJ7jJTzybjI1ThizZOA4F89vTMF9AWgUHjQJE0SwXTRF+DE3+73KNiD7KyknmfvezChFAfrMQSaVpmoN1bD7fLEH328jCHmDNG4gkEwNdiBKUj738CXk6LQwt2wpe6qcJJN/w1ky3EC3wgsJO31dtGfgl8TYC+jjny5KWQA981CJhsG0yda82IAjxPcbP1fzunV+K3rKVLW0lV8Dh9qtx6EyKp/VMW2SFTuiFK9XzxZm9p7MSR08GU9aRu60lBU5BLcz+dJC1mNJNmKu78OE5QU/bg2cBURmg1a4M0Y8YF1Qa2dXwbKkIDEIRIIKbQSm/SFGAfLTi94bBw3eihJbxDIHWP89ESerOBDYd3zotxWxP7Qr3Q8cT5goFH7UNlVloT3DcHGZwW7Cb2fz3njk3MfXbPC2bcSF5kfJkt9VySN5BOQX8WnY/UOKd+7uLzCS8jlALFJTx0ygVHf/wHC6EmbiErnMWAD3MtddpqWX1g9AuOM3WIn6+GRxT2SDSSUcgWqk/K65WeYWTFUItPW+YapQM2KJYOkRrSfDogcroxUeTlQwfGI46cUm0vAyAEX8cu+8blbQZE51ltNG9eR4PMcRk6iW8PyC6/1ld4ay8eiV3cpspz70Jh/JeD2OgUYKO44PVo2au/Qy2Vfah/BHrnnyfrpv8QadafUBEysHZgP4R74+un91sAMieGsStBzReJNCin7KC5MsAfdIYZzodntR3YOiQiJvsRZZ4EqWE84T/lZ/DSfAjfn69DSB+PabM/pjlMm/PJbqy0qLcJ/hzJEkIbkIZkGGzOaxG+W55sqd2Gf+cGPdIm2TZGtE+pFPF/ ZRDe0TXT u4mj8TKHnjcP7mLpg4U7UJGlob036+wLriJEOkAnCkW+h1XgdWXsVKNeVrs2z/QyOIEOIH1WsyRDFVOX+BatB8nE8Kh/qXRMxwsIcHt3XZ7M3dGSpmHPFcQjNWHH+t4HxV1cquS03ILNYHQ0wlfN7LmuT2iSRMQWHM6ott0MBlPrXs7uCVhCthVhXiEnKwrsdW/dpqTY/71Ybhw7YxcEMMH2GpGnAJ/XTS3uskAVqhqi0Px57VE4ex9BvjgDcAF5mSYk2vjXWDRtjBwoOpC3vgIcvNtsjA9Du12zpqg0eIKzwLxH/si06g+jfSqoZRaMA1QhR9E0eHW61jc9smvseVmLkyuecPSLHB+0EEuG+BwGBqOV9MorWF9X98bH/UKqcYsNorQBtQrAjw4oMx0uh2jcaob3fwxA0Xrl74M2M4oChmff8p/Rb+cPw/2e39cNdICe9QHnDeVZxXEolQU6ZC1AP+5KqatWBOplaUAdW73E8CbzMk07w4YSXJCtL9CbVzlnV8rHNg6dNAHy/VrxQxHr678C3jWpP7jbeFwzQhG6cZPjtCelzo0CmwlacycUsKql18wEGy/Ny/WfFP9kG/df+4sBusZA0e54sH57m0nqATeb2XzGO3mQ4rmw3efsZrYiol5wdPoRQSHeH/CDqCj2PwkFdODLQtIzfPteLrKL01H4MRnVYTVpEVXR3DUBJixs4epP0ao5/GRKkHUD9ZPBEmbeUMAR+vN4QyBIqE/TzANOc9C1usNxh01OqPTP7v6lRARkTOifNacdVS1TYa8iYDxzMTY+Re7vRF4hh3l0flfdih10qW3u+Vp+e9+C0DiH/RCNRYQX7K5I3oZDmJNsXvVsjGDHjr7/+WJ4Yo5rWik17rEnlnpNslYVqQJbqvCFk8WkOccEMs9KeLP/THdWKp1OKXPC0V89ZQUxEQCKWP50yLmPM5b/KXmhfxxu0EPmWNwQK2iVJ/rxgaJQYRt6F1XFh 4pAIxVMl Vy1plQ0K6WgvyEbT3ZgPxo28bBJ74agJfnEIWzxej3p4I06VcmhRLofxlLu7NpN6UD/fIf8mTFVCIxoMr41Jy2XEduMSc7bHPxC0IgDi1SDNvda81nVBfAepp/hTMX0JyRGQEdqS2p8z6M8Q89LY03RYFeh15I+YZc9P9DrZ+7ixP2DZRAog8Ykh7L6x7kEOo3d+nP/FfAciFmHHyMBrRAOcMjOiAlAsKJCsb2nN9msHWIM5ZnXsEUr9XafhaHNuStVGT6vTETWmsKVVmIndLOFVqMp1470QGJoMSQOyfgrEInMimZMrQz3uN9dERd4myxzOXa6+8D/yE6QmWlMfTj07IIHFnkNin/L2/6dMIwrf3zW3n1n0rMn8pKuuFeFpOnWsaWeTtlfwWg1HHqbNvLe2NdTLa60LL0SIcK9+vGv95ZgUpBExg1Rnw4jrPKwsuPGGTY3ZHJ6p5diaEFrv06CgADHvrGow2qlO3OKk5iCAkp/LYoC4csILoecJ1PcuaeHZusi0EKGF8gnAo5JVOsoiuqlODLi8M7TrEhNZflsdpxgvNHG6aYIVli+b/kFAdI61aOQXPT7b54UfpIEqXQCPvadm4bpAjsgo7rugwwvEV9QmNWhpNyvDYJkvYHY1f9ZqH+RyihTu/jk5d6YCy5zW9EmEeOh942fNn4uMYlBY2qBW7P6buEzc9Ku4AJPxXs4+/Q/24RF2/hA8zZfeV2ZY5rWo75+bV+HljLPfI+rOex89Fq00pP3eI2Yz+QT69HxINXeWw1Hyhiq+vw+5y/BrrmnMtlclfTGER7cSGyinqRZ8NWRkaxETwhTXxppEE+iKIgJQbgmrH17s/94wMbsss2dQjIxpQ7+paqz0EUxi7xtiHp3uNqNa6VRMOr5IKSezPJAE38o/hrzAjmU28XIk8ZAlmdP+fTrv13RqB3rXuQ6l8JdGlmhRQDXSiO83X83O3UQungcmMjnz8DMHuij9yw8i3 tHkI0Jga qzgbeDfjGLiQXs/5Xd+7ZRsJq8gEdA9ReXIkSZLJdMH6LLaQmtDdiKYg5jbYv+N/nWPT3kmtFFUT5zMFCxt/4+dEvTqS6uP1CQzRd/ISK0HwsSCa86JER1Ifb8QvjKSy4x3LyGATZteUG/FDn/RVK9 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: Now that arch_cpu_idle() is expected to return with IRQs disabled, avoid the useless STI/CLI dance. Per the specs this is supposed to work, but nobody has yet relied up this behaviour so broken implementations are possible. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/coco/tdx/tdcall.S | 13 ------------- arch/x86/coco/tdx/tdx.c | 23 ++++------------------- arch/x86/include/asm/shared/tdx.h | 1 - 3 files changed, 4 insertions(+), 33 deletions(-) --- a/arch/x86/coco/tdx/tdcall.S +++ b/arch/x86/coco/tdx/tdcall.S @@ -139,19 +139,6 @@ SYM_FUNC_START(__tdx_hypercall) movl $TDVMCALL_EXPOSE_REGS_MASK, %ecx - /* - * For the idle loop STI needs to be called directly before the TDCALL - * that enters idle (EXIT_REASON_HLT case). STI instruction enables - * interrupts only one instruction later. If there is a window between - * STI and the instruction that emulates the HALT state, there is a - * chance for interrupts to happen in this window, which can delay the - * HLT operation indefinitely. Since this is the not the desired - * result, conditionally call STI before TDCALL. - */ - testq $TDX_HCALL_ISSUE_STI, %rsi - jz .Lskip_sti - sti -.Lskip_sti: tdcall /* --- a/arch/x86/coco/tdx/tdx.c +++ b/arch/x86/coco/tdx/tdx.c @@ -169,7 +169,7 @@ static int ve_instr_len(struct ve_info * } } -static u64 __cpuidle __halt(const bool irq_disabled, const bool do_sti) +static u64 __cpuidle __halt(const bool irq_disabled) { struct tdx_hypercall_args args = { .r10 = TDX_HYPERCALL_STANDARD, @@ -189,20 +189,14 @@ static u64 __cpuidle __halt(const bool i * can keep the vCPU in virtual HLT, even if an IRQ is * pending, without hanging/breaking the guest. */ - return __tdx_hypercall(&args, do_sti ? TDX_HCALL_ISSUE_STI : 0); + return __tdx_hypercall(&args, 0); } static int handle_halt(struct ve_info *ve) { - /* - * Since non safe halt is mainly used in CPU offlining - * and the guest will always stay in the halt state, don't - * call the STI instruction (set do_sti as false). - */ const bool irq_disabled = irqs_disabled(); - const bool do_sti = false; - if (__halt(irq_disabled, do_sti)) + if (__halt(irq_disabled)) return -EIO; return ve_instr_len(ve); @@ -210,22 +204,13 @@ static int handle_halt(struct ve_info *v void __cpuidle tdx_safe_halt(void) { - /* - * For do_sti=true case, __tdx_hypercall() function enables - * interrupts using the STI instruction before the TDCALL. So - * set irq_disabled as false. - */ const bool irq_disabled = false; - const bool do_sti = true; /* * Use WARN_ONCE() to report the failure. */ - if (__halt(irq_disabled, do_sti)) + if (__halt(irq_disabled)) WARN_ONCE(1, "HLT instruction emulation failed\n"); - - /* XXX I can't make sense of what @do_sti actually does */ - raw_local_irq_disable(); } static int read_msr(struct pt_regs *regs, struct ve_info *ve) --- a/arch/x86/include/asm/shared/tdx.h +++ b/arch/x86/include/asm/shared/tdx.h @@ -8,7 +8,6 @@ #define TDX_HYPERCALL_STANDARD 0 #define TDX_HCALL_HAS_OUTPUT BIT(0) -#define TDX_HCALL_ISSUE_STI BIT(1) #define TDX_CPUID_LEAF_ID 0x21 #define TDX_IDENT "IntelTDX " From patchwork Thu Jan 12 19:43:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098754 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 B2816C61DB3 for ; Thu, 12 Jan 2023 19:57:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 47B6E8E000A; Thu, 12 Jan 2023 14:57:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 3D79A900002; Thu, 12 Jan 2023 14:57:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B72BF8E0009; Thu, 12 Jan 2023 14:57:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 80D5D8E0006 for ; Thu, 12 Jan 2023 14:57:25 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 452A11A0E0D for ; Thu, 12 Jan 2023 19:57:25 +0000 (UTC) X-FDA: 80347206450.13.797C2B9 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf15.hostedemail.com (Postfix) with ESMTP id 2161CA0007 for ; Thu, 12 Jan 2023 19:57:20 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=gQ7Q9Sfc; spf=none (imf15.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=Hsr5V6aaf/kVSU2t73jNDRAWfLY8tgaZMY/8xmM8jWo=; b=Wk8A4dbC5ljozANN/2b0LY9cxKOalXaZMFxfp13dE/0uL6Db9hTfDUVE9heawdL2Zm2YIf GTjBaC+CkakyVqqnrijcPx/OY8C6htcBWr+LUmr7LIuELOR7TlNVRxr2WpbywmuW/soHCG MjKtoRlBkpkLePZu0nym2W+hdMQujkY= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=gQ7Q9Sfc; spf=none (imf15.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=ZAv/C/z0OQ9k+ybuVpnPNTB8uCvikz1/a8N97DdMEKVYI0uMzMXtLoqZymBpgDLWQjNbDa r5Nyy6tdNQJ03/hnMbVmq/zc7FeNY/qE5bG283kDG8qLL9M4RjxfWLMZlyedsOSp3aBszM cpMNf7DdObHvuP+3mYtFH2owekxh3bA= 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=Hsr5V6aaf/kVSU2t73jNDRAWfLY8tgaZMY/8xmM8jWo=; b=gQ7Q9SfcfOCGLlvaFWMPSlQDV4 uKjocE/2Y34Nr3Jz761/H3K8ref7D/RHB23EoGkYYy1xOk3Feint61cmEzrTeJs9pKFsRiW2qqfOc a15g0aXUVDz0ZDo2MzRyxqBDaXdm6wfbxfKkhacFzf0dnqhRTBbnGYC0Ol79TQuuLMUcvUsmgrQsq Yw8OLwDnAiMOrgLy6Ivt5nddQwxIy8BHKaVFy+WqtLrCrntFsEUj0zjrnvFhZolV0YjTu4WNDYy9/ lDKMy9PbKPpnqJnECPubZ+WdVv92KEL7klGQq9pXFCJdS/Q4cXnTA6nMiHYLM5YqQGCUzlZ7euq5h XbhFNewA==; 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 1pG3ha-005OeK-VA; Thu, 12 Jan 2023 19:57:31 +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 7A97530342E; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 09BA02CCF1F7F; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195540.743432118@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:37 +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, Ulf Hansson , "Rafael J. Wysocki" Subject: [PATCH v3 23/51] arm,smp: Remove trace_.*_rcuidle() usage References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: ar9rek37hyykg6puyypidfmzhg3sxkup X-Rspam-User: X-Rspamd-Queue-Id: 2161CA0007 X-Rspamd-Server: rspam06 X-HE-Tag: 1673553440-63017 X-HE-Meta: U2FsdGVkX187wj70Tj60q64pOSZ6B/qsYG4kc6ZPqlFTP5nscehcXgPTaoaWdD+6RzwpcHUrHGXySJDfo2Hi6apvS2Ti5c9GfDXvt12Kr4zH5MdwdGkji9mzigr7l5ZA+Gve/DEKkzEDGFajeBdP/9OgOCm2gyDVAtDtIGGyrcYDBVJtV0DxNYQLOCdqz7rAKwx9m1DSvXrDydGAFVRUE/H4bLXX4t+qG4pRoZeacBPNie9YRvOgDNu1przVuVg2gYqe4vTNMDKuoEgyHfzIw3hgDmpkQ76WuoIsyrouCtYCVw8EUQZV6qNGKgKydFpA9LupTtdD3QplP83iXvb0WwTF03ipYblrlc36qUQVKDA3VurFqzYCMc42JDtBG6P2SZdJz9ENT23BzIP6IJ3RQrTX9BjXHpWLFtfD16wSa5bthsP8/1OYtjcEEfIgdCyZ/yP4Cxwjk2cV/pt+fhMqTHv3RwpnR4kVqzTW+q9DlwPnOs6wKv8J55JGax6UJFPx/anb/37zCAzBNcoGRhP2su52H4b8JSP+nfCciBGUaiy0Gaykf3zfC8VJQORnJcxM916lprUNoBsDXYw2ClMsBtFJGH0afhOQQcn6Bi9JiKR8MMVwUAOEzJJbwRCMC4s6JRNJllymSpje2AQABL9dnbFrspbt9DdCq8Ch4NGFNaBMm+h20OQ4GKKa3qNWFdPxQ1g4/XsZEAyLmETAjTXRouxuCujZzWuhruYa76g1wncnEGz5aEtlOg0mM7NXVbeFPx/wKItYnj4bFcrxw9rhZ5g4pvvsI2p+Sa+Hp2hfwzKwyuc4jHZVoGPT6Yqb1w3rN/7vdMJx/VnoeWzMJ8MbjkL9UjkYav4BhzwMe5aJOiSDAHpkMgOw/4SCGU3WC9/DV265JyQvJZrO5x7Wg+DCDPUT6tR5fpi/j9jqQ/zN+5sLx+v5gPmRW6DwMq2vf6FTJy5KIKwJS7bu9afNfy2 WT5Cy8hP 6hf1n0+MCTXI6HIZfJ3u5ozhOvqXAY9O7JUyfrCZTisbACH7ivKrFRQvyWhCipRED/79zV0xPtzzi3xhQQ0D0rHWdUC5JwCLiCUeFB+28g8sCwjNMUPmhrY5LV5d38Lg45oTW08iJ0vJPEpaYeJpSDAIly8LbObtbVZ5xcMDVpQN6pATn7kKPw0sH3GcAhGhd9v+9e0kItMr/es7M2r2mRUkKCR1mPcpZi67NKxsBo7WEAYPFus3wmKxvnL6veF6fANwG8u64gi2OWNJMw0zOPpRDMPY22OQRd6dOEmh6agOG5cbARWrd4jmcQ8u/0e57/Ww+V/HvPEUGvkw2DN4Eew4XgzxHJw1XqSDWqWvO4yWpoi/YrxNT3tOFSzTAQTLEQTJtgPMvL9xWjmCJA0htrdtrsXugQKAeGtJoEnokivARpcWJl5qA8O5A01b0NGSW8ktWzWK4KLYZ7lIhayweGcqRcs0vjtp+wiETBAoRyxxyfszIgTc+pvlgGetSYEhkW6Rb8pYa6m7bY7VwyowIQ2vgGlvX6JKBokoHaWkColcTSk8i10w+iBPwYemahltaiivWDXo5T9qyrqVWI95tYJNFlO1zhIZ+7x0eqvAQKgp+kfbfHQKE3LBQuz3YyPu7y6V9HKd8Z4P9tga2TvpOrJD7vSqJiUqB7LUsPD/FR+0v3xJNM0QEi0vVQWpqJBeMwK9R5QblzD54fIJVBSF83mtLsNwf+k9+6/5nHnAQqTvKASoz27EwQCnUkoXUBlfHNkO8RkqzQJ9VYsOStw2SPPmV3y/PwCnA+W8LVx6FL8/pWMf445aP2n1S9zX4BCoAH4kbXEHfMUz1Z46oayF9l2DHMMtnl37wJPH1C8SVY1exzva38jTDbdnlSmPkiCFhGUTJg+M3oheRh83Br4X7XFtmBHyORDMgrKW9M7fGq200i2Lchj5pWhu/22iQFqB3LnJXZpM7e42mVLe/WhiVhQXgdKKj lPFtzSLc H93c93YWWEhg5gOzAix+MH/jycIFZzXI2Te3O8kz/UsMEar3g/nOPXEwfhEOmMjbSsf2hsT8eE9XuGcR7OzIU1j1gdWiO0P4D7MGKEDGbf/mt1T8IDcnqAbADUgDK4YRtg6dEPe0uLX+3ShPW0UdZlhHl1co9xIZlCV4b5+d7q0bVru9vCR/uc0ke9rHHf8VQwSPt9+IREFq1llDnPVcu2C2/aHRgsKmnxSgabqvw5eJmC+B7TZ8+WbuGhH45xQd+t4g2X/8rWsO9aYz62etd2mumaP4DIhPCFBQQqIHEYdawjPjr3/ERNbVMpH4gmNXA9FNxugezW4maCT+YbIxjwX/XN7FuDMsOWVGqfBoqGuNj+a7wy5RoLuYdLLScyF4yX28OTIOUxdCltKkjXqDlkNawWXocadppctjeSDftBh2W208RP27v77lSzAjWNUTRktr2yI9MZAuomB2ASC99GWhvCR6GAQ/SIWbbniuaMOLuBg5mchCrR0d4+gvIRZwfGDTZA8KKIiyv2J0KOvr3zVOJBQ77F/vMQayh0agmNG120zmrS/PmLCkenuqCPCgt7zqjLn2E7/aPgc4bD+D0bCdi76QPLOnUVEpF4iuSGY8wZn0t+qkAsMdb4wo5acX+XZnVJWVI3H5AJS4tdeyBXi92+/dajb6/mjkNGg2R9pfta0GYnkvJdRj3kyEK27nLk6eBIeNW5+j/GmaXW7ZakpPwF1VWzgi8NnaSyxHB0Ulmq87SKNHufSNiblgZz2LR9qcCBOZukD1zkstvsyUuPtZ8IpM/KiNXvTZRXngidjOP0C+jXYoTpr/Ip1AHvNXVUF7wbMFG35g9m9+n1Nu/zBcMcrMaQ0okGKwcy7j+n0TqDMS9dQmEhLP/SbFpjdTNWSvUCYXtZFYWvmyCVKdgk5hdxzX0ZGc5L7OlXZzUimnIW7Hvj8PskPejZNfztcEgne+JbjOsNKXZ+o5O52Y6tXz4Q6gD 1V0P9Opv zgA5a7Url3ebFNk8UUakeG3B2t5utadDf/rMHCw8wTjaEXj3dJLXAYEVUqTryIn+/Cw7biOEiZ8IHyMa9sIgxj58XWc/HJ6nAMpDnGDeqMS46ugpZZeKwcvSdWPAyq+HtJUOpkOBkHSXNDvcMjpTOiMV/a1XmjNvOsNZj9W4A+0UaJNXsxQqfbXgF4fQykIkIbt9jE2xZcMry1aHnQLsb+77JwnqnfCwJpzyIBnIS4tCkhQrkMiKw9MwWt4+yQKk8+rSF435DaZ2Vx2332eteauUDF5gBNjKdydHE3Cr5zxFvwi0UHyqxqcVexrE3b2DJorS20SfA2u7lUnrjSAZpdyPsOONf3WZzk3kgDLyV5wfjQaVJFularc7F6QLBM63TstlXZBJeF63YrdW+G4Xivz7haCTiYe3eqwpG8x86QkjV9kbBUEuPZdpmW3hXgoKmtKPAGBKiuv1Clw8I7fR4CuPo9E1Nt06mnH7j0NwuCdbimdvcWOTch7T+CAFAs1aRFY6HoFKmUfu9UcFjcdfV45a/4MPmFWLpMFcXjumidoaDPoWkNxP1+lQ7kr3Ew8Qd7f9443rU80GTmFGiGhfDL6LCN0mWD5MHJ+x/Wmprikhlxq+69fswOsbJ1ov1s8nm3PkJ+tXs1bS58ZW4LdCnJnObJ8jucpOLCHuRWAncdIkS8jmfmP6p2ch82jREDVp9+tEmCfUkPSmSjcXYyhOtR+K5VmSPq+XgeMdJmQ5HBmgsV6a86rYXaaGF0xAFvNCoAMd6PNKpqdTapGSjSFWx9b44imiEavcbVj6MiLHjaDSl8GyHWL11/mOtjyvXSj7R/HAWio+nUSlagz79DLW/M2Z7k7Y5fE4sKozAy55YSA105SMbY+HNUvYmCFBvuBAQomCdWUHagYrjfNbBrOf+6geF1MkQ2OaDlOmJJ6pq3f/E6RHHotWl04UkMeQdbHJgOpvYBMd0rZf2YJVW35KG1Y6vtbxr s1aEgxu1 Obpt3VQ+BfzFBf4Xx7obVUTYewT2mMHRR6BaGJZprvYCcBzgCi3VY21Rf8NS2mCMw6S0ntl1WX82rVP3e/TP1fOKbaSIZmLnfiu4xzXXKS0CXoT4JWYJTpUY6Vg9yg5cX7V4SVUyUADexoT0Py37fH 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: None of these functions should ever be ran with RCU disabled anymore. Specifically, do_handle_IPI() is only called from handle_IPI() which explicitly does irq_enter()/irq_exit() which ensures RCU is watching. The problem with smp_cross_call() was, per commit 7c64cc0531fa ("arm: Use _rcuidle for smp_cross_call() tracepoints"), that cpuidle_enter_state_coupled() already had RCU disabled, but that's long been fixed by commit 1098582a0f6c ("sched,idle,rcu: Push rcu_idle deeper into the idle path"). Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Ulf Hansson Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/arm/kernel/smp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c @@ -639,7 +639,7 @@ static void do_handle_IPI(int ipinr) unsigned int cpu = smp_processor_id(); if ((unsigned)ipinr < NR_IPI) - trace_ipi_entry_rcuidle(ipi_types[ipinr]); + trace_ipi_entry(ipi_types[ipinr]); switch (ipinr) { case IPI_WAKEUP: @@ -686,7 +686,7 @@ static void do_handle_IPI(int ipinr) } if ((unsigned)ipinr < NR_IPI) - trace_ipi_exit_rcuidle(ipi_types[ipinr]); + trace_ipi_exit(ipi_types[ipinr]); } /* Legacy version, should go away once all irqchips have been converted */ @@ -709,7 +709,7 @@ static irqreturn_t ipi_handler(int irq, static void smp_cross_call(const struct cpumask *target, unsigned int ipinr) { - trace_ipi_raise_rcuidle(target, ipi_types[ipinr]); + trace_ipi_raise(target, ipi_types[ipinr]); __ipi_send_mask(ipi_desc[ipinr], target); } From patchwork Thu Jan 12 19:43:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098751 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 7026AC54EBE for ; Thu, 12 Jan 2023 19:57:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B55FD8E0003; Thu, 12 Jan 2023 14:57:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AFDC1900003; Thu, 12 Jan 2023 14:57:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B651900002; Thu, 12 Jan 2023 14:57:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 6AFD68E0001 for ; Thu, 12 Jan 2023 14:57:25 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 435C7A0DF2 for ; Thu, 12 Jan 2023 19:57:25 +0000 (UTC) X-FDA: 80347206450.15.68D7BE8 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf27.hostedemail.com (Postfix) with ESMTP id 1FB3A40018 for ; Thu, 12 Jan 2023 19:57:21 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=YePyvi42; spf=none (imf27.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=H++Izq9gHCigzm3jyfqVQx/OXXHHURXAPu4rHKpriQs=; b=uoqkFQ3gXZHxfB2dg5Gilz5gLR2yYdOYMUw8zcE4XKPV3ca01wDowAJTDIxP+zYnyA1ZBi 4d2gpv76N6PJawvfg7W2w6LkfH7Hqz/3CNHaFNujMS33W1Kzp+WvOGOSli5MG1G5+O/t41 Vm7D8n7XVHbSKSUWpTmq6EEz6tCrSx4= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=YePyvi42; spf=none (imf27.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=ScyYQ1IJUYDxzp0VdmQfkgFSl2zde6g16kYulsHx42wCInBwkRm2bdxgujVcWCW5nG7nMz 34YUxaZGKKRmxuukXQQJiADS4ZMfOl1PI1COEE2qSVK693O2lolOpGrqP7enfxIfhRGANC mu+DPE2vqZ2ZAkuBdQ5WhpgHTJ2RMm8= 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=H++Izq9gHCigzm3jyfqVQx/OXXHHURXAPu4rHKpriQs=; b=YePyvi42dN2KCMqq+7e1S609eb WFxHWtO/jgyjZzxARHvRjE2QrtZo1Ma5mkqruZXU5/PO7FUvyR8sUawTrYfaBeVEfspiuaIFkKVMc fyMuNWmG8G5expNMvK0etyhW9olX8plthocE0oVEpGxCtTn6UmUf8Ek1AzD8jqegIKasUbqvSUmau 3vbOWKtb6/qLR7kaj8lgimVeDrMvfjUeqa93YM+gDqx28KwMHAgMewjhNVOm9uQNY0kOI6Nucsz6S xTgwD42zZEFhgWLXGdgI1gSnPYNpoj0eZ2X3XkoE4AXqCgGkP9dJYVs+mDKvgVqwc5CylK2jrIKRn P/TbqzeQ==; 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 1pG3hb-005OeQ-9k; Thu, 12 Jan 2023 19:57:31 +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 8136B303431; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 0D9AD2CCF62A9; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195540.804410487@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:38 +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, Marc Zyngier , "Rafael J. Wysocki" , Ulf Hansson Subject: [PATCH v3 24/51] arm64,smp: Remove trace_.*_rcuidle() usage References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 1FB3A40018 X-Stat-Signature: 8ynqrcoepbrgqmrsismzzqdwnh4dr3b8 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1673553441-252919 X-HE-Meta: U2FsdGVkX18AQfSt/TnyFBm/DHN7/YsU0WtWf7Z3EpxXfrPxq4cfX/hiOY4xvEa6Ze7T8QxJviNGsFfaHzJplZqi/Kl5qPO/3xCB0w0WckIdRRJ8pSjOTeJtBJEot7P/0k6hCYKIsLEum2AzvcWx9bwJFISM7+q4lYiiUavnLsnruvpEyYiEwNaUigY4x5jXbHUveYuyBcKB3lSiCwZ0QBImM7TXw3y5L/QhzhKHNV4xI3YeihthI5hydgWJ+TBkiJ62UeiqrX95crea2lVgGmLgcJGbxKrVES4jC2oYCVCLv02ZzggOWAHjcmjR2S27PR3vYN/7pWghoyfck/dthPwX7gV9HJG+8nP97VWTYqcKzpuGoIeTxEu40Avk81jlhJAH0Bkd23mbf/pnGRfULZl/lQv9QQf95Up7kU7z+tgN0z7qtNWaVJVWjBYGIlYtztKPhU/23xQkz01adlGaZszTwns+Ii1TrHphKRBlEEckYkSNBYg31/l61uxqWp863WC73n7U72zFnxLpwevuIuv03rrG1EnJoozD63MktkNssURUaiQz0/GRDcxc6y5NEoHIuO5AthoDS/rf1Clyl5NrKu9zQVoZ1JWQKXsNmX1P+Kha8YOn6kGcXGBC3UwOpbmjZP5Ff2eotzYyFTA9Qefru5KdfyXpeJ67UYMXYOKLhnWKcX0LEGHNFi2T9ftFpfSidzppeEBmYfgNVVhpBDVEW1bny3Ay3XS+DLovDn1X5+vduJXOQlsfKg6qZPK9k8WhkFy1Nu1YFK0y/FealNnpob3gZy2RLhp1gUsfEXiK0jKdA/srWDlMbmDFEvqaHPHyTWXIUFD7mYf1bKPtonameZKPDwF1OsyFDY/nXlA+7ejuYn3TpBTwoUxgUqfLQsrLXveBTEmNhY8w1zV9vcsiLA/zn4Q3ANcLhHGyZmrLmUmn+cz8y8JY5TYAhncvZRLoRgCkzKiVCK70nF1 Ndt93mAk fxQanIdYYpFOoZ3u765ZQb3nYT9sJ47xbKJJ8lGx64UiWqR59G9ohOElBMpT4fBS1IjY3ZPsILiSs0f6bfxjGfmB0isojhN4EnxgmoDmo40sb6ULBh2zwN72mVEpUeBmZJTTiLmrRqDQzk83RZmAKyXDJ4uZVHSqDYTtnTF2ipY9CEP04EorNO/pgQFh6CKu67wN0RDGyAXAoxbgusDilh6A1aUiTV3cQG8Tw0nlOBGdtNGnxAZ9RGaalzKP0xOg/y9y4JBfXs+W4WQ81Y5PszlGLMUvugB3VVQx9PbQUUz8JRDaR4RRMoQ6D1s3jpmQajPi8a8Mvw77Mc0iHWbXdwVoEqtEqcaYgfybqxHYzj23Rqh++u1KG3x4TowO6cAa2aihxI0e8NbFNhGpiBgAAldP5P0+3p9hW1aG4RU05n43d/U0MgXYXfuQo1+8+uduoGhaZATVpHBwazMO2qsLj7ZO3IJkKDJQGtL6UjpRTP5sd1urmw2zrUPfL+qoeTJVa/ie+TpGcx4c1wW38n2n50liz411+DWBvMh8YkPu+F3uQTczk+p0RnP/Z+vZIirRoLZ/9slhiOoYEeTZhEAEdavAX/X7l89cIUR922yZd3C4J2teoqbiQAp/6nQzUQv51yg4yzuPw5ahbV6CMim5vzT4xUQfRrR957XfgWwa+SOgdXOwqSJgmI4+GZh+Nl5s3L/vHlZh0a4iJdjpnB7uxh9+vUftFS7YLUhV05w87hhIUH2XALQ1k7VFmj7mlOViHQrXPVuus1QHKdkOycSZgRPaebbiLviXVqHGMq9+SenfZkghsTeHmUipzyCwdQQu9hM9arKYfiU1u/4ff/MWbF8QvdPU+IjIoThQC2vFVBBCKwLv0ZvTPJgfiv7fvAChHZuY7nVp2QFZHtEr1BRHl3TQYWKP1DgtnsaUMmR+2dBWQvu7hv0xOfaZ7zJWEUz2Ql9X11xhz9YSHzRoMkvvsNM6yRILs 7MzskTif 63yDOl4bH3gDayg9A5Urln3t1gSsW4EKLC+YREOdH3USxtyf/0aYneOdwbZkSK04JEXQpDmYR6Y+VczofgS1k4TNZS4RFXpX+UACnV2r0iI15ldj7/6kUm4EDo6hNoJM9eblg5uU/5lFcbquHtQ8+J6lBoMrTT19beC7Pz7cdrgdZJ0lFONmYW9acteCrGnLQ6TvwQy3ZUtLGwXIcWVE3ZZe2gdlzX9/p/8xx9WK3hqYJFwiI1RGU9bVsvilqh1RKLuQvRthaeI3XfvEkxqFADv/zXakMGSQmWjb+xD8zh903I4DaElACuZgQ96PgKEbyCsmrMV2Gp2xr+XivcD2p2psdmlGXY4/Z6jfLkRL9vfziHhnIV5ZuebvAWckM8zyxoskWVG1fv13Mtl/iStucPuUP31COiCNUw5Z8TCyoz0H6WenwurgrbQ+1QpSpiolbi8wX/bEuNZAGa/z/LD1bmd/wNEbwnGRHNSgOjoQW4CV5092aXIUee6AYpBlz9UD+BclDkw6OlIC1uiqQsrhBWLJhZpe+7uM7e97Fm+X3+201dFBiJKc5fszAyr9G71NvxumI7RMeedXbCD/Sa5p//sk73PwqVYkvMEF1Gs6PiVU4eThfON1oKN8n1m9qLjkhmHoAe2OEoJlmmMsL2m4t5Qdo902jbYDzD/814v5qMb+yo+yF7yTwKn5nnq3vUkIbvkG5dQKALGZaUW+yNcWDhFLwSBLIB2yDF/wGii+8egOV129K2FRqNteaC3OL0WCFTnOO4x1oEYGBr6C6G5Ya+SqrJOMUDfqFqtQgq2x7JvvVyi1zAoy98kyxbvlWaSzLs71szza+DXQr293UMM72YoBgX8zeBPN+QLNfzqD2cVQLsv/xkOK40Q1zqEOFBf9ln6yibqeAnbjPuZCcWLW9u5aU3B2yaaiUtRkrkHctWsLYHu+3vR8z5InejnCiivHsy0YA7tdKsPKBsa/LNOUZHqjLmjI5 82AcUVM7 BKiy4IrrFu6GWeOZG4k0UmEiTqNAW5QpHM70bd6iG4qe3+n1HdVbNcPmhV/70h/zxLdSZMyMjqXH/qT53wdCXlr7Mk++YbDa8SkJQSFJr/sQM7lgFONh1uF6zE/gxP+eeGV7XgLOviXfZfA7PMmM42vFeqGnz9e43AT8/V0dJOg+Uhy7f+Uxpx73c9NJlUuNeEqrRPmLuLsHan6m9eUtNguMFjxTpqEZVnaubSug9yaZFIwh+1nuqDKAolB6QRTSj4cw8BIhS9I6DohLv1myfNecknZvYkyGnoApC90mPO9FOhrZnpgMgi7xC2mAffqFaODP1q8LuVmml/IroHL0MvUONpYYZp+usMV5A0mBSoDtkz9P4HaZGIPgsBpssOtngL02nv1nKIcocPV4AQvqC7m+V104ZRw8Fx/sbY80MBg7pTlNSnXK5YfkWxs0ZRYJOFct8A//Bso+0ucX/LE4Z9YFatV8UBURrgXt498QQNtV5N5fnSyFmIUWBGPE52W9yYwC2UJQ25cIW/fi03pjRhBBY+c3Bi6ulxbpKA5hXGJZ7NY/vhZmvjuWCHeSzBDsAy7dN2r9zbrCMDLQF/UbjpI3WOXkGAupcY+oFJJg74ddlqEmID1sViEUmG0Vg9yHnUx3PUcD8OkWVu9VToKmFeW7iANgWdYBQ0zjB95RAeCTLtxn17qACNTlMCb9teG3zDYMzD+uozPUEo/Pkd/boG2BoTv680ku5ke3Xkv4hHoyzIYna/6lzc9w+e39+PY2EWjxQPOmcRouJBZYEej9UVfr/zACL8idQFBHjuPE3FpS2PFNnfo8PtdnUWND6VpxWGf0JaSSC6fwdMGNNfYn5LSgV5rCmHA8pwysYij9NlFWHa8pzZETdsXFCssOf68rW/ZPIS5HhzDNK96sJ7MZKTWthaB/8KAYNBzufBuvOoeoSS6AIlp012wgCM0dKxLIO6rPw8eN7YyuO7pT1e2vUyfoB3mBa vWMxwPQe q6uO/OX85JIzw4STrwKP00VhIiszz4kSFJ9Hf0ymINU4cO8WFhnG9gEt2nvg/NnlBnG5B1ToVezXTYoRjZehm8FwPfw8YLEjVUXM77HW+j/rmVe4wRFnZ5pzCegfGPJx/24XQ3vg6nqomrVsjdZQNm 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: Ever since commit d3afc7f12987 ("arm64: Allow IPIs to be handled as normal interrupts") this function is called in regular IRQ context. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Mark Rutland Acked-by: Marc Zyngier Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/arm64/kernel/smp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@ -865,7 +865,7 @@ static void do_handle_IPI(int ipinr) unsigned int cpu = smp_processor_id(); if ((unsigned)ipinr < NR_IPI) - trace_ipi_entry_rcuidle(ipi_types[ipinr]); + trace_ipi_entry(ipi_types[ipinr]); switch (ipinr) { case IPI_RESCHEDULE: @@ -914,7 +914,7 @@ static void do_handle_IPI(int ipinr) } if ((unsigned)ipinr < NR_IPI) - trace_ipi_exit_rcuidle(ipi_types[ipinr]); + trace_ipi_exit(ipi_types[ipinr]); } static irqreturn_t ipi_handler(int irq, void *data) From patchwork Thu Jan 12 19:43:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099444 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 3DC03C54EBE for ; Thu, 12 Jan 2023 21:19:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D30FD8E0008; Thu, 12 Jan 2023 16:19:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CE0F58E0001; Thu, 12 Jan 2023 16:19:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B0EB88E0008; Thu, 12 Jan 2023 16:19:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id A13128E0001 for ; Thu, 12 Jan 2023 16:19:53 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 83EABC0E31 for ; Thu, 12 Jan 2023 21:19:53 +0000 (UTC) X-FDA: 80347414266.09.EC5D49C Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf29.hostedemail.com (Postfix) with ESMTP id D02FE120010 for ; Thu, 12 Jan 2023 21:19:51 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=kYTEx0rz; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673558392; 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=mHHfLn3ZXDs7+W84iYI4l64Hgzvzv2j66VWrzu7dGbw=; b=oh5eLV2MozU4zIRy8ruYQesJENFdN/vNqyGkxNxvD92R3Sm/4MI+OVXOEbc7Wotw5cN9/K AUQQxdVV0HxnnTwoWrzvQLk72WNDU4d0v7qU9mgmaX6Gm/IhdXnnrrEgPNrv43kR2PFfTJ Bh+HNxFldkynmss9b+0mlyds3xROeTw= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=kYTEx0rz; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673558392; a=rsa-sha256; cv=none; b=JbDsX/v10m1VxXIOS2FD+fL49JJiQJoXblgFTHm4AZ8CxA92symODIUxMSZh1Sx4ijygOB Gf3yUi2ptj8LIlDv2L0jBM6fBnCnKug2b1FrYMgkvPxxOR05P6YGgwnRV4mvELAqKGZh1X 6/tGU+E8UZYVBdBtNET4mBuoCi6tWnE= 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=mHHfLn3ZXDs7+W84iYI4l64Hgzvzv2j66VWrzu7dGbw=; b=kYTEx0rzU1SllruehA0y8yHATb IJE4wnYq/dRbQHRcZnpN0OXGHrGk0U7J3N0VBj+JSbpdQwQu+8TKRK5iCmxygpxvyweDkZe5UIvKY MwOlwaQnkBOYRnYTKRZAqS1YnWNOV444ewGH4wdgTge715r6fQsvhW/ij5f47Qprmcr4wA7JNnstB e/bXihOVRgcSCgn0rMMHufr9/fNUf4QdhZFePtfdiRCc6x7c+0SOJjOnT1sc/ENafw33wlDFA9nsH 0IaR/32BenV0BuTP4t5UZWueg7KT2qaj1MvjhfzmYn2Z4T4bkLiG8Dkn01Xo2lHx6f+yFLnWfJon6 ooD7L92g==; 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 1pG3hG-0045ox-1D; Thu, 12 Jan 2023 19:57:11 +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 862C3303434; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 11A262CCF62AB; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195540.865735001@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:39 +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 25/51] printk: Remove trace_.*_rcuidle() usage References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: 7byqux9cocitznenedwssz9jeqzhj6nc X-Rspamd-Queue-Id: D02FE120010 X-HE-Tag: 1673558391-643785 X-HE-Meta: U2FsdGVkX1+WUiqDLpcbXB5g74KAY9YeS+Xk5VHoiYYP+vmzqGXt1VsSfkKDq/8bpdBlr4pjl6szhHTKyROe0SVEtKBb/XIxIDn69n1VRSY2ZCyt9MQUF1lpK+6dka9TWLEHAgf4Xh+X5+cL+8rkMXUokVGIdXRJ6b1KzWyKX3PTK7WBR09CFO05vs7poLSbal072m6RsWc4Q1fvxjV0IqcXlcQJQWSc4Dm3P0s6N+DhhLw2onLdw194/dT7K0WNF3JrNOrziF2968ZH0Uru4Yh1hgwaDW6BoraBMiRxrs7b9C7y0Ikb2hxCtZh1tdtbVHFLZKoi0ORW5iGJo8NSmmflJ17C1pdOD0TbvKgrqYcBZFKNIcKKL0fBSkVsxNo+LSQVJiz3rTXROGhHW9C30Y9QdCUhBn8t7QQLiyN1u6zrH6VEZfVeO8GHqy1KG6SbZ5z7ec35EgJc80nfIMJ4wysA2quIAayaAwZSS+pwrTgt9jKC5b1GTDTUx1ENW1WZKpx3qYMdX2GJHpV1WY1f64KUXC64uQX5m/1Pd0+8AwU1fGPzL5zNOBw3+spZChpY8GBj3YIu8P8kF/S1ngGMWc5PgIa00/H21AT5Mi7GqEwdhayp9lwpxh1l1ei7UfaZsv8YzQf20cuf4GQVzAvG7mHi8GIZj5TNkggg8N3l40RgeElmo6XiXlNewGPlFCQAlZEaBvatpxngDQrH+XJ16n5KAdf9UfcALM6OJDB+OuGqtM8emHtRUs9WQ1sbbPxy251YZjR6N1ugjRYhmrmQia6fAz6dG1Uqp8Y5UZYvhVC/XCno6KxV+gMXhE0Ix377N+EMQnJCRJqMbZICVx768OpMjE5kjEXubdvECFJBhiCBNb9Ho8Cyke2PKnkgOAEJ8Zb3HA4nn1VEO6N4JfkwulSMTecX66xVu6eCdzz85RfkuO2PTZ68lNJ6/fYKTiQ/2oTlr8sCW5so0u+nHJQ FJqxPKyE Ev210clSup2ICv6vEeFedNIajUOrOU5Ex/2HYJ7KsB0TmDqJ35bWYL7m6rbk/GtH3sCcw94/WjOPocj+Y3EW3hcIKJz4IY/+4MdK0x5NG+X4aBYrnEVRFH9InPJDt9HFmNl+2zNdHd62uGtPZ3vZjplIJunaXYBiAgrG8TPEDT2NWeMs2Iw6nVkes2tXasZAB2rk5jiFFgnC+h5ZBzhoYgN6qLNkg5796I2E2Vrukck1CEZjzQ9+SvfG5PKu8qQQVWSV5VnMRd1pEXHefFKEiLLJ2voYshIP2UFEHJslGCXUhhWSheVO9Z6QISZCi4IQdNWe+ZojXeLx8I53FMG+5Thk8i80rTto8+wdoldQutOpJDqEN9o7VXmgaFa9M3cCrktJxCk2f4tKgobDR19hm4v86QkDq+aB5Nl1oeAHjRXauyDmiWRnWzo0iVIcXNQyvXKLYhe6L54YYncjuptEl06UiwrzrvYww1jPAWpOWUNuaffCn3skgdkM1yk5sPk0us1Aoo1wFdYrYA0Mg9CEYcAasmXRh8x4XOFje6S3G49TI4BOZFNREALtBkKOzxfSj/cRT56YSnmTVh4j9/spqPGYmnefzwfRxE+UcvSZR8Eh2wP17YwWeMFpSudjmUvcKS07cfsZ3WtXivx8YT8tbc2iAUsAv+7iIdu6o5sUBcHvZZgg8ThBJjkeojfssHkh52j0vL0CYP/1CItXrSc1VsAS145o/eb6r5HEwy5BP7EgalS0R72buIRGW3rc5n8pjHmCEh0kwFPkKYF3WIcpHqNzWd+qrsw/IWqPyT9MzQjdfUjDllffVM/ERCGQfV/r2klw7aitvmFUlhirMjZprQwbEIM4h5Wp+PexUaavhN9lNik4I4dLDEXQort5otv4FYb6ZD/t0xHhtl94YrMJfPai5sk/X19sP+YJQt7VBSupHb7EQyUcP/l4JGuL0NeTJy4Wx/BGpGxS7LeWFjisqGRc0dKT2 NqgO25zp ZjQONhNS5zGBg7r2RJGeTD+Y1vMkZUA7XOMyGa2VI+V+MaZImk02z49xgMG8VolZ0lWxp8AUeAmseCzLa7fyxBis0iBDIC0LrObpwFrd8JskXsrLEgRwNY+0+8XepPwBlF3RbwqnYGMhUMystoJwCCUkk9399iC8ks2yzk99Epe3eDoUW/ARN5E4l6MOPbXfCftjD0qxJvdcnw6kZ/T+YDYlzJx7j4UeO1rl3dju781ZRKDAg1ySagIxbt0Q1DKOs/0DCxJXn/ZLHAUt2wcjMgYiumTT4BXKN8Mk2sfQCEPU+gI6lEEDJOXfUF6fepiiMdotyhkGr5LcS+a1rkQXROTOw9kbFSifUMigkn48mPuX8k6hOhsC4+pUFftBV0fjzaHiWKJgijy2oP93+g9XTzf5Ovzicah6SdVrheKo9JP6Oc5AblICJPAIzUcbIIT3P29SSOy4gM8V3oYz8YsCPyOaOhgRh57PTU7y/qyOCbjpRbfkY7B1X+qs1eOmN8eAcS/DOhcQgSCQ1snw2K+ksL1EIqVdec5GKJP8LhreI3HHvGCzUJBGZBvNB7Q9gXpRaCmqtf7lproQB0s3jvtPqih6D/nWmbdpgJJF7v98HK6ET9ABHLAyfiQs3UIpsxbx2YpF1biEdaDJvZC+rYVKEfvZrki/LHoDvdUqWTrVihbUACgypXnjvujZosSpVNK+o11Kk7ceSPGJLnD4fZ+Sx06oXyOHJYAyMMT8/5L1K/ikPh1Xzmcj658/cNG1/dqCY8cAwMjjB2Q/uQai9GHO5YuwRV9MVZbzJhIbvaMaReTkdlfkMd4+nemXJhehgwHdafYG9KS5l8l/qokrNKuO7rUCkcvyR12TwRTR9zlYTZXKvRXGwe/N57XghhqBW8411yJ+PlSz2zoqe/G9J3gUq4OBCEQsY1dCCiGSh0unrtXt5+5JIEtfafcD8u1u5nSTrGlCW8GlasrapVDZpGYsV4S+28wF5 49g3K4Ub hycF28yW87/gsv6nrtVR8pMkRQOdb4QekDB3Vl6YvaoN3UeM2R5beFl6et25lyHtNDMG1fZagEGUQE6Lx0TtpJeFV1i7k2gQIPh83Ya2GctAdRizjVODHm8d1+it8A+foFQ1XSg8IoOLxoC8jxzjfs2v2/N9JE51Y7uK1gUd/1kzlf0svfyBttL+UoMg3uxiR+CY+OKGo/0R9zZAtggwaRbhBUkpITVwVw1V332g3fXIHQ4chiWNa8zBRs5Ckb4fR5tIHujvMFEbShBvbcFAAABbRIGKkFC9pTtGqOI6ERUqXyfmoEbVYsN0OIV/0Y5jTwnhUVvHqSTbKSvNTqP1HJnXWjMVN4ZlLDWOgEXOBUNR8kBbjU5DUNsxWDsfMEpDsZ5GZZHfj3yvb/kAgKix0e5B6UE2X41ql1WGIKyzHwGu/SbPl0ZcGmci+EnyapNkPKtsvo0HCsHRq+Q/eVsPQFoJr9qrdDsk0W5oQWBjmjsZav031PMPjffPgeXIViPEgoh3LzvC+EjwAiTT1DcPgk8+d4z0hxQZ6PIuvXX4YDXQI9xrWjJjJxbDOmpYmkbnKoXWgxJuem3F+gboTuXGNR9I+f2RVCk138p9Gdz+eFFrngvPAnY9PmYMkYo1FiV8FxOncRH5Kp37CrJisP6GXBPj4Ray6W82UeLnVOPAVWu4GEGV061e4mknoyS2Cg9qCjMM3gbWqDRY47126ftTa6eSAPu09/MUJm/YHKttNCnkYInK6CE90A9TGPA1liUJpEg+lsI4QnatSZeRGLCrpc0iriIubijRVk5iODGheHBOrAD1O+BW89kdZO376NT1S9Zi4b6VtR8Gi+U3qBOJc0PRuO7RHcISjqc/NgRJ4iWTioznwAtOPhXzRSXVOKSAh9L2Y9X1enWY52QqltqZ7S7yDMIWu6nAPza7u24tYkeWAv1TNNtME7ysAViA2IYjCGoSEwqNmbedJk0ot9orq4T3yfj90 XciP3iQx pIN8gkOd77Sk4SQrH0uPtlhPf+jQr7nzaYGcOSj6WBFpwQxaIlgT1njtFV9Zd3uN5SZMvs8yttUgV1mjzoQhOrOPcS1OIfKEHVCZHlEeiz4O/uXNdG7fb2rxGidxiuedgfhXjvSzVBxdA5fqL9T/rP 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: The problem, per commit fc98c3c8c9dc ("printk: use rcuidle console tracepoint"), was printk usage from the cpuidle path where RCU was already disabled. Per the patches earlier in this series, this is no longer the case. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Sergey Senozhatsky Acked-by: Petr Mladek Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- kernel/printk/printk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -2238,7 +2238,7 @@ static u16 printk_sprint(char *text, u16 } } - trace_console_rcuidle(text, text_len); + trace_console(text, text_len); return text_len; } From patchwork Thu Jan 12 19:43:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099445 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 7910AC63797 for ; Thu, 12 Jan 2023 21:19:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 015398E0009; Thu, 12 Jan 2023 16:19:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EDD598E0001; Thu, 12 Jan 2023 16:19:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C6CC48E0009; Thu, 12 Jan 2023 16:19:55 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id B7AE88E0001 for ; Thu, 12 Jan 2023 16:19:55 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 78B08160E0B for ; Thu, 12 Jan 2023 21:19:55 +0000 (UTC) X-FDA: 80347414350.19.2344E71 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf29.hostedemail.com (Postfix) with ESMTP id C71D1120010 for ; Thu, 12 Jan 2023 21:19:53 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=CDjE30SH; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673558394; 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=nPi2VaSnukDemWiv4/ra3+urtWJi7QCVP16nY4QbOXo=; b=T4zQJhlluEbNgFXizujWoCDICnhYFg0ylxJwUHA0pmMebs0RFVxo2K5gAnZVab2NexKP7o pEkGgx0DZ+NjJuu76pXakS6XDuGpA4rdQNx7bhQW+ssmivYlGM3abdXKU3ti21QcSw8zNs SI7KWcwUJGNRE5vV1vFU/1XbTjEd07U= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=CDjE30SH; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673558394; a=rsa-sha256; cv=none; b=qN2Fz0aFoOhPrUrsFYcxZpQJZ2Jgcr5NIc9dZ7IMv3gYUH04wsAlJAD3yQyQjkhHJRPRvE genfUaSRAy2yX26BG3AmoVx8XkO7aRy5UGqQnDtWEaWVlVSw2csAHky0B7k477SZg3IPgZ Ajw+umGHWQ4jyejHD0ANA1hiu8tYoAo= 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=nPi2VaSnukDemWiv4/ra3+urtWJi7QCVP16nY4QbOXo=; b=CDjE30SHxh/MHeshq7LcxCyRnB pAloIyE5xsjlMTbeKB6u/sxCgYnoL1p+OYgspBL5pFU5mK2BmQ486B/NcumbPG/RDRvRocqku+/+w 9uMl5zfVPVAo7sN1COzJFktYLeZ5aZ36fFLW3kVxdMQ9rGWvI/TrmA4iM2REwC6E89NJG4BtwXdYh Cf3lKWPZyztC126H0PkFylComcCFMahDJ0ywksznJkEyMohG+lfLKIpWv0CU/+S3YKvbiUVd/D8wg UbT7ahOD8OTpISXQDxoK1saIUM6+KxGwdAqH9AqOxzOt3IA8iSNroHtgP/sEIC13R1sHdOMtNIcT9 tVhxTauA==; 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 1pG3hG-0045oz-1Q; Thu, 12 Jan 2023 19:57:12 +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 8DF5D303438; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 156E92CCF62AD; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195540.927904612@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:40 +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 26/51] time/tick-broadcast: Remove RCU_NONIDLE usage References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: mx5nm1ff5ntgwta49jmtqdsb4mm1braz X-Rspamd-Queue-Id: C71D1120010 X-HE-Tag: 1673558393-21073 X-HE-Meta: U2FsdGVkX18uoJL5qgRhEpujAKfc65w72S96ARqa/9XodSqw/FIJXQmz5njqWdpuYQP+mpRMNGA9wM3tarF9nDtYDMiCwX/BwM9RtGS/hSi5lIC/L7rI6Dh849RS/XqDXXiJd9kN+wAOnYzOAKdSLMbAvB4HqNKX3dbl96WZAdSx1cVLkwb7eBYag5MzDQbH2FcC5Y2HdwEB+JUw1SelpGoLIAsvvSKIT2rFlwItUXI5LzlsQ/s3uqT20CXREB9kMr2DoPd1HAMhI/tEFivTQQa61e03ebFD1wS4oA7Y2GYXWWKm3MSm2KH5J6YUu/EcxXIM6m8BtkqfZVqTp3SjA6rEWyXIRP9TTf3WlUkrPCLE4TeLMSvtOKgxMk2QA+ystT3bEkLiQusRGkGxKmlubt8aqXZgLulGIlT6c1V4/W2BVO/LR5HbFVVyD1fT4ug8VrNoY0u3KqjMUOZ7FV4S+8tldyA48a7O51OSuSOJFudnRXoS8aI64E/dyBUFAaK0ca8z7bg45GyQXz/lB1VqDgXfVkMhCxm9f5FL7CBcIyoDZYl08hwrY3SliyOTGqcMgqRxNuoXBzgq2f4boQdIkUx/gcXDpn+vOu3UJKTFJAYuw2+IHgRKAxHgC0yF+w9+3OwCmTKfoG1UPSUkkcOjdg0xZZwu3cXKDsysXiO+/g464oqyiZRfBoiA18o2zvv/V1WByWYDnNRy8M1oAfNgqnCN3S0sbhTnisQpgglgvfB8WNR0H4WBJSfS99mzGZjJhHwU//16D6QL+HjfpM+ysuL4py2AmxLKSyGws/tt2pAjS3ffR8w60s3mdbvh2Tynpqj/S8Fbq5xu6OVDIVvWvvPswMfMqE71866q6CsNH0OYzg+t6fBvrnHuNwBQOoyTqeAALLMuofvLlYNG3X0Js0B6E08IHrL3uqYqcQyUtIF8dc0eA9yixEC8ymKl7rqFwaAAUH1ZhBouJHgnwrp 95UtWMXI Zrapiq/8EPRWhe5TgNnGZYnf83GtXzGxU5aNM2lzuQfeUgSjG49fSvMIrN1xTiST8sqgnfbmOpeZVYLNLL64dqu1E31b4Esu1zSDXbjCaa86UkyEvd7cLt7hILQ0KLICttAN72x5UIakepv5AKBeefr8R+cuDxc5iS7H1bjbkIgoZJjuyDKQoXb0CJs5X8s5HgjkEsYkftsBLTFAnEz1x2x8GhoqMZmkJgRc+pT6nfIpBhHXvKuI1PVVYN69n4AbbRokUi/khzN3vOb/Q/45DDHHRB+BMgaYp63Mh6rnkmF0LgwvtYrr/yUt3DSoDNMmTyK5DQ5jnoCHcNt0pJ5lbharLWruiC5KGw3NyaXWgZZRxDSKtrNOSlXABbk5uAFSLpqqkvPf6jMQeZHVD/ZFm6S2qrii1KrkVc7rUzRTEKzwqUyEG5w1YRmemU78zEws8aQMwWCExjXR0VjO41vEQOMHjznImbrsE8f1ib7NHDpEiK5zUQgMwZ5khjicJJdkW0S5xoN16Ohk5GYivkTQfBSr0DAKJRscNJBPlCGE/wAhyhyT21DZ98M1uZmXhM5R/q9044iC17rh/2aPjxMHUTSPh1E3brSUam6gum29EZseBtoApcS6pnUlwAj21wiGeQVGtoWylZwP9PoLThl/CQ2fvaLsvvbecgVq4Rni4pH654qkiz4mFNF9iHTfkOGGWEfQgaXd3Qtfy7l4ofFYa4ClWQS0bfOF0/h7QFk1DzUTPC3vjnaM+qz22RwhcLL+F6X+b9gs8kMVk4Iojev1EfmHw04Cm+wFoTnc/7EVfbApwmrNpunqt/j07hHicdEWGizWy6LEmmpwICqtYSdXLStYZAkWESF4U7NSTt80WoktI6MARYAnM3VC97bOWuPXClkNAGv6BQYErINgogRZWmebb1nuFW03b7tKaLarixse0A7iaFSKkzXIxuLIOej7ay7lTkKUBHdL2ZViU6LGY3bQLTp5g 1TL4rD9h P7TPgwgDKrM+EARQGLXjo3EapqNfgLV6YlT+PB8pAvtc4dharD2DoUJry3xuyxjOc+WJMFvcCVk49zl4UlFAl3nBkCAqw4Aa6zOrZSsAzMhxB7KZWJbQfk6r1OrtO0tVPaFEsgDzBKPOEQa+UQ/XH6iOtqL4017BpABC9ocO3wCCK1l13aV2CsAFvf5zwDaoV70Z/KLDRHPhRf+yLklRKW56qK95gewG9gDZwcyLWRXEAjKk2iEFFclYPvUG7tnEjVzhyl7+bb9kWSzzND6EmsAF7lrTj82TWtxV/18xp9sU3lNhllNcGjclpAqgewJ8rAXayQk2+h5rS9204DPh6TaZrWAnLKR57zqtRRN6VCYUrImYVed3KsQEuk6+xPUWENOCU1ZD76Fs9MYLpcT9XUeMhBp4ZbwgzkLAtTeu9UKux4CtOrpkxYcNm1udFTIzAs9XAeTgKVuPRyHsEoWmlFentFECVoT+qYS5nl+eNARfvw5aOTmY+J1HmrNWv/FRZA2RsVe5CttZXD8HyLkBFEqJKp+er/Tk/FWcirMuQNInOiQGR4gsDUvHVfAX20Ddoj1AmDpFibjSXCw33DkX8JQZpCEn0ANwBmNGXfNe0OLF5SO2aqKhMCk7/4iSl2qJjslgij79BqAk/kFGuGZd+9GCNB87MVIt6+xj44pEvFnURQaSkwl3Eh1fZfRaOiWZ+Wnh3Is/5LNIJ0h6mmljep5Nbc5iu8BZ8vxF2EhVGhOSyAjoO2wgPwJeZAh7fI2kAapBWvDiSY/y0kkrhfT0xhtWyrh4NrtSEKW2qrw9weRlmMG5BnNSlPQrL+HFUXjjWcn5df5ON2pdRuDSccDiuPkAiHAHP3VGPc8xeOhMDhvnBixFHyEuhJfhAY9HHD6XtgtqrRMeh3KY2LXm8ofoPV8pZMDCGjioEpURqr+Hx50Vu1Q7zPygPNWktboO7daSfAJhsFBjfu9YiLPS4sJ4Pe3Kv8iOu iTnPhfWF kc4RBIlJ0A2RCcdSCgTBbEOPqg4roP+rFU0XqODfet8ZhczYfqQgSh2jSQCbr9UzFQvmQEu+yGU+u6r9U4KGh1Sz7KuBHSPjRld5NV3hSMs1kynCY8t2kKweGVXqMr2uFx0/ZMYgAgVQfrzm1AadWbqcaLOr7NkuJDjnq2FdTrOsx6ePhdE+EDDbu/CxX7LWPNDKmxEkBbU7/ngcpafmUqr/9/dk/iS9Ih5046HcU+jlzhUpZzLliaN06eyZyvXrYZmYgqOKfckg0e/j+ElTkM7i7SXWIfOuvKZP0dERVWC6zIj9hlBkKC6Pfs5WyAf2xHWy37kuIUNXE8CnM+oeJPGWDxcaFsB0E1MwS38ibij197VVX7TP6fSUQR+L4Syl+IOBprfctUVWJMOjTD4nR82ifQGRDDisRA+bEastjvSFHqFGz+73CYobVuLuIruNXkKJheSqjeGyBYiWpX6CwSyXktc7Yk/O6jUPnSZ/olW9CjHz9yNEslblr+tSqJOH5SxJem+4InkyTaqOrqxIrdKjMYFvZbUkqvBuN0MVO7tOpGTZMn/WM6rd2XBRtYItGeuSISNBa4iQdBMqdRPlcjw4sTAosotzye+csSyxy5db/fOW4eM1/rnbGU3BLKRgCgteUnPobV0m6euJNVghMj9FLe5Uttdxo/x/xqJZ4tkJm/+x8VyCT2Z2ZWeO/6+MAZ9ya+A2CfXHTQA4wdQ9kjZSKyHY+7uuM3O+gXpKpjXzUy8fOuCmyvngKbLGTKlaeQa71Q7hlXoamv9qX4K6y9AzuFgITjhc7dhQax/Q7fwBAcKOmVWGlAm5tIZ8VigVW+hJBEMLS27BZ2gb1r1SZYlwIwf7cSY5BlFRT6Td21T18CPiBFNhtheO4567C5gGc84L0oJ47FRGyvZ9NvAzbCSwhHWm3fNWm9qMRcfxrDMCH+5F0yF25KN4NkPzvhCpzmz/y13lolFqCTQ+GnZnygTxw5CVN 4bqO5EGi WKb1UfsVXrxOjO4FqK6kShsh+Vpu6yFFKYaNlCtOp7i3kugmr+DY5uLH2lGjeJW51OcNLasP7hV7zVdxvfC7MDlkHNNYpv1F2V3aSmvyXJirfq8IeoxvQuAvwJvNyKq5i2KtNUm7F8cVcZ566wTJMK 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: No callers left that have already disabled RCU. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Mark Rutland Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- kernel/time/tick-broadcast-hrtimer.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) --- a/kernel/time/tick-broadcast-hrtimer.c +++ b/kernel/time/tick-broadcast-hrtimer.c @@ -56,25 +56,20 @@ static int bc_set_next(ktime_t expires, * hrtimer callback function is currently running, then * hrtimer_start() cannot move it and the timer stays on the CPU on * which it is assigned at the moment. + */ + hrtimer_start(&bctimer, expires, HRTIMER_MODE_ABS_PINNED_HARD); + /* + * The core tick broadcast mode expects bc->bound_on to be set + * correctly to prevent a CPU which has the broadcast hrtimer + * armed from going deep idle. * - * As this can be called from idle code, the hrtimer_start() - * invocation has to be wrapped with RCU_NONIDLE() as - * hrtimer_start() can call into tracing. + * As tick_broadcast_lock is held, nothing can change the cpu + * base which was just established in hrtimer_start() above. So + * the below access is safe even without holding the hrtimer + * base lock. */ - RCU_NONIDLE( { - hrtimer_start(&bctimer, expires, HRTIMER_MODE_ABS_PINNED_HARD); - /* - * The core tick broadcast mode expects bc->bound_on to be set - * correctly to prevent a CPU which has the broadcast hrtimer - * armed from going deep idle. - * - * As tick_broadcast_lock is held, nothing can change the cpu - * base which was just established in hrtimer_start() above. So - * the below access is safe even without holding the hrtimer - * base lock. - */ - bc->bound_on = bctimer.base->cpu_base->cpu; - } ); + bc->bound_on = bctimer.base->cpu_base->cpu; + return 0; } From patchwork Thu Jan 12 19:43:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098757 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 49CB3C54EBE for ; Thu, 12 Jan 2023 19:57:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D25AC8E000B; Thu, 12 Jan 2023 14:57:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A668F8E0005; Thu, 12 Jan 2023 14:57:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 24B468E0007; Thu, 12 Jan 2023 14:57:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 02A4B8E0007 for ; Thu, 12 Jan 2023 14:57:26 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id CD5A71C6067 for ; Thu, 12 Jan 2023 19:57:25 +0000 (UTC) X-FDA: 80347206450.09.8E03993 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf12.hostedemail.com (Postfix) with ESMTP id 1A7A64000B for ; Thu, 12 Jan 2023 19:57:23 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=sUhXWkR9; spf=none (imf12.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=1673553444; 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=2yvU/+KlibzuaJax7jV4X0So1xAo1cwX7MytP6HDPxE=; b=rHNRmdK/w/rz8lZAnS/9KK/YxuhtXRhLt3Xn76SQv5hfg/0sNNS4ph+7zpi+Q0YXSWLdpk NfQ1nDr4n5U208+2WKWgUJYD4dQy/RQ4ahQ0eeVt3PTo6aJnETuTN9NsWOgEgHMrsO45Qm UFdu6dVtTKZOuY2Mh2ABtgRaIhDNr78= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=sUhXWkR9; spf=none (imf12.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=1673553444; a=rsa-sha256; cv=none; b=BZKpQefq4/7+gl1cpBSvIBn2GeR6vJFsMPhGaLNkmvj8t3OHsCEbg7XS8j6aC1VjjXoHEA 1NkIQsNsRJtbuHJwVTkLEuAn295owp07AahmF4n7etlWycMcssQK9JlYWNSNpD/HA7DWdY MXF/MA9t5QxjYOw6RPvn5lxNpz9x5no= 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=2yvU/+KlibzuaJax7jV4X0So1xAo1cwX7MytP6HDPxE=; b=sUhXWkR989HxDuMz0IgNt58RkK nqTN5ZbI/duQQhxiZIzMawumh/twojZHHcaDqklE1ZF5s9tPOmCTfdy15HjBg8WXgPVucBjQvW43I QASwgw9LJ/VCj67WQV8Kbc/Lcf7g3wIR57WUJTSoSCSVZinq9B6HixK86IFvy4TlcucW6OHR2E3Ei tIHujO7fCf/vd7x/FNnvOJuOoXwmDT/3a+HM+YQFyYM+KFp4K7hYwgSSHbdVvWDfVyJkmrNJb8/L7 PjCgd3meHxowC0uYDYr89IC++ERZO4mhecEGYeyICb5FH0IsLoWD/gnKtstWsY8OMoYFxQfEP1FB/ ssGUXlaA==; 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 1pG3hb-005Oef-UL; Thu, 12 Jan 2023 19:57:32 +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 9301630343B; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 194442CCF62AF; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195540.988741683@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:41 +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 27/51] cpuidle,sched: Remove annotations from TIF_{POLLING_NRFLAG,NEED_RESCHED} References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 1A7A64000B X-Stat-Signature: 3pcg1xi8iyqzhrpy6hcnjauwedtfd9y9 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1673553443-529133 X-HE-Meta: U2FsdGVkX19p/C/dqoquOjxEA36PEqqYHmVSDrZZ7htSntLiJQsFGNUZkvCxvEPXH65vDExVJVCv+Fn+ITleG5er2op23fFnfe5h+pwv1lBD6uzFSxyFNF/Uu1/tm6OifZbBqi25Xsv6UaV+3ttbec7vCP3mK43JtlMVm/sfttVlYMIKSYHKlgSgvpggCFR90H3K7arIdLM187iNFOHoh3f4Q8fTIegy5Iov1+gxhvQ0pzQdvvRyLtYYGzLNAwpih9sig3B+HejkmhxRBtZeJxqp32eBj8T5kEc433jUcYo0yN+5hLWLNhAxX769uNn8onWmXhkHpgbmoXd1og4mxFuI9if7qO454b7wlPArsAwAm6OkHHVsVDPQ+c7cL8/V01ek72OxB0U4q8ZJKz41EPsC+IUswJjwKz/KNeZuKgTkjfG70PNCjw6KvVBMiqxntx213W6aOiryfPNMEdbTUQsMZOEP0t7AlWds9B8ZXF+oxIGEEfVIC351TEMsJAbjfDbHmCYaRYfDgIdZh7n3OJeu1p6hwuDxQUedGskijkgkiH11ReB2oULMRyoEFoc7LE5GH2uWzAXGZmY3jAnksgFZMhok1Jg3zgU4OyJH/A1FLjfn8msHrvjz8ZG1cyB4OzFigpGGIs0l3rPAeMwCGh6AIAVlzZ0Lzj7LpbNbJ66M5HsGUbhLorimRJGNvHBJ2q/CdDvboxN7dsd3MY7YuFXDLmy+HKNKtHODJbbp6VJYb0naVAyGPN/UiNnYFVdT2vsSTwhd2pUwbM32esyKSZWEXHcsec8gip4tDyJ5LU5xR8ZZFRgEcJ6KwWmTCPqn7ILQSg4bbXLRE5rn58a6k9rwxiDwUDGeFryufQtULDmkCcUYpIvNhAPMD61MAAB+qcDLGkx/8ctz3e7zagJtmmpnIVRILPV8u5jGVNHSICgsY5mx7RFgRbHKDzcwy59c5aWm3HvW4q8pVUpcvLN CzeyM2Rw fAjQy7TgTrE8RUXduyuDD/v+YTVp+sbCGJZ9WL23pVPsWQqkx5ICodhG+TjV34TeJwoP2caulvLewZpEop/SLLM4OWHymiURJoEHzqrgywdaTQEOW0fuRViQ3wJvalWboGNaQ7/aSlYSfkjbIcXccEZOjUGoTgkqukLPJhqc8HmaSp+XNOCK3yj32K1WV0ZtJ+/R909rZycvJV+1vHpuagL76owrjADJmiV4Ze80868jgf4om3K1MNPq/rdrn+9z/GvCiPz6zVlwzVe3mWsg5E96VGzTnnBv712TbMwsuh1XJ1E5G1RXtkJxrB8N6yONXfgbcNBzbURZuWMeTkWGBWnpOQ98AzJ1Zd4TaUkWojOit8kW7ZuYU5nTIfvgbpxHS8UpxuGpaTpnxVAYihO9trH4yO7STDKa/cqJ//oJr8gtVDEDf9d+jkwPHJIPiS3BXnfkTs/URIAAIx60/UZmP6segPqCTzkNHZMroXbBbR+Z067WStPjaVErdSjTrYy8ZvokepHidAlxr57u9Ql0ucao2NBl9X0SnaGMf7nMRT4tomYFb2a24OmkXNuIEjTrAz1UvAqFDdKs5vJFPmlrP8dBx48Z9SjEMsQr616akwAnkQe912my/XUOJ0W7Vk3TYVqxMMfdVrSI9CC+XJAKqKXBX/23BvhpAAaA+N6AQiC4A1T1kAl4Tlp9yNogUIBFsmrQ4bIwHKcrDua2AHIwiZ5zPhkt+jx5mDRFUMDnqQT+wxSPTNTYtWWuD8PmdQOOUdZqa16vFS70GQ16U4JPC/eWlQX9nFPrbQ7nVhFnTHF5B/OtMX0b/eBazxTtyNNnQf18f74e/AXl/+LiJCxTKzH9XeSZ2BQWhPNhZfQ+47AnfYsgH9wOkA9dWlpkqwu67hil0rUxc25YTkthxh87+tfvCkto4H8HA/yMrrP9i9NmAABv89eAtihjBqiTiMgJSJssKH2f8qex4N8vdV5XyzlpUAS9c IchkP1X9 ccPs5/oyd5LF2VMt/rVleMla9/Bh/B1Mb0XWjtSDtixQcz2yframqY/62GQIodRIhCiqFLHlkxB/FV9On82J6F4ylz0+CUrcVlMoiuiGwN10bTT/a4jvy2hUzg8Le7usTqW6TgI40ijD2McgF4i0lI+cVx8yohJPPhbB7jhUDS+tIMeEyaynT0yFMO/Hyl1LdxTM8eMBawXXQW48pULzUO7tiCTv6BqJY45Lo2ppFykmz7S4k5syTi5SPDcqR2z0Ufcfj97tWp8BiILt2YYiwda/wvtnjb7ekGo6e9xlyLJ/KpEvj1+vHNx4jKeibSlG3bght+KSXvNfllZIZwuMXPFd9E6owofkuTAu0WguoIrBKcKkJSfcGusN+ws9OR6+kNtR7b93uKlHjAfMnD0SXhnf69jre/NV2wlUrtj6AgJYfFJAM6ZlP+8H4E13fwqOWR7ez4+kwMjPtEXYCpaHZtw1COS5eKl71G4N0Xi2uvwD5lLCG/Zu2Xv99DUBpCJ1MgRQXGF0/yeeOXL3rkHh7PsniT7xufhp4ZsTjaD933zJM73WnRUujOg7iuL0iiK+15JCI4Va4SVWLJ9J4RiVVNgcR6+hpQvlEKSeZOl0hKmmVthgBXkZQ7RnDj8QpzMDg9aBeebiN6rF+vkQe7gzduMzXO4nAHEtPamh2hPYy6x9IwnY/3Yqzq82703F71/qO64gCpoLrylam65oXxv5qsF16zfC9bLFo828Oxy/zGR1TlpWIV6kBEc60KnEe6m/9u72cipRAtpVr7rjU6nYGgcrx1j5q0GbijcIX8LtiIoj1+N4ugIwrrGqw22MQ2+8g39H45RmgQp+y5YYNmTjZYp2+SLaAKhEwDe4irraA9RVY1/UEtoroOnt7y7NNTJMiIZG9FL8PBtuSpUbn5Pu9dd4jXSzF/cHdhbia/AJJEs88vuNSUuswZAZ3tG7MvX7d1JN1bU+ZQUDiEOujo/WF3PT+8tGg avEawGJ1 ap2lQkpX8BDTQphgGEATDYprA0ormZY2e0dBjI62Lqwpf65jLy0b5p4oHsazr2JbIDqcdf9HWMjM8VtpKDpnFhtLYyDBSw243ChlbvOLMuHI94wT8EyilnfQ7dqz9NMP8HyQAn0zDGQhUsKE4dO3+92InrEWEqMo1iXSDfGYWAA240E6BlxhTLtS57xGKc8f+VbzvntKXAVlKYla3LTUycqwJBy6jIMsA9pqdHV+zRxc6Nglnz09qW4//B471Vhdqh9x0gFffwt7xoWT1fTRx637M55U58fGp43cZiKERoiOJ5Iwdro58jxQwqNc6PnVOirjvFI3P8P45b6m8MEivFhoc/zCFUSyt75xousHsPI56cMKbDJh0oSmbjqnibeplFyo/Ybvp6tmG2nc0Bw2TRgQY/QnKB6synprWoQjO1qc/juufHajCw2Cn6nSG87S1pZ6u7oqdE+aRoIoYIbn+1GPwsFSRXNVdqX6TDne/TjH5jao7ZBGqwDSB5vpIab5cwBA8P7Fr5ry/u4NiR3FtdegJox1NsyicU98nPSiieltpg+WGzSW/tghrNYkNayFtYSx82UqcA8RUooSuEKk7iLWnBTiJXNH5rvL9ZA7I5YW7hHuf+NEEHy2SqEak1qR/CCQfcaiX78h2vTxn0NqieOlyOv2RniEmIMHXcNOnnLIhJKUGKB/bSK5lKcB66a23zsY/SEicRJYfFTf5feEmx6mu1QjpTDQU75rxqI2jZ9FnQKNRsP7wgKG4QD9w3CwZGcTevMYHMv0irGQvkxIPOKnApptptuZUDUciPK8re5mjnLUsth/0heSsij30AQbIFi6LrHtJNa3VtPzk1B3L4mJ3jcNM6Fi5L7ygEXYWs/+gZtmq/UhqA2ZSuuLuFUXMkrmLjr9zIk6apVaBPg7Y40karvxztK+C7yBdr36ezxod4aEwSkyCYyCMSouJtvGebPtjvYBY9ytRURw2VTb1T5Bd8+CS 1y5UrAse E3gn0qmU6lzgdFC6+RBt+O848gSxAcsRT+0oL0Uyyg74J3v2zygZQkZl4YA1ndIOuKazU4RQycGFBqudsEkMV3GgigmQtmlfleLK+7ZKzOwLdLNVlK9jgwJx31pkEZDd4IbYebJDzVsp6FPtJTmuq3 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: vmlinux.o: warning: objtool: mwait_idle+0x5: call to current_set_polling_and_test() leaves .noinstr.text section vmlinux.o: warning: objtool: acpi_processor_ffh_cstate_enter+0xc5: call to current_set_polling_and_test() leaves .noinstr.text section vmlinux.o: warning: objtool: cpu_idle_poll.isra.0+0x73: call to test_ti_thread_flag() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle+0xbc: call to current_set_polling_and_test() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_irq+0xea: call to current_set_polling_and_test() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_s2idle+0xb4: call to current_set_polling_and_test() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle+0xa6: call to current_clr_polling() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_irq+0xbf: call to current_clr_polling() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_s2idle+0xa1: call to current_clr_polling() leaves .noinstr.text section vmlinux.o: warning: objtool: mwait_idle+0xe: call to __current_set_polling() leaves .noinstr.text section vmlinux.o: warning: objtool: acpi_processor_ffh_cstate_enter+0xc5: call to __current_set_polling() leaves .noinstr.text section vmlinux.o: warning: objtool: cpu_idle_poll.isra.0+0x73: call to test_ti_thread_flag() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle+0xbc: call to __current_set_polling() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_irq+0xea: call to __current_set_polling() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_s2idle+0xb4: call to __current_set_polling() leaves .noinstr.text section vmlinux.o: warning: objtool: cpu_idle_poll.isra.0+0x73: call to test_ti_thread_flag() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_s2idle+0x73: call to test_ti_thread_flag.constprop.0() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_irq+0x91: call to test_ti_thread_flag.constprop.0() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle+0x78: call to test_ti_thread_flag.constprop.0() leaves .noinstr.text section vmlinux.o: warning: objtool: acpi_safe_halt+0xf: call to test_ti_thread_flag.constprop.0() leaves .noinstr.text section Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- include/linux/sched/idle.h | 40 ++++++++++++++++++++++++++++++---------- include/linux/thread_info.h | 18 +++++++++++++++++- 2 files changed, 47 insertions(+), 11 deletions(-) --- a/include/linux/sched/idle.h +++ b/include/linux/sched/idle.h @@ -23,12 +23,37 @@ static inline void wake_up_if_idle(int c */ #ifdef TIF_POLLING_NRFLAG -static inline void __current_set_polling(void) +#ifdef _ASM_GENERIC_BITOPS_INSTRUMENTED_ATOMIC_H + +static __always_inline void __current_set_polling(void) { - set_thread_flag(TIF_POLLING_NRFLAG); + arch_set_bit(TIF_POLLING_NRFLAG, + (unsigned long *)(¤t_thread_info()->flags)); } -static inline bool __must_check current_set_polling_and_test(void) +static __always_inline void __current_clr_polling(void) +{ + arch_clear_bit(TIF_POLLING_NRFLAG, + (unsigned long *)(¤t_thread_info()->flags)); +} + +#else + +static __always_inline void __current_set_polling(void) +{ + set_bit(TIF_POLLING_NRFLAG, + (unsigned long *)(¤t_thread_info()->flags)); +} + +static __always_inline void __current_clr_polling(void) +{ + clear_bit(TIF_POLLING_NRFLAG, + (unsigned long *)(¤t_thread_info()->flags)); +} + +#endif /* _ASM_GENERIC_BITOPS_INSTRUMENTED_ATOMIC_H */ + +static __always_inline bool __must_check current_set_polling_and_test(void) { __current_set_polling(); @@ -41,12 +66,7 @@ static inline bool __must_check current_ return unlikely(tif_need_resched()); } -static inline void __current_clr_polling(void) -{ - clear_thread_flag(TIF_POLLING_NRFLAG); -} - -static inline bool __must_check current_clr_polling_and_test(void) +static __always_inline bool __must_check current_clr_polling_and_test(void) { __current_clr_polling(); @@ -73,7 +93,7 @@ static inline bool __must_check current_ } #endif -static inline void current_clr_polling(void) +static __always_inline void current_clr_polling(void) { __current_clr_polling(); --- a/include/linux/thread_info.h +++ b/include/linux/thread_info.h @@ -177,7 +177,23 @@ static __always_inline unsigned long rea clear_ti_thread_flag(task_thread_info(t), TIF_##fl) #endif /* !CONFIG_GENERIC_ENTRY */ -#define tif_need_resched() test_thread_flag(TIF_NEED_RESCHED) +#ifdef _ASM_GENERIC_BITOPS_INSTRUMENTED_NON_ATOMIC_H + +static __always_inline bool tif_need_resched(void) +{ + return arch_test_bit(TIF_NEED_RESCHED, + (unsigned long *)(¤t_thread_info()->flags)); +} + +#else + +static __always_inline bool tif_need_resched(void) +{ + return test_bit(TIF_NEED_RESCHED, + (unsigned long *)(¤t_thread_info()->flags)); +} + +#endif /* _ASM_GENERIC_BITOPS_INSTRUMENTED_NON_ATOMIC_H */ #ifndef CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES static inline int arch_within_stack_frames(const void * const stack, From patchwork Thu Jan 12 19:43:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098755 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 8019EC677F1 for ; Thu, 12 Jan 2023 19:57:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C4AD8E0006; Thu, 12 Jan 2023 14:57:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 64777900004; Thu, 12 Jan 2023 14:57:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C5F7E8E0006; Thu, 12 Jan 2023 14:57:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 7A3BF8E0005 for ; Thu, 12 Jan 2023 14:57:25 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 52F7E120DE6 for ; Thu, 12 Jan 2023 19:57:25 +0000 (UTC) X-FDA: 80347206450.13.46478DA Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf07.hostedemail.com (Postfix) with ESMTP id A35A140017 for ; Thu, 12 Jan 2023 19:57:22 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=qX6YjF7g; spf=none (imf07.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=Y7pmXu6dfTZxDcbDXfqgJM0mS6VL3mXOpIjOPL8GveM=; b=76imlOMVqTcx3qT47syAtK4NL5p/hY2UkreYXUzS0gmc25j2Fqs4oI7FlcKkPY7Nq5OqDn sGSzs5Ena+BNHy2Ew/6RHb1J12GE/kMf3nWvHgu2Jbym3UBY7icIvBN2OcXB2Tw8AZtx+P dU9HLbHSSLRlL/DbNMC+OoowOKGYrE0= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=qX6YjF7g; spf=none (imf07.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=0KLQB+9Mt51tSaV8gAdPEIYhM+pFV+TboTWkh379shAT6Xj38fKz7yAp74OYsA04qBKajC qg6KdQdlUXIel/DoiRyQJxD8aYpvLMhagYhBLoIL+kjYv/W8e4Bgwr+Ut1TZLVgrqUBUAo 4yBE4yjFqPdJgvz6JeJBjjnb1MK9KgI= 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=Y7pmXu6dfTZxDcbDXfqgJM0mS6VL3mXOpIjOPL8GveM=; b=qX6YjF7gO/MPwPtcPx0NhV1Ufk GyzKfoLIeIvjnz6bfozXzUoKsEK7V2vnIb67mqT6Dg07dD6w91/Q3MGHYIJzuj+4tzeyXzg8pRv4u G8kEMdIkxoEbfIr3MD19nyv9bg//wyY0H6+1G7ZI4FkOT+PhsWXDz9wI5QT+NsArvq+tJXaAEkhfy Yv3IUv0DQB87nGRwUvNNkcQTSs8WtB+6ASOtNGWFiIRpgcr4zBjlMxURErvmkpmDKjXUiZr8q8oo+ h+3ZbWqMHYHHCuauv0XHmOXQLZRHtrlpCFzHxEL7Pb1UBeBcLn+OxSKbAhCD9OnyRl2BKR2vES4dC JAZ8H1lQ==; 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 1pG3hc-005Oeg-8f; Thu, 12 Jan 2023 19:57:32 +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 9804A30343C; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 1D1292CCF62B1; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.050542952@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:42 +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 28/51] cpuidle,mwait: Make noinstr clean References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: A35A140017 X-Stat-Signature: b7yeum9j5afkygxqp8kiz3jrgakndtm6 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1673553442-98280 X-HE-Meta: U2FsdGVkX1+c4Rp8AuXL7Gjhl3JpTnfnZIEEGDXJedLHjN89sh1ljTCBIo7T9+kMyBG0j65NjHar7PvLm8o2T9JsPW+jOfAsqy2gijiPZO/jdWs8l2ZfpVAvsaf/82UJ6xxB0qx+yyFm3q0s6pUAZ+ZB2uWHXwgPSHRB1XE+8FsYOpdHy+c+zw96wA0gmHLIuNuMTjOr2CRwKSSJIgO6euvdeMqM0k1tKAUOx/8yA5xu9juZJi/pX4K5rHccO4LivrvCRQGkFX07bEt3PFxpJBELxVUAnML/ewXltkA4s+2diPfN/zvrBCrb9OjckQnwC9L0txp5QwR25nts/swFHBFITUgJnfclzO0HySXBVVdZTH8wL3TbSKiZdDwpBsm+PlPbzIMgPFa+JenedT02pSF5SZ/GlLVpglJfpjKgdiLAXr99rvlvDUVsPnEyYndTcefaS2nMtnLKoK24a6eeThGtniebq4GcyeeAg2qKy84OF1eYsvZ5wFxGzNZnhdJb5mBAgHS6u+JH1HH162fA2o5ppKY6YpO0FKjw8uvQm0QM0AFRkZgdeCjxpp/POhj4NXMoZ7M6HqnEpZdfUixv2aU5nOeFv4AWVgDaxlqfjwnP5nvUReHrgrFrLqI2zPdLXEDo/BUBkMjv2oAZZuTNzxSB01C1cQC4NBa1uZcFR2Y1Dmc0G3XHgA0kniasshOVIxV2slclLDh8z1LW0aWNOHzUjIkroUPwVjGd9jw3k8lG45iXGspJ9oM3SsSe61BasVxKdmVVFgRIb02vGjnqBy0QqRVzFIcuNfGbxLiYBSVMaL+MezzCqjWblvaeJmuVgPM+Fsx5Od9A4t3fs8+znJYkVmr3EKircClp1RJ0zrYb65AhV6FC2+HP9LIpigqMcM65+DJ9UIgIvs3XfkZvKDto0uy/KC+g3IhzFcu2bbLZ7wxm9m60UlzOmRKKK41euLj1UH+pjcm0cafmmQP 54E4sVDn Y6Qow9W+wjnh5PnFJaH+32YbVPOAhKbyQHZ5wHg9kRZo0dxtdlWCPeScZwGQG6fUMijOO5EYOd/+8sB2PjoXTrSFAdxoodrKNfsf9xBNar29/Uoq0nnMxO7JzIY2DhgnSA+ZeVusBXXu+F2l/c269fGAsw4UcsaD+raUSoILofvYoqk3zSorhO+wmir0BKqEP/nmR3AzMTuoDJVl6dtX5EaNKPRVUGkV86fdsPfWp0XpascYzE8W8lQl04uqtjaX0oTwCVN2CEc1P5QoUtJJP+C5+oM5I71BauFxdVuealJfe2d62TVkjUadL2UJa57E1baJUqztff8CAjlTo5N6q6c0yrun48fZk4o7lh7Wz6k8vLcswSHFe0NdDcma0nO/V8FNewYedgPLWdWYWPMnXnbdgsMIRNQAv54d2JNzf+pVf4foUCTBNQkiXMYNSpWAxy136s6Xuwuitg4RmEBUbygYSPQWsHJ6iOIg7o7O+xtNgUHjirNwlM94Dm+hx+UIit+YVXV3TY4IhA0bLyOxAxkG8TbUgfsB2/0hinggZHRCfH00NWwY4pUySpRlv+MeMTvrSh647/0j67RcDn1dyFVOW+v5GrEQ2CTqyvfydaYCOLNcS6DYwXwMPOsYnwfh9w14rJrqFy47YI5bSKJ8p6Xhe1XPlI+WjOR+xB/qWdMVQl9xczCHSOLbNtxIewIih9xryVavbZerS9lkh5cvBWXz+F1o04aciCD5hfh4UPpml8Vjsxx1mhJqn3ux+7ZCueZnBIe11AzTwG5Xo5FnC6NO/viWA6+QvpRgZce+OLdczbmNT1vmbx5duaoW1K5Cx6hzv5R8Rl2vREJnbcJS5LN2tIT4LWTrRUVyVYekO/A8EjsZ6vxuVgleRGNnT6zSQMje8gekIiaJbAJlUw5xp70QWomXmG687A1ugxzGoxOcu+qXqh0CRfsOofqBvmDlOUzkZTYcXE+ivF8YELWOeSgtgwZM0 +cE0MvJb SOym6XSlKE4lDIl/msFTD7zXxqKn480lvfFzhBBjVH+69B1/WgwohjIBCIrCsyjSn1KiUoZkYQcwBo7edvyB9vL3jKQC8KqT8SvIKMAmVtQrhtdOvFFIWLPjIQnd/7eMAj5B3TrfjkbmTUxuWiF5uIxvNoqcEaWEYqvj3Q9E4a7srwX5Gxsx3avaRruwEiA8+wWAgyOKLPhKclxIdMg5c2Z9G3YywZN7v9CObdIOONf16IpKMk7HgMgC+BnVrvDmFExG4r+9i2+csWcAx77Sm0xboPq9lA12bIEcg2BoWpm3KecwblzRO89wYMx4ygH/eNd0Vzldn0DTtLrp6mCWEEQnKS2ICYxyT3hjrarrO/Kw3lG4l5FFB+pAnIOsxfUImz4TZJhYwhBtGwXerjnUrC9qE/CveBTxh7NrDVRAxnfATb8DQvcQVVzgrWBWnGxDoSB1I+0eLHIBqAm1KvaV6NVsSvAOhjoYPVNGb/XAK1gORUHu3/DI8uH7XewBjgcIVHYIcQTi2C/nkR2jJx96F4dvc1kf3FDEusuITMoXqBFuS+clxIkozTJR4Itru/dq6TqYV6Ez+Pk718nI9QvUKnu573fgrBRCpgmsdFLlwvlsxDWiy7i61ApTOqae/JTWYz45WaPIn5cDbmtR8e5mU47ZWzNLwaQC0RKGZcqd73QAY+nnNpDTp0hnHQQJA+HKWzsMww3LAsEvURZPUbiPhhtW2tR78Uum9DZoOktz1jXTXec9VKIvxyII0JQNAkswxuU7BJHXQuuYGOH3H84WSoBgcnZ4Fhw1/Dm5QfA+k5mg0Ko03NdSl1vUnsc9se/7HvgciRtwdQ07rwb7atcWOcezVt67D/5KmugROHiACNg7uKbDTX+/ekvdchl1ztWTDeziKeKXOVyBBElEJOmKll1qvZTNUXt9KPHDcZt+ouLZuoKqZKHgCj46AXLMpJQ4I1OZ6nIPBfmpoMP7Rft2oeNW7sYAq 6d56UqOz EXtc0L+5djeDjkzSNL72FMp0q8bk+AvAyjsTNzdmSaKviX2LDpStUS3GMoabDM+G4CTwcWLXjl9FUtN00L1fxok28I/FjWfp0tW0ma7hx4XPSPrGN8sqNvrubvBvT/AbF842ijkhSKNcqw5ma80DuTnJ+P1OfFkZ3/4mo4SDD7fz0gtoQZmcpEDCzvmeUT5cEll/ZTs2wGzjU0B6kKAoRmWsPMj18qf24ZmdebKFbULEyj9yRe6sOFRKHaLEOXp6gKPQWPOhUBSsa8RlG48snMTruiYPLo6YmkdMDDYRYsTzKc4Tk6/1jGEfW93tJl4cO6wFrMUpBBSQ9vnUmqnMuHvMOpnz0d2weCo97ljWvRqhICrLkMgZxoGIjlFPzG73atJCH/7QLkIBVFUDyT/gukC/788XK+F6jDe9Nbm6EFRd9eyZOUIGXsXXeX8XotfPDDmNGJL/cjMMFilMDsvZyDTpVHUZ24HMl/4vmFYVMAYDAKR71TK8Tt5lOVD4t2WCL9nkvgdpf/49yAdHB5sNsqTxREMo7qvnbhjxLooWjkWI5TOrkr8+dvZjzX1PmoccxXUXtCmFDY1rqhDqT+82ZcGX92RXaRt7Ymhrh/xwFljM9Eou+nXTeVFkmPU7yCIF0/yU4Du67GYDhpnPJtZihbHsVFFWN3QkxbWzFuVvaGbQNO9A3tiNbxxUpCu9iBWzf6ukA4ftC7yGoJ31VA+JKesUqiMXZQJU8bH6XR452Itsmv8okYx3NexJi+/9a6G9ftRyrbIRQUpWmdutEuLJuE8YgJb4jiLGnuazXrYOjrDp4ap4/q7ruZuZ68WTxRgvA07fZbBgWXZKvpp5Sm1y6RhyB2APZPEr0IjfyarS/sQ+0LxNOmjY55liZ34iuegM9bLlJBLgM4dcFlp6qTaNnUHT5uo1X0+yj90gUz5N3/MeYGAqvSI3YdiQIH7ZS83YLF5LIZBCSGRdfNds61ES1RUTFCVL8 vOHyGiAe gl+uKD6beqdEaH6nTrtTAxNOrpJrah4xP/gukcLrwem23t60kL8VtjbRkWxHrquFuniwXm3q5ixtrbpEgPmSEhaurr9KNoWcOtuQtPa5aJCA== 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: vmlinux.o: warning: objtool: intel_idle_s2idle+0x6e: call to __monitor.constprop.0() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_irq+0x8c: call to __monitor.constprop.0() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle+0x73: call to __monitor.constprop.0() leaves .noinstr.text section vmlinux.o: warning: objtool: mwait_idle+0x88: call to clflush() leaves .noinstr.text section Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/include/asm/mwait.h | 12 ++++++------ arch/x86/include/asm/special_insns.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) --- a/arch/x86/include/asm/mwait.h +++ b/arch/x86/include/asm/mwait.h @@ -25,7 +25,7 @@ #define TPAUSE_C01_STATE 1 #define TPAUSE_C02_STATE 0 -static inline void __monitor(const void *eax, unsigned long ecx, +static __always_inline void __monitor(const void *eax, unsigned long ecx, unsigned long edx) { /* "monitor %eax, %ecx, %edx;" */ @@ -33,7 +33,7 @@ static inline void __monitor(const void :: "a" (eax), "c" (ecx), "d"(edx)); } -static inline void __monitorx(const void *eax, unsigned long ecx, +static __always_inline void __monitorx(const void *eax, unsigned long ecx, unsigned long edx) { /* "monitorx %eax, %ecx, %edx;" */ @@ -41,7 +41,7 @@ static inline void __monitorx(const void :: "a" (eax), "c" (ecx), "d"(edx)); } -static inline void __mwait(unsigned long eax, unsigned long ecx) +static __always_inline void __mwait(unsigned long eax, unsigned long ecx) { mds_idle_clear_cpu_buffers(); @@ -76,8 +76,8 @@ static inline void __mwait(unsigned long * EAX (logical) address to monitor * ECX #GP if not zero */ -static inline void __mwaitx(unsigned long eax, unsigned long ebx, - unsigned long ecx) +static __always_inline void __mwaitx(unsigned long eax, unsigned long ebx, + unsigned long ecx) { /* No MDS buffer clear as this is AMD/HYGON only */ @@ -86,7 +86,7 @@ static inline void __mwaitx(unsigned lon :: "a" (eax), "b" (ebx), "c" (ecx)); } -static inline void __sti_mwait(unsigned long eax, unsigned long ecx) +static __always_inline void __sti_mwait(unsigned long eax, unsigned long ecx) { mds_idle_clear_cpu_buffers(); /* "mwait %eax, %ecx;" */ --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -196,7 +196,7 @@ static inline void load_gs_index(unsigne #endif /* CONFIG_PARAVIRT_XXL */ -static inline void clflush(volatile void *__p) +static __always_inline void clflush(volatile void *__p) { asm volatile("clflush %0" : "+m" (*(volatile char __force *)__p)); } From patchwork Thu Jan 12 19:43:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098843 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 54159C61DB3 for ; Thu, 12 Jan 2023 19:58:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EAB8A80023; Thu, 12 Jan 2023 14:57:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DE61F80022; Thu, 12 Jan 2023 14:57:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B4CA380023; Thu, 12 Jan 2023 14:57:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 98E0E80022 for ; Thu, 12 Jan 2023 14:57:52 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 66746AACB8 for ; Thu, 12 Jan 2023 19:57:52 +0000 (UTC) X-FDA: 80347207584.02.C1F7C86 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf05.hostedemail.com (Postfix) with ESMTP id D921A100009 for ; Thu, 12 Jan 2023 19:57:50 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=KkymT6fn; dmarc=none; spf=none (imf05.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=1673553471; 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=VEFTHHrPJN8MUcU5Q+nJT8cn7XDeQYtM8FLMMPm5jQc=; b=eOx9jRtO1KYwt/zeuLkv3oiCOAlBJ3TZ9KTvP9OroNhqYDeh3rOoAzCtlyqzS5/oxPxNjB 9ZzqH7uNPANDKOfAbB8DNkwkvySfGnrcQFaJ92fpKKy4vuNpfhFLsYAHkrBMRoF/Sj+sia 0JbRCNECDoGYVinNx/sQztbfOptzsJQ= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=KkymT6fn; dmarc=none; spf=none (imf05.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=1673553471; a=rsa-sha256; cv=none; b=hkqBeG6F2Cnbnp91/9PsbhZP3x6PtVVCjthQ3hhOAJ+BHZoTsll4H9UX9L9bfnodXTdqFv Zji/7fQv3z7dy7sthR9qmS7civ57TO6lZfWCI2OwSh7sQsFRHJYd9COxECGO7oCiwjj6uR J+QtqKlefA1gv/ZwEgXLUUk+VJFK2uI= 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=VEFTHHrPJN8MUcU5Q+nJT8cn7XDeQYtM8FLMMPm5jQc=; b=KkymT6fnEbdrqizXmWSH2cuOVn jQjLDtcvao8QQM1CDAK23eOtDc3kGN8afBk6jSjfUisCkP/gFLTRKyHuWxXNN647u5J77e9UXxs4t Nxxuk35lQLxa93CmttzHSiwgU7o+eq1l/NDUJPW0u/204PTmRFYkZtbGrRnibXXVYKxBvO5GiUx5C Ls/TdpMiBxMJCS6bvNyUYXqq4XdSVNVmiIEQu6E5gXUs4CphL1YhVZIEKwPAIa9s2+nPr/nrqytbH mC8VuqJNuDqfhjqJCiCzJnptubyVuLBm6bAA/aC0BGih+Kw2mq2OB93VPKPrJHR/xS9q1LgFbp1c/ ElutY9cQ==; 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 1pG3hH-0045pC-1j; Thu, 12 Jan 2023 19:57:38 +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 A0F25303440; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 20F0F2CCF62B3; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.111485720@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:43 +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 29/51] cpuidle,tdx: Make tdx noinstr clean References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: D921A100009 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: ok6hsckhw7rtimd9hmcjmc67mgm4c771 X-HE-Tag: 1673553470-667183 X-HE-Meta: U2FsdGVkX1/dl/ZYLTCGOV3E+GSn1utMXQYKbU0ZvIp6EqphmzB8/F7VLA1i/bJWOVUOFigdG+AvZB23sCNijANEaP7TJFIm7jjEtN5BZnmSvYcPlctqC+2IuH8o7fOgufme742EKfHhTh3lPRNKMBBVDUmpH8zHyzw6sq/jhNLWiWnRp6IAnM9h01KHRoNyZv1GYkHppSpyz2pjqUGuUv7lD3l5xNpFCaQxDLnHdS3yvMtEBJ0CMDo0ErFY4nLWc/kW41vfFn5rNpf/S8sD6x9fCF3E1EjJaJBcNLK2RxrYzLNZL1q52KVvfA6jazXLKk5LgifA9xxUiIpWeKWHW4yHdrNCum7vV7NqzbPHQ9Zl3nw8I0YJoyWSa6tcQs6TI4+UN05GawFCATH1BkFVc7yQbGZKgXhZ59fIhfPXoYHcseitbJ9c6pUapDCbAdUtMaTeRmysgAuZnBXsn+WSY2GsOxvwP1DEuTGb4tWET9pPnEI6t9zgh9qI4d5Qls7VQgoqpA/nPlvWF+/1kn5hqeNP5RNyg2DefgLiHZWCE1ErnWAuJ7aqJgA0JE3XPQ9isclRE/f6jUtK68+jmgbj7oS/qjHRPBUyqGWEkApuK769Y9f+QKkD43yEsAFtrnZ418iLI0gIwKaJ2XtHc0qUW5fZiJhLYBjawlUufIadNr0sCqbPN3ex5GSLGU12Sdjw9exX+ORx6SOpGQbl60zCXuHe7PZPqVGRofbydUMh5XaBovhDvLQm1leOjBUqLQLA6+ke0bxFbe9H0zb1sVSfwJNseH/znOIhBnKFghj6MvuE/P8PB9nH3gplWNo3V0N3uE0fF9BplOkhzpQaYgA8/7zCNrKddVFNNVsmzR508lejkdO1Ap6XI2QRH9pWLI508MASZXuMH8+o9Ycg5+Yfot1WHEyml9BMZiHf19YG0htE36VVSoaSzxOk9c6/W9UC22HDPoBWEuM26kUERq2 PwBz69eO GcnYgBAIGKWm+tfro8RAUdyNiVWG31nKqTtLg5FIoD0VY34viQLM4A1QBr7tZQxK6CpzId/l3b5YAeAJ8oWRWkZN/rAgpvM+/hdq1bgW+1O2qDhyTsHmCCDEq502csqwlnRR97o9KEaRbOT2b6/KdpS1rGlxvyydpLSUEKm7zKs3W0m8OZMVYrwQKGTS16kghGHj/hF4TgDBd9IisSfU47lnja/k09KhGQcrAQG8x3QbnqI/cqammgbS48w/Rt6coZjUhsQQTFkaDN6nw0njr84O9xB6EsFzhglypkzT2UAGpbO1V25tHl7NR6zCISezRzUMMtrefMypTU8zHk7GlOdh21/UozgctxX9i7WYFquRqgu9UXRfhe9xhmV8y4gmFrrrJSxxHl0yp3wasmiG8daw+8+YHNeXj0khtCxEpDjJeXS96H68eYHR2u2sPvgK7dOMkvxcwfgn1QKqRPYZvVKRnodjfrv85ThrZc7dwFitk7AnBwC+NTPO6AvXpx9KGaYfmfqn+iUtyC0qg4CUs0FTBYBxHttVeTXXJk5e1QCQCcYEbSL7LFwLix+bLdflpwBY+3uzto+R/zoJn83LNBukW0cGwL3qMfJntdJSXyefYWGO/AXeKVMI7LvVPy33rXAKRQ2EGTbYRpgdF+mux5cpx9aFojksI1XZ8rrFVWL1UXgA2MTMIlxw6ZGGABBXczuDidUE5WyxP54xNqHexorX+/SEw1BXhe83OdHo/tZ/qlm31ru6Nevo5aRjI8giH5MWL7Y3uzhWIQGZfdKn1uzN2pqaeGocWO/AtxTL/bVuk2XXaX7OoSrJxRowW0gffWfezaZNABKCkzU5xf1akcrwligAAmBdeWoNnX42N2GLmrPIoFs7FEI3e0HUMalsrutDZaalDXrguqPxs8YDXjtHCZeue3bCHwN4G2jycKAllGMT8gAdtVYOPl4SMkIY++6tx7E04CjiKxLrto5SCGqqfGhQt ivvux7zr Ee+RgU1QeZtKR9djYBGinBTFYW7h9LCAkM5kbudF7kRXFkUpO4hjdvYyX5+ib3Gdrsb6V7ich044s8eeYx0El11EQXg+LK9pUjY+DhH9Pixp0bHfwJGAzQQnm0Eb7dwjtVFsG9zLF6//lTtCq1vxqcU5i9WkF0Of+6kS4W/TPA7Py5gg5qrEt+k7Fsb6HPr7xlYItKMOGOi9Lej5MUb1Jh485mQUdyBD6ff6pArNXvG+xJYMKJjjbY9HHdhlsZ6C/VeLYxUzknRmkJ8T95lqgfXNaCVWCG+NAREiQV9IxXKG8PCm4er4saNGVI7FKLn6RNFQ7+Hbe13uUbmG4h2zkeTPehnAZyDpvJPb+GJcbPuLNqCctWSE360z7oY47MuWacIEisCjiszYNIE4ptaW717woKWNYXF0kZq9Npmj+jfTSZ5h+2zLjj3tkfk+BOxu7LcYIl26RbwalrR2Rj56Dzxqtsr7okjbgzWHRWuTmjkOZeFcFTwklJHuA2xEvaCR+KreQ133ET79hoxMszMyOhTG1UXUEUB5HMKyMxeVaxIOzKrhnBD6DoG3cUcYwN7qLKgmS7Vx1aD6VIO/J6NjXpGsecKyBLAAVN1ntVcBSnU9nGLKKpcUHzRHlAJRZRth8ip7TGki8CIfRwOKDHUZX/DiCVrC/ZT1OwzckYfFB2zWorLEQmpK6dV+utvwGtnAMTXq9XsVeIhLPQ1GHRvmkmpRcaNSIy5RTs6GDTlim12xy4jC6IkoHGv3GJqAGCjHL68g7o+icmVoVH2F3SrlOXqygS7+H+3vyQxo7Ih9737+9I3rt7mvxacqHDGYs3APEnHwEpEM1ODzYJ0RQLKXJ5ltnuXPgnOQuwCQ54r4i3bJuojnhhm0s9OUNisG/gbfpHn5HRZrkY1ru6syOPq30gxwfssY9k/FQOhJPEGMI4s9qFDbJu+um+vX5++j5A8p9XPrD666F/JkvfJb+xU2XImLzRh32 cxLEAslx TunKeh5NfMIkQye4SqdjOXUwWUReIXyLAgkunqyU0EwK4QsQA2Y3lE/jCXJ0rJdx7ozw4KCCA3FRwm0F0h5UBV0fOj4KXwgg6N0eyLPo5VBBWBObVOn/dyaM5sYTnGJM5a3s/yRB7eK5WMmUccYhG/ZiXbao1BB6zgGQh8kFeWtZUMqlOlLwbeMR4nnD63f8PZrRE4r81tu7W1SkxNoYVn+T9ScqKE1xUlw75VMFpNkN3PDMu6mVPQPBeHOebTEAeVpAeyzrHwZ22LY4EhZFq7h6kQkHzFkjnCeKnDBmaxyq3YpRD/orOzq8inf0QzkQfqGZz+9092p2hs+gGWMqSeZjU0ptaWekQgSpy4m/WJmrLGghrlSbqX0lFjkI6+VYJHeEkY93yX+bcopWFzSjXbyTcib95oSHgM3EY5un5DoQuUQmyrWEGd5wNn+X/bY3c31y1fHhZcl4b4wyCIpzSnkYvaszt3lJdx+FOuUIRZWTY8lpSIAasyG204OkhO1d6QpsNm20c9DYNkHeu9NjQqr2NCNvnxYtL+8PYxHPm3KrF1nvil3BNwuoazxblMB8YJlsJEj9SLaD8AX5R1fGuyspHzY3ScNfIJcTm1j02v/OPXcwT0ubwlJaMN5hGDvCC4R9yhiJfJQknyk+VFbtrYW9gDFHAhWfZ00xoje6wWmqWrs0t+tAcTjNTOo54K3/Bz0pNoDdxzDy7LnijGmyw108ecn1uWCdoLXcgPN384wf1+/02505lIWTxEn3gbhru0iklw2uKcURw4GulOj2P2RnmkV4Pv0C8cmor4Qk/pgC/HH0Kewyf2tZ3xIDX1UmccHp7yScLjcvr0YMZNSAxJzRU6OvjfNmnrKVGK6AFgmyj6HFp5t2rSBcXgipbNeFSWmC0P5RQxR/VEiDnh8GtCB8g8okjjNuAzbWpK+qu/YkviLifOlr9yZPXHK9oIFObW2sSVHRGDM1A3ofss163+sT5yXrg Og4KLtFj qz1k1TFDUKmcC/Lm7LXChLv1TvfnQpfAiy6B0je49NCWLMkm/OiiOvvpb1PzcPo1nLzPziyCoF8yqVJr0vueCRESIXj9sBtKuLjC31Q5IGbQ== 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: vmlinux.o: warning: objtool: __halt+0x2c: call to hcall_func.constprop.0() leaves .noinstr.text section vmlinux.o: warning: objtool: __halt+0x3f: call to __tdx_hypercall() leaves .noinstr.text section vmlinux.o: warning: objtool: __tdx_hypercall+0x66: call to __tdx_hypercall_failed() leaves .noinstr.text section Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/boot/compressed/vmlinux.lds.S | 1 + arch/x86/coco/tdx/tdcall.S | 2 ++ arch/x86/coco/tdx/tdx.c | 5 +++-- 3 files changed, 6 insertions(+), 2 deletions(-) --- a/arch/x86/boot/compressed/vmlinux.lds.S +++ b/arch/x86/boot/compressed/vmlinux.lds.S @@ -34,6 +34,7 @@ SECTIONS _text = .; /* Text */ *(.text) *(.text.*) + *(.noinstr.text) _etext = . ; } .rodata : { --- a/arch/x86/coco/tdx/tdcall.S +++ b/arch/x86/coco/tdx/tdcall.S @@ -31,6 +31,8 @@ TDX_R12 | TDX_R13 | \ TDX_R14 | TDX_R15 ) +.section .noinstr.text, "ax" + /* * __tdx_module_call() - Used by TDX guests to request services from * the TDX module (does not include VMM services) using TDCALL instruction. --- a/arch/x86/coco/tdx/tdx.c +++ b/arch/x86/coco/tdx/tdx.c @@ -53,8 +53,9 @@ static inline u64 _tdx_hypercall(u64 fn, } /* Called from __tdx_hypercall() for unrecoverable failure */ -void __tdx_hypercall_failed(void) +noinstr void __tdx_hypercall_failed(void) { + instrumentation_begin(); panic("TDVMCALL failed. TDX module bug?"); } @@ -64,7 +65,7 @@ void __tdx_hypercall_failed(void) * Reusing the KVM EXIT_REASON macros makes it easier to connect the host and * guest sides of these calls. */ -static u64 hcall_func(u64 exit_reason) +static __always_inline u64 hcall_func(u64 exit_reason) { return exit_reason; } From patchwork Thu Jan 12 19:43:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099348 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 9CBB6C63797 for ; Thu, 12 Jan 2023 20:15:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2DB558E0006; Thu, 12 Jan 2023 15:15:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 265988E0001; Thu, 12 Jan 2023 15:15:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 01B448E0006; Thu, 12 Jan 2023 15:15:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id E576B8E0001 for ; Thu, 12 Jan 2023 15:15:10 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 9931740E46 for ; Thu, 12 Jan 2023 20:15:10 +0000 (UTC) X-FDA: 80347251180.24.76B680B Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf01.hostedemail.com (Postfix) with ESMTP id AD52140008 for ; Thu, 12 Jan 2023 20:15:08 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=tvBa36On; spf=none (imf01.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=1673554508; 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=el0CIt1mM51BvZPcHKbhuF9lp1fNYUjgpLSAPy3Ccmg=; b=HG8VRoRM4087x+vyGmQA36e7Xn4YXVLRJBM8OnI30DIbuBRlLv7QO7tQRZx16ewegSXVDu luFjy9ahJTdZFcNNKtHL6D44Tk6vIXcEmp1V6IuMPszFd8h8rLPCPQ7zNP0QjR53+3fiCA fr5jmAcxvjk6Q/Bcrmi5XWN2nTBDZV8= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=tvBa36On; spf=none (imf01.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=1673554508; a=rsa-sha256; cv=none; b=D5KQS4fcxOXvKLlYuVfSODT5M3UjUdJ/mtdsouImGip1KAx0mQcg7+2Dgya0frqiyMMPj9 frsGKRUx+cZOMkslpIc27ITKV4U8oyTNXWXPN7sy0gJDmBLXo9pqPaJoGlfM3O/+4euUcQ KG2LHwaI9MBfnZv1W9NTHdAuJtN/HVE= 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=el0CIt1mM51BvZPcHKbhuF9lp1fNYUjgpLSAPy3Ccmg=; b=tvBa36On1tgPpOho7ahgpRDeA7 VD3Q9HQ4f3Ej4oPbH9YxtMDqs5HyC7lkDZn5vZGB8d3WSo7Z1P9FBFIVms0pz6CgWqRMwrRb15Bsd lcLK8h29qqcDlNe6qJc92nfUkYJF7ntrSRabmmAT0/kBKe4lowjWasVtTUzitfMJgum2PFTCW7aib lFuw51y9ho3hcp236ghfxyTUTs/4QMwB9E3vY+71ARt47IMDlRnGyVA8rTrEzFDXZ7wxABkQRw7/I LNpFhK1ipzOKKwI7x97Ns9z0W+cf/xTT0i7yl5EA14WEDj8/hFqG3cHumvt8KUylgEvg9o+NcZc6z iBVAM65A==; 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 1pG3hc-005Oen-Qk; Thu, 12 Jan 2023 19:57:32 +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 AD27A303443; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 24C2C2CCF62B5; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.171918174@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:44 +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 30/51] cpuidle,xenpv: Make more PARAVIRT_XXL noinstr clean References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: o86fj6e8cd8dp536y5yn4ffwquq8wgqn X-Rspam-User: X-Rspamd-Queue-Id: AD52140008 X-Rspamd-Server: rspam06 X-HE-Tag: 1673554508-385242 X-HE-Meta: U2FsdGVkX18GJo1l74gzlbFkDHFnVVo/A3gvJFuGco6ubG5+cZ2+wOYMo8pQ9xGfbzqFAnqqgBv68YX20cYR4BxWNw1Oecm/Kxc6sSUC78Dwslrar1a50LWyZBZtT5gPyEFGx9H2ogSRlZdafgsjilPBrJiq+ybP+DsSJS6cTPzI5o6+mQdAAse3pjugvzY26x+Kzbh3xuGKCvKu6zswliOc99/XZCI6VDgppWvELT5ZjZyZVkI161G8ERa+HnhZaW8chN/jkFISGpFd3KSFZjoOl73lR/gVJEd41sNm7U1NIBVqLwczgQbdXctlhEwtVFZE3BsZpHxhL541HNOMvHZP7GMLqTQrWPEqai1dRFDyHRatK/GNGh/HN32ZmAKUTK0TM7xFCRUYsHRbzKcVjt7R8EjtMT1MpY8yF+h89DYCZbuisvUR9zs5/X7jCytSgM0IXJOyz0B21moz/b5hQsBHtzPoEgxbvtzJMmupa6KIUN5Kvk4ZNmgE3SODYxDz+kQqDiB0eAGZ5/AYUPf+L3l9hV+ajWtmE9NBAlVuSPNFAxlmWS6xh85r2m8kxWLS+8FCby7+dDQPTtD36Mj1eYD2EYhJ17GOlePtKYJp41qYQf1Ciw+9LzdqqG6iNsY6MEIr3VT0pFs9B7I6rT4t7WJmCmC00/Qt3nuJutGjQ0er23n/fP8LAfR3QYAmgAFUBXo8mLKy5OfV9Y4SS5yx2k+nRAdVoAqIvprUV8wcAvFe7s45RqcjGRQZxPLcNGN04mVmd/P2DeFQI+UW6KS4rBfTQ1I46It00IiG0wG9fNynwWryxXo4CTjSHjpF7DZEB1zISji7iLlHqqyNxYAZZUEUqfEmBkNqJEm+Gp3ytu/2+aq47P7hZwXLF6yApqbNsQZ7+QoW4DFRb88FveHfZ+tOCJ4UeozsHno51WXvUkIm1psvLHg4GLvXMnw3bEFSAZWdOM4qH3YKlkxNJQX t2YRPTaN OfJ5MgqKB73iw53OzTxfazJYWu4LylqIcyGvAedAktu+Y1+++0KhCijVjavoGY9CoXLjoXb7XrQ/f25KzBrBInLEOyDkMr7XV1ZO5Z+sh8+9qR/Ldy+KEwP96fABmQtVYCgeii1MTz6GfTilKijtfu2SyMN88NJrN3/WcJtJY29K35cStgKG68gNUBspQTwb/F9+GzAqx0ohUHkCi71MzkUVyzjlK+I3FsII3yFJtG8h/r6ut4TVdePZIVnsJrWfnvUk5O2aR2LYIMe2klrFNIcALdNqeWrA90o2rkSZA45N+VNs+x6QY4jKQTttTw/VpkX5pF5xO7zWFgnxIR7qaHr9gQazmUPIgDJNz/tfJiNiUoqiyRcWZV89t5ROGSzNHOOaDA6jmugRWf96C7VqQXME74cJ4ljqChwFp2ko8Ljnv/a5HMgHVJ1V2maCTnk1GLZnxG/fzPberUdxbDDvm30+ow3IrOioALnksc8sEk+9P8lVDu0LFi5PsOhWSC94AehxNLDUkwyC4rC47PWQVXoYUriWhInoE+GzsXfzadsaa+XAoKE/mG+DuNQ+eaPy0+OsgZToAlHptkWS/EnWhOcg+hYTMgKVB0SG7BULp+Q739a8qvtHzCHYqBbYqmctQ8tjVHyC2LNb1Z75zqszzagRJe8tpu9zJIJ5ldc3H2pzxWy53FpU7t6QiWgLDD+wDxPBHEVQmIs2uoz2bYXfm6EjaGpxArhXrzAmgokxC4aAYW6h+vmqyzsjpzqDm0MrfteLSdPEQyRBxPA2w1ZXHwcZGaRhnAEA2P+OwXpNEhL4XBpolF0gl9wfhSu6t07wIxEzkCADGgzOsk2nAynVoGVUbtHDslW1LIJ019cFhZa+uFnLF34v9laqnAxXDqCbqkRtcENPyTylSukDBDPNm1Tq4Pkrhet3cb6m/a63g9d9ad0KWjsUheWCMnyHNoeLtHzB7WF19D+Eml0NKD2FDlZX9zdZM YHpvOCkk 8VWJsRGXWtx9uQ46MQAv4Xy4GRkxnGH3zUyypwH/3EXJTx/ryO3tQkLyg1rmpxOXjm2Egv8WnlcvTsx0ZfCSpIoAothtArnYJBUsLANLTbhOyoJGpE2uDur7ujNPPDgvQXhfClkX5mYFN+3dKOhTooYLymuCY8RtyXoCowT5PV0/Gcwmai2Ixm/F5CfLuJcaP3DyNvgR2+bUtE1Q2CLtcNSLveuakLPPg8rUOvSSWe8AkYwCTNWmqQBPeHpTn0ZD3bh/2t6fnsBbOUpdCXrjhNml/YuNAZ8QELDFx8DkPbRkcM0SQNZMf8Icx2PWwuiZqcB6DC2i2mA7RFJ2/XshKUmhuSTOctZq8/1iZ9qrMG5Xu4BalqHB1C+hqHMRyX7WwTwfxLjM15mGRsx/0Rhpl81/XNar9LYGtrGw0062De5AKt57X2/exkYZ4YDF7t3MQ/8gpYBi8HsPaTjrwWh9zAuFhPYVj3gurcU/Ud8rpTI8nlLivagLV0GI37ZuZ7JBrYwVn3HBQYfo0qMSJYfIPYR+bEMa9nSWOtKZoRTCMzHr9Mndd0I5YnpCOQ10HNSkFOGFP2YZrqy2VE+7sNKWnB7mwfN68V+32sry+0rTeMN6xVbHrPleh1FGIRyePTubdvXgJf9N2efO/DP/9Rck5jEq/UMdpRr3yp6n+bEzna+Ga+gW3reP9AH37BRHc4CecrFAVRNTKb85pQL/OeGTwwoIA6deomcpxJ+cVtU7b0ICk0qNen2txrG+mcXDaIXkoj40CSe6OniWasP4hwrMbIWnQM6Etw5JMt6rTbRqnLgEJ+AbhToikCcEKZ69LCu9BDB8yiOpspunHgaIUfot1pfHWBY4QUgnveHra8usfTfPKzpaoDYUPMTmw6Tj4vpaTGTgpJRGtxF1z9bJ7EaPnrj5LUfHOHAEPld4vidb4a8ymTirjXNMQNL7MHW0nGJjrYz6nyMlwRIyNgAQhU80L35JzC+j9 tUcO2Aqk rb4B0vdPhB+aFixsHNwA4mkC/hnPM+92OE1Pby9hZxNu7PlnfHqh5w1DtOc/Ez0M0f59yuJixsDyHvrUw1rto5xWy2euxGfEvgmWjEOvoLtJzEHUgrtPs/OumV5eDe19HOmOY4XGnqvrR4BqHvXRoq3IlVCin0LdIYeSDRmrP/PurWitZfc5o8dJi2BkuTKdlfqqgC8/QYS/4RgEC5UCeKL8o3iaUgSo9D3mRjgqXt7I5WOWQGYrXzFtAvLGM+vtEPnHxyW3OteMm6lIoWtbBUsO5LM1JeLNxKYgfHCSIsQGgC1UR6C4Sr+V8be27HmM2L/4lU12ouzsHf0tCzCKdEIRDtYS8U1ZAhEdxpcn18gDvPOcXl9H5FGcuADan+ubWgpfE61b5o3W1Ywfk6WEH0nrq7C2ET8qRR3urW3Ev5UxmmVfgwsEG6ghoCEZmk6NvrEN7i9iBh2rzoBUtf9LQqQvsuAA0KWwD2dr7fkT/vqB0sq08pl8nEJaffsuKtC8kUi4nDZJ7jxNZ15SdX3v4tYm9wSokgci0y6HLiStdh+yeEWiZO1gpPybPAaFHWj4QhuimJIzylvz2/X78dJy/dqKdH47QcbGeYhMwyw5EmKUSXiosXhX0AOrhOeBmkdxSO4y1wds1Kv259zmU4cH725UzTGrXeRDkGRUlXmXsvncRRZSGP5gukoY29c6XL84E3rixKpLfMVahiclFJz07zf9u2A8XmpAHGoTgWAiHEtWhZoW2GF5olwa7K/MMLX0U1JwsHnXjmL1rgvV90Hr0nFYLaerOzY3YMRDhb/s++83XZWxj1dGeT0rxVJq+SxBCpnf1/RjatislFa1SUVujAVhUKHH4E5SvYuxrI9S6xvCUYmdOJqXa8rPMjN1HBlV61GFFbyRHDPjtNWgLKItmcSsukQmo4qkUTfVmUt81v/NZGLMYYpjfPTet3w4GJ4rtF3/OyIc/8xp+vmLfMOwFDvQbTZq9 chDvaz4B J1IEtYSO8pZSKCIj3dV+LyWMrITJ4vVV7zQ1/eKYA5npge3APm3BUxV08zNzOFuMC9btcqxwRXA+IAiSGUQ3UEdysXGwy1eT64dQZ2klWOtwTe7Z8fLIVN/vnrivwN80ArDb4e6Q3lP2Q86UZUlICC 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: vmlinux.o: warning: objtool: acpi_idle_enter_s2idle+0xde: call to wbinvd() leaves .noinstr.text section vmlinux.o: warning: objtool: default_idle+0x4: call to arch_safe_halt() leaves .noinstr.text section vmlinux.o: warning: objtool: xen_safe_halt+0xa: call to HYPERVISOR_sched_op.constprop.0() leaves .noinstr.text section Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Srivatsa S. Bhat (VMware) Reviewed-by: Juergen Gross Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/include/asm/paravirt.h | 6 ++++-- arch/x86/include/asm/special_insns.h | 4 ++-- arch/x86/include/asm/xen/hypercall.h | 2 +- arch/x86/kernel/paravirt.c | 14 ++++++++++++-- arch/x86/xen/enlighten_pv.c | 2 +- arch/x86/xen/irq.c | 2 +- 6 files changed, 21 insertions(+), 9 deletions(-) --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h @@ -168,7 +168,7 @@ static inline void __write_cr4(unsigned PVOP_VCALL1(cpu.write_cr4, x); } -static inline void arch_safe_halt(void) +static __always_inline void arch_safe_halt(void) { PVOP_VCALL0(irq.safe_halt); } @@ -178,7 +178,9 @@ static inline void halt(void) PVOP_VCALL0(irq.halt); } -static inline void wbinvd(void) +extern noinstr void pv_native_wbinvd(void); + +static __always_inline void wbinvd(void) { PVOP_ALT_VCALL0(cpu.wbinvd, "wbinvd", ALT_NOT(X86_FEATURE_XENPV)); } --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -115,7 +115,7 @@ static inline void wrpkru(u32 pkru) } #endif -static inline void native_wbinvd(void) +static __always_inline void native_wbinvd(void) { asm volatile("wbinvd": : :"memory"); } @@ -179,7 +179,7 @@ static inline void __write_cr4(unsigned native_write_cr4(x); } -static inline void wbinvd(void) +static __always_inline void wbinvd(void) { native_wbinvd(); } --- a/arch/x86/include/asm/xen/hypercall.h +++ b/arch/x86/include/asm/xen/hypercall.h @@ -382,7 +382,7 @@ MULTI_stack_switch(struct multicall_entr } #endif -static inline int +static __always_inline int HYPERVISOR_sched_op(int cmd, void *arg) { return _hypercall2(int, sched_op, cmd, arg); --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c @@ -233,6 +233,11 @@ static noinstr void pv_native_set_debugr native_set_debugreg(regno, val); } +noinstr void pv_native_wbinvd(void) +{ + native_wbinvd(); +} + static noinstr void pv_native_irq_enable(void) { native_irq_enable(); @@ -242,6 +247,11 @@ static noinstr void pv_native_irq_disabl { native_irq_disable(); } + +static noinstr void pv_native_safe_halt(void) +{ + native_safe_halt(); +} #endif enum paravirt_lazy_mode paravirt_get_lazy_mode(void) @@ -273,7 +283,7 @@ struct paravirt_patch_template pv_ops = .cpu.read_cr0 = native_read_cr0, .cpu.write_cr0 = native_write_cr0, .cpu.write_cr4 = native_write_cr4, - .cpu.wbinvd = native_wbinvd, + .cpu.wbinvd = pv_native_wbinvd, .cpu.read_msr = native_read_msr, .cpu.write_msr = native_write_msr, .cpu.read_msr_safe = native_read_msr_safe, @@ -307,7 +317,7 @@ struct paravirt_patch_template pv_ops = .irq.save_fl = __PV_IS_CALLEE_SAVE(native_save_fl), .irq.irq_disable = __PV_IS_CALLEE_SAVE(pv_native_irq_disable), .irq.irq_enable = __PV_IS_CALLEE_SAVE(pv_native_irq_enable), - .irq.safe_halt = native_safe_halt, + .irq.safe_halt = pv_native_safe_halt, .irq.halt = native_halt, #endif /* CONFIG_PARAVIRT_XXL */ --- a/arch/x86/xen/enlighten_pv.c +++ b/arch/x86/xen/enlighten_pv.c @@ -1019,7 +1019,7 @@ static const typeof(pv_ops) xen_cpu_ops .write_cr4 = xen_write_cr4, - .wbinvd = native_wbinvd, + .wbinvd = pv_native_wbinvd, .read_msr = xen_read_msr, .write_msr = xen_write_msr, --- a/arch/x86/xen/irq.c +++ b/arch/x86/xen/irq.c @@ -24,7 +24,7 @@ noinstr void xen_force_evtchn_callback(v (void)HYPERVISOR_xen_version(0, NULL); } -static void xen_safe_halt(void) +static noinstr void xen_safe_halt(void) { /* Blocking includes an implicit local_irq_enable(). */ if (HYPERVISOR_sched_op(SCHEDOP_block, NULL) != 0) From patchwork Thu Jan 12 19:43:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098774 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 A5468C678D8 for ; Thu, 12 Jan 2023 19:58:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3AF9480011; Thu, 12 Jan 2023 14:57:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 35FF280014; Thu, 12 Jan 2023 14:57:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D773A80011; Thu, 12 Jan 2023 14:57:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9972C80014 for ; Thu, 12 Jan 2023 14:57:35 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 72264A0DF1 for ; Thu, 12 Jan 2023 19:57:35 +0000 (UTC) X-FDA: 80347206870.05.0DD95D2 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf11.hostedemail.com (Postfix) with ESMTP id 8E2D740008 for ; Thu, 12 Jan 2023 19:57:33 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=WVuIFhrj; spf=none (imf11.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553453; 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=US/ew+5Vik6jGnrGGiz1QKoghqD4+Lgz+zGR8hxwH/s=; b=is7Obf/93QXQhm29d1chfZjyjxa1yiZUsOZD/7ZLJwgX2V8h/LnAEW6VwoEPlp67jwsmVp yq0Pz5HS5cz/JAK32adozkjv4g4BJKDoU1dDUstl0LJSRfPN+cijGD9hM97BTCo5fUv/QD PA7J2LQDznZt+kQmQr7msNHRWnYOWTI= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=WVuIFhrj; spf=none (imf11.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553453; a=rsa-sha256; cv=none; b=pMIHY38WU2WDlGmhf4w5yormUZQ78dYUTeQik5Wt/tv/SIIF14JyBZ/i4oWkxRFYkCfLp4 N2HmynKbV67G2PscbUPrZBiYKhLOXdzzLxMnh7mhQhClbrQNcFqDRbRGp5VJTfi/KLmvXr YKnQ0xn77RSXjaNeIJFheF3pTQiBlck= 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=US/ew+5Vik6jGnrGGiz1QKoghqD4+Lgz+zGR8hxwH/s=; b=WVuIFhrj78QG37MwfM8cwsGLW2 6RIQ2dKuiBYGWybloHLp61YaKj0cdn/+fLnH2q0WBRmwtWG3yFLWrnccqDo7As6Ov+J9nISGa2R5A xzyVRpltpBTMUkFNRLUgPKwxWYfzryyd1cFJPVVp4kqW5FroibddKersX+5xp1NAN0mX2n/IX8uo5 u3jIptEd8I2RoyVn4KMqbm+bH70AJzyzt5X9Z33H0C0Ne5yJWRvX5w2XDeRGpi6wP1+0NwsgdfANb Qs0TXnigQ3IWTW5HruR9gzoAZACuq68YDeONfYzScB1OF3/BKUWdpvZ2B5iPfLpEFiGMDiOvz9iPi Ew4yKZpQ==; 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 1pG3hH-0045pK-38; Thu, 12 Jan 2023 19:57:14 +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 B61D2303449; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 2953C2CCF62B7; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.233779815@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:45 +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 31/51] cpuidle,nospec: Make noinstr clean References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: 1cebgarmrwdp33c8ps5c5qdywj7pq76j X-Rspamd-Queue-Id: 8E2D740008 X-HE-Tag: 1673553453-440712 X-HE-Meta: U2FsdGVkX19Txb3uFyd9S/761CUcs972U2DO7gyv6WfYJslXCJAIJxdmAusrbMbybypf0669fDSE/pKRy4YmDjD8+go3L06JiLYvWB8mxjkQE++fvhEX/Ja3GGCG40PjxRs+bca/j0RsRMdvJbq5TxNUU7C+RmwJ5D5S+AggFd3QMJTPxfURCnhCN1opaQxSU5Cp7qEhYwqpLpg3slxq+kpT4wzRt7OUtV87TARuKb8rgOK7wUw+oTmwadAGnVwWuEr9PhYQytYZK4teUWZQXBoWKzERfJxw57kRIYbG4Ev02Cgm5Qvk2N0oeLLoxwLfLWtvdmZ2BOZSuGTNIdnhRS7oXYOIhz2DRvdQFzO0FT/QF6DcMAM/bg9GhCX3XYAykRe+uEXsloeovpSuezKGBuljmyDdAyVQyev1xxXB+RBTVt77SO6laiCr0M+uzYZAfuF8DpAjCx8uyQT/9SMMeVAurp5hzR6LRhV//sBRz4uG6InRNQ9pZGYvFko47vXcBBj59srbQlES+ZSTnrLab9O15MdLzGZXyCNFWnB30xk9haNNiliOgzSX4G4DxYsS1MV9x4Ux7w5EAeW4f509SGKVQR0Ur7mpPcqp0Z4KDRCX6A5qBi6SpfMILBc99NEvBGsmdU4TXkmRixpazyTWHaUgML49lRAEZn1AUhCdOSOyGMEJ+bi3dqDdpzIbuQvTIfM7iLTzVqU4MY2Dpbx8/o7zmR49yHGvflL46zZwgyCPaBo7XDxUTmYQ2s0d9AtZEO1A74pNEPKE8OK2zpnjej5XZhpPJ8ukV2V3B7YWKEa3O6A0wWoX/oC+POZVNaoHbT1FuR4r79jhmdDGnIA8E1CFnnluUhhfwUq6waeELkUWndytBOyW3G233g1NP/89+C6UztlJ6XWV+evL7f081KRLA9KiyQ1MH5aqRScKY/pkkAEQMI2HNPAstgJM9wFMoYWn943hIYoH8x6zHwe vm1PRnte Qsl59X9dVQHDSWaLtSO+R9+tIubsWoqXHR8eSIpp4w5C8fNYaZvsCXEr8uulK7iKwznMivzgNUVBSfWQl/607ho92rCN/hwaKTYwG+sgoR1Q6KnJ/ETrHJ/Ao5roL0UoQSFsCdLjEHtqkBilF7mdJ+89aTi++PeJ6KoQcWkK+ZY0+rXV46buDQ3UxcW01lobTEb1TNGuYgZWdH/C3RxZYKGmxYCtFy2LrzgWcTHMVBxGBdei62i1fzK0Tupay5JURiP+lUOXIltWkK2vYwxspkgzbmKXWZbKQYhRnz+FtBCyfHpVf0QB9mrakcZkD88rfCM3cUxWlpBQ1I0a9Dze5LcG9cSMj1wSY8gJM9HNE3B7JXPpMVgaxlvYoqzcqIOm//oA4cDtMPZluWKnBLwABzsLyU0Kb1bBeecPTeT9KqVfexrL0XbOE67ObFsQA/BOC+i2P/RdZ4z/4VyZRL7yiyiCxYchDr5TS5SCm3eLM8Vu5WlVqf0c8bAo2s87RgEceYQqW3OGeqk6Sx2+2pJMxnb0IoKoam1a4Vh5UsPzFHXhaFsmeoOZqvcufuwXOv7HC5xp6WRD3jmd61dPMndite3gc0bGpr47L/O3bDhcIgsDk+4wEa1jfNYKXxGlIni2Wz0iY7LV5agNe7jW9DjZNhhR5j+PzQbG5BEZVpJqhkhr7FsAMgL7uDwKjmSpim38wEGH7ycyfmdLXxf6Q56uhm3oGC7z5NvV02wB9RwcoJIq9w29mnQe4XtdvvbWFu+oD9vvqrlVQwlJVNFiUUC+r6F3R8uzZEkFwwuKiN7x1HvN70vf+dczkgz0d8reoM2mUY694ItymJf3Tyt8sPKmJckUvcvgC5JWqzpA3ySCKL8N+dSDdHyx7DLK48sryz9+UPzW+PQbfaswdYhugke8b9s1JDcd2s84BAqatVo7UYLkJWW5kvpL1n6Dinoz0d6fyz3+veEF2Icq0JTjrdcH3GSYAHgeh Wk7MsdOU NO2iT9Ue3ooHju2nQwRVzkTanb8KaOEE0GIHvtkAzVEaoXwN45JSUbCr7USgUBkWZvgqkJ2cbq8SV5hLD2HMB0ExkgaktTyfSBghvRq9j4fkhD/a1SRMmmTIlCi9NUwI3XOmBafsoT6HzoWrDKYLqYsJpTGiKgg6nJBcSRV5fnAkqiJzfRFGXD79vHjXrLoEedegehkoNb2lYruQP3DlulYyGV2IjB4QwOJfV/GE7tyJ7i8ratAMlDpcHXgzwULvI6km/JrNxev3OVO+7ZW/zr4zoZMhNES4vKUsten/0dCxBRBvM9X+qbG14TtXYBoJPRGOsr2bdkD12Zj8j4nvbm+/UvupWEbib3KjvUdv9FWmp7D4WzioJ4JClk1gItXlh1Tak/hDrBgNrPS9d3vAuFVwOyUHBMQY4GIj0TfqT1vYXuCAxNpGGke8CMvOLV0vnLNtdLFcE4VPA/XExDQB13LN9aLuFF+9/ixqHfYzsx/Xt4dpSG1MeHEp/ZqWWF/wqdZ9N87U3YnzgTxpbUeLSbiYfJADtSgvrjie4zva0sb4Bq1zec0vBS0h0Y+VnlYz7/552HmKT2l+bIQl4Yx6uPQhLkfGvWl7Y49rYwD0Pquc0GcXku4rtGLIebAEY9RmFgKksd3+gORkNFkYQodEkWQlZYmIm2PmQ2bQZwC8OUyTI7TNtdbSoBromHZQbTZPSMNFsX7tt1UQMo0fCkTskDzo31cCarv3GhIWz6d4Fh/LXiO+jBpEUMpViCrf2chRkEFYrx4HpgNC5fe/Ib7uSSlILnaMRWTqodRkvxuw7R486TiWe6w/5L0AGafleRomCuXV0Vp/5SaXNoGAbqLGBDYkUhFVulZfkGyv8dwVYSWCS0g2MALK2am4qJ6RftrhjrEeBH/eonSAJD7CCzbIGeWaAAl2E6gZDnEcJoJo6g8Z1KY7nj5rOFahfMQcQh+Bg770+4mUdr93fWJLbT2fL6gFEE8Rd ONqS05o2 zO0toe57Y+to8S68AFkXrayoG7LlAYpgZaIUvhviBqBelEsvC8LnPOh2xsQHFHULN1BXh3MViobGaXNvpEHvX68P+qwjE9xAyc6Lf8LUzdDvtfn9PYGOzCrdhsTpl3k28CZvcEQWNew3iT6UvLqMUvWHEF+QRA/sq893OXxNgKjMvYB6Jx+gJUxI3tl5Ju/8i1m0+MwTToVWjTlO+loGzswda1cWSRKNSNdXvuQ1eR5MiezYiSGUkQHaIr8/REynRU1y44uFWYy/nABiXXikZI2y9J1UvWFZGvf9AuaUbTg0/pY3Zp1r9ehU2QJBDGJ1CzgDC/l6/l3Zx+QGOo1M1HiNadDsTHQ4RPWloOhTUDFXomcWDIgzCW10Im4EnYwkQmQsSR5C6iveGbfqOWWaDV0TuOxIzUjbQysOOi28vc0skYyDhjwZHHXHSqIorreEuyCZIY22Zf/WPY2t7zPmDq9mOHzKm9GqqI3SZT2t0gdeXLA6V53h8wTAaHa43Yr/s7kQaoCnu0ZBCan+K1w82kWR5Lk3dVKHfThHOBMUHj/35u660ly2Obcp8dmsy7YSKiwkFqpcNzDmfJEVRlFOBXi+A+bAJs5JHEZXN/jurzPHR0sOxehrsv1JfE5mZkUr2jn9yDayY/Y9ZMhWe3IUzM9ZTjiddPGyG/X8msmyovnXfXKy2KmbzesqMGF/okX3oRwdca+sONMjiBoR5VYF4U6llGtHeEKLWD5tiTFV3X0n229F48JscDj+r5TvVM3/pxgTFhQfhh/ayEXCP5YXRTxw8W/BLaoPofTS2K1nVhPV3iSRz3elNm/RQuO25PEzSvc1OIU6Rv9P8+9TxqFfYuLBIa3+uLs71R5U3YV8EeTVLMUMxpjAZGKszwHFPLQZ22H+a+iODXjeLaWDF0SRmba5ZGHUXXDxUQ+XM+dbV/L91wFKZiHhOMRikEOgmSd5/d8wdEf90+s4rwum4r4e0PFRxXxNI dpthW78Y IDL2L2gOa1der+egz1EwPnKaP2nwxhVeUw9KBKRhFSk+qnrl/qMrendPAvWAp9PAmI8OD7f+qlu6oNNJOD/bNC7aw4hN1Hxezn025XnJGTwQ== 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: vmlinux.o: warning: objtool: mwait_idle+0x47: call to mds_idle_clear_cpu_buffers() leaves .noinstr.text section vmlinux.o: warning: objtool: acpi_processor_ffh_cstate_enter+0xa2: call to mds_idle_clear_cpu_buffers() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle+0x91: call to mds_idle_clear_cpu_buffers() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_s2idle+0x8c: call to mds_idle_clear_cpu_buffers() leaves .noinstr.text section vmlinux.o: warning: objtool: intel_idle_irq+0xaa: call to mds_idle_clear_cpu_buffers() leaves .noinstr.text section Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/include/asm/nospec-branch.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/x86/include/asm/nospec-branch.h +++ b/arch/x86/include/asm/nospec-branch.h @@ -310,7 +310,7 @@ static __always_inline void mds_user_cle * * Clear CPU buffers if the corresponding static key is enabled */ -static inline void mds_idle_clear_cpu_buffers(void) +static __always_inline void mds_idle_clear_cpu_buffers(void) { if (static_branch_likely(&mds_idle_clear)) mds_clear_cpu_buffers(); From patchwork Thu Jan 12 19:43:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099347 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 72AA6C54EBE for ; Thu, 12 Jan 2023 20:15:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E2EE8E0005; Thu, 12 Jan 2023 15:15:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 06BFB8E0001; Thu, 12 Jan 2023 15:15:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D62098E0005; Thu, 12 Jan 2023 15:15:08 -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 BECE78E0001 for ; Thu, 12 Jan 2023 15:15:08 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 8CA0C120DEB for ; Thu, 12 Jan 2023 20:15:08 +0000 (UTC) X-FDA: 80347251096.10.C38F1EC Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf01.hostedemail.com (Postfix) with ESMTP id C07F440017 for ; Thu, 12 Jan 2023 20:15:06 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=lU+pE8XR; spf=none (imf01.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=1673554507; 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=DVmthOBTi8Yd+1hoz4bpY0hqbVL72Y+E2XHDdN1zqxc=; b=1KIeIM789OlPToe8+xPrborLY+itrQW9ok/uW65iVwt4X75wYcZtf6xP9oAfjTdTmJGNV1 1djbb+9jzP2N5A4qjHXWERfSR7B1ybOanZJjrsusL7nFEFh4427LdEX9cGFLBBiuKoo+Bn Lw/bsMBldh3NHHCx0bgwmLxZeOPQFCQ= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=lU+pE8XR; spf=none (imf01.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=1673554507; a=rsa-sha256; cv=none; b=me2NJsM+qd38vcnzjBuOjWGIaayo6nLfX+pNYSIOcxCwoWkAL+0koYKStx6hcJ5LhheBF+ p/7ak0Rqs5kpO4M2Z5+drEJQaxyQ85X34smOdFrGnit+EhzNdr08U5ChaCCiBdq1uT/mDT IwuJqzucPenlIIMG955tdPx2Dv+m0q8= 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=DVmthOBTi8Yd+1hoz4bpY0hqbVL72Y+E2XHDdN1zqxc=; b=lU+pE8XRxUW4+CC8OuM7xeVx/M 53AZChJydAaQiNNNgWeQoTlIIugCKq8amTsHlJecasU3dF9bLGhfr0XD7p0zfc1xhqPVI6iQEDfqX qXF+EpD9Bp4SVnDyAwq5dbL9yLZztXpLXKAoIh2CWTXdxqClmYRsHpA8pyl5FRdBgommZULZLIE56 PjEu9hkifrrqxkSQ/X13tLWCHGM51XCgnnXTbVlw1+fjNdVPnZOIYRsxn6+jcprBZ1YbkjynCuAGB phuV4qtrZKPyDS35nlAPD+Rz3SJqOYDompFJbF1wWA90cXW8tptoQc6+aDjXQIUUftFrnUPYliwFp nHblH0EQ==; 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 1pG3hd-005Ofl-Eu; Thu, 12 Jan 2023 19:57:33 +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 B80A430344D; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 2D82F2CCF62B9; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.294846301@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:46 +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 32/51] cpuidle,acpi: Make noinstr clean References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: s3ha16qomtifrangjjnt85iwtxis6tkw X-Rspam-User: X-Rspamd-Queue-Id: C07F440017 X-Rspamd-Server: rspam06 X-HE-Tag: 1673554506-711568 X-HE-Meta: U2FsdGVkX1/QMusY/deq41gi2YUW+NoVCmp8YRw8+rt2bL6qh0djFotMJTrG0oTQPeThS1KDCjBzC4fedXrwBkhW4EAP95X+CV0+AG3gRvh9fVeVePCTdpu0PSREUuJzb8rVzV2h93FrXxYwx+8mYcfWGMMZ8w2Krs9lny6xXNDzItZZznt42J97d+bPzsdwaTRt/ODKRQFFVIkmhJZuLR8c3swaGPonnXfkbFzJupIQ6FE7P1ze2mo7kMx9MT1LjDZmvwJ5ZPL+Xi0+qe1tSf6DwiBbZ5+kY8g5b6fyxVGKxTdlfvvuOToLHaoip176w0OZfd4O0I4tBdnw8V82ncL39Jn9ksLooMmTORK/hA3IXDbWxmh3KL4TQ03A+6lrjJmABzuolTIa12DDeRG4Iqv2qcquC5emy7V5+9nqkUhMzMpms0ihgt/RvDParPY/l+LU/axf/c20NgkWOHyWGVb3dV1Ht7kq8uiFIymKlCg81369LZTqg9Mw+ThTAXtzRrCHfMj7lTYMhJ9DdhrbLmgoqg5zLCoCuOgwDBtEyLdebS7bj8Bo6VnKzMXdeTio3xAmIBCy349lqsUgMbTQMnbECUThyLZ1HVzBzP0qNxTZSPPGwOXy8GiVvUOUBH0hoJbw86dt+dphham/IYRYSfUWRBiQqG+IzODtO3u62hDjVKaze9w0Q21Bxu7fqNE/fW9DDzz34VIqRx3yaRjxICJjNmSKNEGxL027sK5bqU0sO1OVONicw792LIhkiBWnq6CGLb84YQCQaGy/KO9yt/G5dYmyMecBWbuK632QRfnjo91+kSQ5mG9IS/1FFW6g15oe+fZQC3QEDVWPQWnsXdWM7vq5uL0G2I8PJNBQWUvh6qfIf8FPTkmUAq+GHhncSWUjLVn0XwohVjTg3Iyctsm6uQXaFeo73+Icy+k1oguu0n0W1PuqwwgTHAXcQHX5BEXjL1P0Lz9gZtrd/hm 68uBWFDD j/o4paXnmdHdgIi9IBT2iu/2h9O5eGktlbMjKc6UAaO0MMv/KMQs9bCGob07inDpPnGkLTBSkpybcP6UQ7qY53fPZiOaAhZRBL0wAGcr5s1RDXqPiZvQoEvrJqK1EVEYRISQWWOlJEVoM5W++Jx0WfTLVRYEmyVctNNlBEJY8YCnmDbAirbhDqpMmJnQqrw/XPx6KWiSxMVp3RHSZcyvDQSFipvSL9QTYHSrOUa6OQJdCuDxRBUYzsRD5jopRoXBvDCMhx8+wIrGR0F+mtVGHE7Y02pG/bXrn2tSa+NGA7k9Kf7T+ziabVYOFI7EY4l8PjJ94S3JqztgMRk2RSD4SIb0ytfuLt0rVpiujF8dPXPXD/UOBqWCrGKAd5YTbOLAgjBdU5Kv+o8U/PmXncqd7UuDFo8zvqg+f8cdAEWyucpNHzR93VSRsSgr8xikYOiFE5WVclc6x0HgJs6RORPZnK2Ie1R3bJtN9QSgKze6Y6c3JgM1GKIflfN5YyPZaeQ+Qh6d3OAaJVbfRXiLCaoDMIpWSbXuhx/3OUpDZshw0dM0nWGpnHMN5iELtSskUHxDa9hgYoJig5FtckIOi22Z1vWG8yamhpnV1gXdWVBrWSr2/PhmiDjLQDMXAX+HK6Il8wGlb3sF0ucmUgLkNrkTk1b8GOGDaUN5F6JPgNtsurpFLurR6ZJVwrP1xxuxEoIFkTlSrcJR1iX59ldwQXmcZrfQElztxn9pPFvyShB/xK/4FempCbXv0Rwv6YIoqUeydC/gRAI7cNQUUmH+qJbO8AQ4bBISYI9Ash1I7IvHVF5NmLW2YQI1k4pI8drqnQQk9Z1PX3co47LrhefiM0Q6kxlR0MDEACagtlLS13kZwb5MpTOWExCi9DgmAFm838ihP+JFQgSRighMgwlgpundWxe++zJi/Mjg3eaRD6XZ8WLR2KBXebXCU7VYLKnb3zKhdUYVshRiqNmTvbuPTLM6lFtaPFEkx l6+YDLNH FoQH3/T3Ymcs/14VEZ4M0GY9lbBKUjm15GbFM9Z/ep8aFuF1xha2eCWm/TZJAvGyh5dGzelKDFmvYJ+eydCWhq8J1qoSitUEAejtH1ldH/WtV0xDtiwvxksytwoccusqsmhvplp1OITOne7WCl1tHu9VCsvUA+mR7M6lkQKwjQzN6nC74RTB2bCcKBodGu9Oa8WbyzIuLAMlLXq034SwnnGulE8nHFSSrV5hDR5z/TMLvMvIFj0H3OhIUTbgIb9DtIuH4WZsOpI5qGLJ5tk/az7KgMYkKFk49h9EiE0tQNv+xpQTMvDHgmxS2eeszVfPk/lkg64QqVKHLV9MHmCxoGVFZ5AfJV1YLbttU5q5Xr4T2kM2l6PRy/K7fSXF1zGgYXQW+VSXTyH1jQrPDD6jcr4IIagXJyX5lKsBzOGizLeMAYyN+iSL1lHLanMKesGCx8y0Qj7mL96II5+Sgvs56mn4wqsBCxtJVMOSgxIRDOZootFzANppIsoO9Hd4Cy1Wt3n6lbYDOEZgMoZ3ZcgRhE4e1Kcswq3sfNpxlGjEa9smNoUUa+gw8ORjrb7BjzrmZjd8EKXTrxqLcdkk+FJV2cEa9y0Vyg5HAxGfe6yXjRtELsxUot8UXbHcqnGvrDaM+ltp5J0oKYSAw9+7fUis8eo9198Vr4tBWXzvRCJiigtnd/Aofclb+55KU+QkDwzvRYhbVH1SQu7UABxMEpuExRLZO3pgbqqliE12VE7uwLR0mmmzv6X5Svthv6+NR9uGmeIW0cnLtNc42hGOvvGZLMn9G4xilKxqs/8RwXIW7+7YQkZkzEJ1Gjs27VaAqmgmszorWfEbKiKWak8pan2EgXH8Dgo+M4Tic9ReXJNY/FCI0rIIKij2qHQAd3/Vgy3w+/aXLGGQ3VBZtlvO9OWT8FDLof2A5YGGfid6I3Y6FLcgv2P+/SjJlnqupoNdqsRWsJv93nevS+Damtdu1viYBb47Z0Nzq xgoRa3yn SwVGp7bjJtmCPcTZv5JBw0pms6higkAu0IAd1wZjUFFx383X8NvFmaEWNmmkwedU6QqdqfiYpMm5Y5fCb5cCAx8+QFW3TWGhDD9In+JuvyDBrPWl0fZn3iefkF67oQ3ut13MU7guXwuT3vAZoSPkc6YDZ3kh/FOvEjcY5PBF1f2mozPlbhwRrgDYBe8Ks907x9hUsWkpFmMFdp2uhN04rBdQVKj1WAtHybh05v1I7IGjnvz4sd/MBQ6FlI7qLabGQbOBbroxrlLppHAO+EOmuuqwJ3XQns0Xv06HqkjLdz9y54oHzmIGCUN9Er3yWbxDYOu5Yu6H/Z2k0Q3btp+cfiod8LdwkWOmCo/1FDQi9k9cBMbHlKAg5Ovf5whW67nBNsOZoK7veVuZjMnCTr/1rXo1iqfByNx6Wx5vdwj7JSy+eg50OO6bxFNi4cW+pjiCq/mdciTYjGAI5igD+8yX4D0zDOqDEY06rOdMZ+zjdi1wZNCF5k9xqfXkHU2Fy0oPVmTtycvM6rqeLX9nYXC59cWbIeMubhTTnjdpd36VvZmHIeDx9UANI1GpVdg+xBGhpvWmxRVEIc97SrFY2IeccaQIq3D9PjG7j2ugEqY3TwPfWlAHszz845mwozGusNloW8fIsVcPtzuYpkJObnvITplP8djmBBJMD3rwoItLoHYqjOKs8I3xrgHbYgQSfMd6bXeT3RB2CgOQ/zvJwNc3lOY7EstmWlwnuhwWLUsoCn0gmZygCn5o0LotlIL3NuDp/L8pGkPNYpNSRjqRt1oXyV/r26UlHZp9DeyhCG8JO9y83l4DGcL7OhpmbFNyWAVjB4DXHxgFu4YW17b8fyguHin85N/6rjmWituqy52bauVOBQ44u3CUd0FZbr2zKnBkp9+C4Qg4JGdoPn2KXqD60m41S8NlSZnX6cKjYs8qhZKd5mTAAxvy6HgeCQuBjknA5vFf4QZ3j7Ecl5n080gEGJgP/IKsq FngWPImO KahTwPKFsAIK2zY1UjV51f/rusdKZpGppvolNgJtV0+JGDQWPqvCgLy7+xF/KR2i8SXmTEC/kxiBqy0v4i6Bk2nTaJSMP2Am1/o97b7NNOBw== 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: vmlinux.o: warning: objtool: io_idle+0xc: call to __inb.isra.0() leaves .noinstr.text section vmlinux.o: warning: objtool: acpi_idle_enter+0xfe: call to num_online_cpus() leaves .noinstr.text section vmlinux.o: warning: objtool: acpi_idle_enter+0x115: call to acpi_idle_fallback_to_c1.isra.0() leaves .noinstr.text section Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/include/asm/shared/io.h | 4 ++-- drivers/acpi/processor_idle.c | 2 +- include/linux/cpumask.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) --- a/arch/x86/include/asm/shared/io.h +++ b/arch/x86/include/asm/shared/io.h @@ -5,13 +5,13 @@ #include #define BUILDIO(bwl, bw, type) \ -static inline void __out##bwl(type value, u16 port) \ +static __always_inline void __out##bwl(type value, u16 port) \ { \ asm volatile("out" #bwl " %" #bw "0, %w1" \ : : "a"(value), "Nd"(port)); \ } \ \ -static inline type __in##bwl(u16 port) \ +static __always_inline type __in##bwl(u16 port) \ { \ type value; \ asm volatile("in" #bwl " %w1, %" #bw "0" \ --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c @@ -593,7 +593,7 @@ static int acpi_idle_play_dead(struct cp return 0; } -static bool acpi_idle_fallback_to_c1(struct acpi_processor *pr) +static __always_inline bool acpi_idle_fallback_to_c1(struct acpi_processor *pr) { return IS_ENABLED(CONFIG_HOTPLUG_CPU) && !pr->flags.has_cst && !(acpi_gbl_FADT.flags & ACPI_FADT_C2_MP_SUPPORTED); --- a/include/linux/cpumask.h +++ b/include/linux/cpumask.h @@ -908,9 +908,9 @@ static inline const struct cpumask *get_ * concurrent CPU hotplug operations unless invoked from a cpuhp_lock held * region. */ -static inline unsigned int num_online_cpus(void) +static __always_inline unsigned int num_online_cpus(void) { - return atomic_read(&__num_online_cpus); + return arch_atomic_read(&__num_online_cpus); } #define num_possible_cpus() cpumask_weight(cpu_possible_mask) #define num_present_cpus() cpumask_weight(cpu_present_mask) From patchwork Thu Jan 12 19:43:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099346 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 8C831C63797 for ; Thu, 12 Jan 2023 20:15:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 240C58E0003; Thu, 12 Jan 2023 15:15:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1A2D78E0001; Thu, 12 Jan 2023 15:15:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E9A948E0003; Thu, 12 Jan 2023 15:15:06 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D94AC8E0001 for ; Thu, 12 Jan 2023 15:15:06 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 983B180D5E for ; Thu, 12 Jan 2023 20:15:06 +0000 (UTC) X-FDA: 80347251012.29.C543ED8 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf01.hostedemail.com (Postfix) with ESMTP id EE92B40004 for ; Thu, 12 Jan 2023 20:15:04 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=AQVbLNGL; spf=none (imf01.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=1673554505; 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=cMg3ptdf90ideilc5ESAExVXsDzvqUAUHPnoGLTznE4=; b=l3PNTMvSuWEdL8c+r1eo12d8f4ZTjfrmcW7u6+vjpPnxT1qaKADbhcvNoj0JkSRmwMMsc2 3yKGiZ4n8RubCIbrQlYhthHurCwSGUxirBvrW5TyFEoAekL50zdQOa6nlbB/2GdFj+ZpxR lBuIwlBCDhWVOxp2lc3VngJ9gEFY2K0= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=AQVbLNGL; spf=none (imf01.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=1673554505; a=rsa-sha256; cv=none; b=dBB0EAppAgrk9Qu+X8oKtAieKpaGwn5zJHj1+N3FKJ+Ly6763TLYfZwfiEsiUST+v+fbrb WoDiMUDxq6ptfrKPNC+9A9Os0FKH5etG6jNoKpq6ZtLPUzrsgM09MdCy46M3pl6dP5xt17 qdc840tDDrkIofU8heTZH+u1MyUA80g= 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=cMg3ptdf90ideilc5ESAExVXsDzvqUAUHPnoGLTznE4=; b=AQVbLNGLAYLI5glCIBdfN2BTr/ Gz/Reu1wlylo5D1rPRX3tYfuclMb30JqVrgGLY+i8h5Xf4OY4kfQXs65r/W3Q+cYwmERZwJKdYyGu dOIJbUu55LP0s2WpAnsehl0pUa57AJ3Lq0DpQp5D7jIwVSFDXKmJmnOiTcPJuwyIZF8b0FkqntpIC b8LadvLyxjnkWpOvABXtsz53rhvZOuGgIQLV6FRFQ1goVxCxypfG444hWrorgBNhddOaBK6ge/aAD GocMGlGGl5ycw4gr25/L6Jb+p3aQyhRh2wg9Sdn3uYmPp24GCT0nLRuVL3vNNcZ0HKYejgio/4ncJ cUAaLzFw==; 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 1pG3hd-005Ofr-QW; Thu, 12 Jan 2023 19:57:33 +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 BFB59303450; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 31AC02CCF62BB; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.355283994@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:47 +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 Subject: [PATCH v3 33/51] trace: Remove trace_hardirqs_{on,off}_caller() References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: sx94hidsmjy5xcfybm84inxmiy1cb1tn X-Rspam-User: X-Rspamd-Queue-Id: EE92B40004 X-Rspamd-Server: rspam06 X-HE-Tag: 1673554504-537974 X-HE-Meta: U2FsdGVkX1/zxYIzlSI6Ar0XCMD45eeG44rDvKH28YpdCVwRrEhkh7yiuMC8hvMBCGSTn2MKSqLc361/zv0i1QVv+uSDOF76wJA7lKoWE90h1XDpjD4myQfuEKVXvlrSlV1ZnEKjAtRa3ZC2VNqxhVeuxlyosMig6n5rbq0pBVkV1YC2ofzQIRnxJwN3ZM2X4LP/U4QxKdYW1m8xF+LeDnrzg7UVn58MtRGRGNjvxrO2pWI3PqE16NmYcPSpPWBQ3LAFooBj7OnZPS1ORTTyWJPAOsUy8GfX/RKUCTMTbEukB11XD4HyyN7CccZtnYGAU6X0zhqXdVJJtiCG23MI3ofanzKbOMVr8umrXWD61nuZeLqhRjBEy85N2MUoh5rac53ngjIz0Nc+04QTTi3asv0JUqhb2c8tkpwYoaNokcZb+7m9z+scEW61v+9PAGExEwc+nv60rSJ6DooL718FZs2NY2u1Fz7S8tz5vaR5qQJ9PYKI2T/vvyyQVnyKBSdwqZYwrhTrx7PZYyizQpTEBdXNaxVWAPk+2HjAWYyRikBlxHQg2Y+xUU/3ZxPB3FQqu0Rt1pJ/Ib46patrG2mUc8ihm92BOXGcmdYttOTelFMLUIdFTcJo3RI7Hf/bsuVm3TLhUlL0mHhNH+Xtl1Z3Ev8dfWM91GY8UBSqET6kImoIQn6KYXbRKA5TLssrVEauo10qEHu2qM8bBjIiIJVVT16grreSqgzpEoG9HoENAtcw8ugFgLFULyWG8raHWc+Gy5ErCSje9V5vOMoRdSB1f+iU0rcLTeX00vKPM8AdFoD2t8S92yfrpCpiQxrXBH8MoDYTtd8rDcq+MDQeWL7fIiimdHyMf49Uy0VqX6PVdzNG4ndYUMc4KDcsThRsh18TtjhnPXIQkVVW1cCSTm4dauyLk6p4DvbR6Cq3EfHgifBAeW1Er7U9r7EiptoyQfCHZQG0oM7xYVYWrC5sHQ5 AkhIBEbY qjDYRAHRN4jNdwv2PmFoyfcR31+/1L3HGzeNlIVoWt9jaUltGUTgHi/kDDO/nTWToVyj3f2BWH6Nj2hmUS1SgD+JmpRoXEbaXmVhSnj+RFS3g3DIOa6QaYnG3ifCXpQSSrDQywaV9bJs7sStXoFTimrk8XgHLbTfGbSf450oEw8/gjqn09Peg3ZAqw55eq+85SPh1ywHEHmCaxA/sVOXO4YT0bYL0LvvQAwRhEwg6DO6W0ubdLcNUUJF5iQ/FcfQS9PjYJyifyaP7I8W4K3VQJFd8ZqxUQIdCpktQDAydiRmW4Hr36x5DQOVVEjwPBdaVZmWfQ0BdBdeBozsMCwlbflBshfBkrVhF2SnCeZ2LnlqRJleb4jvqDxEBwfEWHhxa8yr5NagNF92XTTxbv+x589GEgx10xwvbp3B8ZkA12nsQKKwMmti/qPNj5ry9DjEVwID0rCa8qR3fcUPyL08fbM2ifyfyt9QUtfmoqApNfSbBw5+dqO3DWg8GgYap8yYLuedZzIjd1lZ6bZ5Ks/3n+b2O3UcvLThPlqM73BH1HrYJx/nAhwYKn7gl1zzOhqQu4DSfiQrTPiOqzL6m3JvSp3DUPGTimVno6QiBe3y6O4CZ/lBsu6a20LRBmPUiu48uVzVPwpxoDKCTOAK9+nMfpPENBF0GbW0q1C/FJBa4HYHWxATPaoVS9KqRcY9K7diwdHcNwZt797fNdBTYEHUvXQ+EOfZq41o9tnVweLzi/yhsifi1SN4JEqyZMVAsIIuD5P4KBjmTNTyNagIrhJvAK098wRuDe/4gfQUG1Xb/NCyEfPvywvakm3wr1GqwbVR+ZJ/ACBTm1KDD6xES1fVA3uGgNm8oh6ikhQqK2yx8oPN3WMtpDDe8Bs1YVt1G0mZLkw57DvroLWv2EP/HEoArvRPQA4vbkdBXU94y0iUJ4CEH9QPX2KfdoLX7nhwvrTy+NSxJAeT8EXQqXE+4d7E3dnX9KYRr 2poeVRTv N7jkl74YAOvZlNSoPA/TAuOL1DaOSD8qQWbNqRuJzy7CqvSe2pR/fs1NOylwu9FSteVFPh9fsidlrHcWnYGCdl8/TyZpxrGbPnR2oOArFkvD/1FSD2yNi3LD9AJezZQEdJfAKqhwP+eLRBbBCLUum7/6evquu7OX5VWy8IRoge+zU1k6wO8K+yU+DvKJC1RFb7DaMPcbm8xyzW0kD3VlizMOEDPzr5wcrqO0/vANVNtpbJvubrMJUp57mk6DhrUjH0HM1B0XwgxF7ms89S+GIJnrPtrJSR7hhAD31DqMepmMFqtqv+E7gHhumTQCRhpeQSvxjgriOSH18AMTTjns4AAJjq0DZHoR46wQM+IUzn9/m4swQGflQYdogqpL2mebZYPMx6TEcJzKO/0EPkI+sa3SW9WoZ+vt9S/nE1fMRA5InCe2utRJTIRSSn2vt2c9EgNiCRNZgamlqWdK7d3QykPnGoO5oxPM3A3Bu0+sichmkkYnoRAaDIhdVsMkCbtnARgEeJTUNvJ3IpA62Rkz5CVM6Y1avmCk3zsANitkjn0MfMm7FDnj7wcp3LZD9D04GKe87ikS2ChmympLXs6uavregFMYZZNZ2WDDfYaofm6qk4nzI1ymLiKLZOncn6MQjWY31iZQ6W505pt/ZfzsCKZF1ki051R3xS+KCS+CEvILwt8bzDf2HxfxB2/AtsApoWdOlim0Y3KQGhY7hstpJe0cuzzc5X92cjcLt/iYv8cKliROkkQToVU2nkai/ugXw7+WUiHLYkUL0ju3wu9ufsz3iU86paHWhqO5TNc+rZae6jaoaLNQBYnPoxFcya5uXu/UVrukv/hk5bkpAUyWYfyHUkX+FHveGbXSRCqucLGTxZbaSX8X5GcERuF6H7anWITVXA4jfYeBISZQvlben0vJIAicqsdk/Y72XULqX49Ovlpbxi74aIkG5bPKqL7S+0bv/7gs4v03T1qOS6f+vzZfkyFzH sYGiuHKC AL4U1JBDa5tRtWrKCllfG7pUVqp/HG2CafhRe6QeP9CYkOrb+NgBGO0Mg02ekwzKYjeGFqx6TAxosiuHLyWFp3ckhJ9+BK2E6ZPj4OZBUJSgcs4Dd6cwily6S9jdEXal1C5COUR9oLgWLEOsu61PgYhmOXqRHD4wpB37bAd9rHUtrD1Ixzv3XibxpRkkBGRrngk1SSv/IEdbmZBTMQt9cu2vyw8r+zur9uZ8j7vogw1ern0HmoYCE28iPnxvgKXpODowckTcYUtacUsowIP9MZrsHO+xcxwsN8JSJgig6XmrfotcRjnpI6RVTRbbGovuu9RNvzuk29UC1o8ji40/chvmmgKMLWqOkMu6KOn2z4LuYi+dagbD41/GmzVmcV++Yv2zMBhGv95YFIrEI8DZl/7EA+FLD4L5q4cOoK4cwOK7Y9L5PiIy3bWPImpkPxgBXHwE1JqJvUh3L3wcpK/CMpDCQWK0CouRtzbougqdivy5A1ujnSjXL+vvTUPnzJnSXOg68N8jsmCgznT7gGHvuoxjRdTNH6IxO1L24YlUspezSDmIkggFQus6FXxBKuAIrPPgCO1u89ehP5FpD1nW6+L06SHePAKn3TTf1B773EffLYupkBLwHDlgrilrw//fXtClmNRnrDkM74trooDTYNf2m6LuXN6Xcepo7FEs6Ktch+AOWKYzEEJAOMNXEnJvjKAv4ajb+OxQ1gKo8BU4k9d58YtP3Ho85KAn5f3wQn1wzoMdTSmzPXuAnQfu6x6iHzzdXJVGKyiw4eXEe3Bp70ZW7EyXdfd/GagtDlghOmb8PL8bgtqHlTAM7IHwZmiHvH7djB+Oeik86MwVVRZyeQWbR5E8C8kaN8ntCOpxxManKr13yp6DGll2jXv1Drj81LORdr8Wrlnia+QdzynTYicxUB/T3aGakrxr6SI8/vqAgzcoM2wryTjvEpnhXw1pEa/KmW2gE3qdHmmet25lI5a+WxxtR UypX4PHn 5KYKlRfl8Ozph9Z2zp4w/it9H7OH5AlG+mYYErG6oVQsTVIa+t0CbGrVUJatkN2pus+9BWYTBvMKmaET5lR8xWzqncCaCOveFOWuLFU2s0uFvKaXDCSjds9AS+5zjTEeueDun6tQWxctrObtFH+HGt X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Per commit 56e62a737028 ("s390: convert to generic entry") the last and only callers of trace_hardirqs_{on,off}_caller() went away, clean up. Cc: Sven Schnelle Signed-off-by: Peter Zijlstra (Intel) --- kernel/trace/trace_preemptirq.c | 29 ----------------------------- 1 file changed, 29 deletions(-) --- a/kernel/trace/trace_preemptirq.c +++ b/kernel/trace/trace_preemptirq.c @@ -84,35 +84,6 @@ void trace_hardirqs_off(void) } EXPORT_SYMBOL(trace_hardirqs_off); NOKPROBE_SYMBOL(trace_hardirqs_off); - -__visible void trace_hardirqs_on_caller(unsigned long caller_addr) -{ - if (this_cpu_read(tracing_irq_cpu)) { - if (!in_nmi()) - trace_irq_enable_rcuidle(CALLER_ADDR0, caller_addr); - tracer_hardirqs_on(CALLER_ADDR0, caller_addr); - this_cpu_write(tracing_irq_cpu, 0); - } - - lockdep_hardirqs_on_prepare(); - lockdep_hardirqs_on(caller_addr); -} -EXPORT_SYMBOL(trace_hardirqs_on_caller); -NOKPROBE_SYMBOL(trace_hardirqs_on_caller); - -__visible void trace_hardirqs_off_caller(unsigned long caller_addr) -{ - lockdep_hardirqs_off(caller_addr); - - if (!this_cpu_read(tracing_irq_cpu)) { - this_cpu_write(tracing_irq_cpu, 1); - tracer_hardirqs_off(CALLER_ADDR0, caller_addr); - if (!in_nmi()) - trace_irq_disable_rcuidle(CALLER_ADDR0, caller_addr); - } -} -EXPORT_SYMBOL(trace_hardirqs_off_caller); -NOKPROBE_SYMBOL(trace_hardirqs_off_caller); #endif /* CONFIG_TRACE_IRQFLAGS */ #ifdef CONFIG_TRACE_PREEMPT_TOGGLE From patchwork Thu Jan 12 19:43:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098779 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 8973CC678D7 for ; Thu, 12 Jan 2023 19:58:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0FA1080019; Thu, 12 Jan 2023 14:57:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F234880017; Thu, 12 Jan 2023 14:57:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A698D8001A; Thu, 12 Jan 2023 14:57:41 -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 68E1A80014 for ; Thu, 12 Jan 2023 14:57:41 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 42CD7AB06F for ; Thu, 12 Jan 2023 19:57:41 +0000 (UTC) X-FDA: 80347207122.24.0113AB3 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf29.hostedemail.com (Postfix) with ESMTP id 9172112000C for ; Thu, 12 Jan 2023 19:57:39 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=H7KH+Z08; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553459; 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=BAfnvD9cLrzo61xSnZTsQNCRnrvqWps/XpXHA7FoM0k=; b=VcbuRFPxS3GMyamLQPSya1KHD9ig8WTxIRsLx0zX7sI0s+qiOhl7/LtONvcqPIsVtQDlCG y+Z8uvuyITAcLVlYMjaHlEZwsbQ2fr9oTD2MKzBoAYUHvp0LqYJKBiazgwpO7Ll0Dkv53y DtlYa9CtOLt5O4OLNHIgW4c7i231Evk= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=H7KH+Z08; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553459; a=rsa-sha256; cv=none; b=zEEs1tUCNr+0Ley9Nvea/ElM2u8tYmREyB/U92MazgRjkTlQeAUeAKO1sCbOoMHdn7J9G2 oPAas5Ct6YEieP/eEjmQGb3ulum1Bs4AWMk0x9g3ePfrUyquZ160a6+g/BL/d1fis4iZRU Q+iADnNogsL7m7nH4bUDb6CJ00Jpf70= 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=BAfnvD9cLrzo61xSnZTsQNCRnrvqWps/XpXHA7FoM0k=; b=H7KH+Z08RTaT/3t06vLCizvkOG Nl80fuaYr06fmNux1Mx9qtYbuwqPX3UIm8aftX5Z28NOSi2Mj7BunBpu5fAFoNnbe42np6v2RdXQ3 SsfqtFqcG9qi0lyDVOoDELfYVw4hTQlnjw9EXtt56vdDtyaKEp2Xa2RVM+DXP4oJW61oMArRyeeJ0 ilQmOrnOonRkmnKqBoOTtnaRQcwrM4jm6DFFkWE7NCRk2QdP8h1Fs9cERrbXc91ROvdPufdHKZpV7 QvcZXHXDtmJlQQByg/agmBAC+3sVjR/N/VTls/IF9+ePAkX1RGUky+6xWZXvuRPrOisPJZlzBILYP znwmGuiA==; 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 1pG3hI-0045pX-32; 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 C4CD6303453; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 364D42CCF62BD; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.416110581@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:48 +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 34/51] trace: WARN on rcuidle References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 9172112000C X-Rspam-User: X-Stat-Signature: zaxr488ciuaj4f358q9jfcf36tb3y8o4 X-HE-Tag: 1673553459-811201 X-HE-Meta: U2FsdGVkX19B0vlPi4UWYIrtf8VOD9qRsJ6qmfPph00ZlS2bdpcdJI5NhzrkClz/0SWe78EqcTzpjYVGFTWX+sdaVSA9Xd+UZHkR1Vc2B7jaWZ+jIGijgj9ycIsfpJicBZuTdqzqkkKcePeUUw1ZriiwmWk9hKVPot9Q8BvU7k/W8FQB36dWVc9r8qAUv3KgFJeSdqJVkibG+um6Gxr11NU3YeefAqo/hcdqyeLTP2KYoL+7F9GlHNuSDJ95v128v7wb8v2dml9yT8+5yoskwpwstE5ZMIvZIHJpXP1gv5DgVyut4tXaGumP9srHJeIsDPtExN61kzHmTvW1n6CCNNDWEjryZFr2IWvRSO6mMDo05FTJBB33UC0T5/RUOhc4rYApOjtcl/6DaS4lbA9OZ+Qtn7CRVG/gSjgXwFe9F17vog2aR1LgDAFKJUu8i5d+fyqbrOeTJMCMo9sPKsxGLIiboOnouF8Ml1Rv+ZYOUb6Ss2Crky3ibEGi23XZm4hhYZ3My9R8a74k2YfjzoDAh4BXme+eVvXQ9KMgYge5U0/ol9L2dC2Lea+tKu/NsYXmj1hL+eGpygmKUFNZ537/E4tqXpyezaHWmPgbWW0MMT8i/oxuvQiP1arVlyQYX0zvwbvqp/WXeNcFCxU/LbZZxvAO/RAjbtYH7h34+wO9ljevjHTEuK3iA0L+ENMkKHEzgfvF/9pPHS7/kXxEFE/BlOkZBQ1lcFossnkRsfI/uqTecoTj0WbCCbLimB+j1WxZkIPAa9beZvLR37k4BUs/kq1jd3oZL1WfgALnQ1QhWXGcLEd4tDtTxBm036uhwBL6+oA/FbJbslLENMfSxkRsZI58UaYU3x4TtC0VmMTrJYISOMdyCv+SmMuVKng/hr8DJFadYejsp4KXqqC5mpyYg5eGTfugvhKb1ZvrQM6Ut2cNPQinPS7F2H+sl+Zs2X7DlNuPkibHxASJ9ELpguR zjIJKidD 0poAdPzHqA4QHr/I6wu2WOtVfwG9xrRKQMeaKXzjeKTJsbM30LoZkVwhCQlHPYcRKndzMNrRz604MwBYo1MfsCY6UX87Cy27p5vP8WgRxp5Zf8JTzgWE4jMPFa7mWPWRL0aFLk993IiX+B/LOXj9tN3WHQUEHbG2OH59TEb8bOGvF75FU/THYh6rq/M9j1T2aYlERqKsDzRpqmRorBFGFlg2P1URyl8DjuFA9C12y9RdeufXQR5JmfmOSegnywozvVG7We2tysPEJTKdUo3utgaQmqpSWOdDNql/yA7JbLxFKNyYlEvgO/ihcmiSorF3ChsNLtCfV9tSOYVWa2s20jsaMJcym854/nbtDo3lLFlpwR+cmnFf6vF524Dmdo2FdYrbRZiVIUYx0QMC31XGUOcYdiDwpP9XMCaHS7rGxc127L7CSz2xH0SPU1PXB7PuhVYqn/SC2Keyx1FKojFCrtvpFLXEWl/m1WOAciR5mso2I5tTFsqulIz0aqroAbUbgTBQCATniBp6Cxr0pWcKhFvawrATsdPCnO+GcNLYr7ENyQzm+Ad3/1M0uyvvyYg+tbleCsqIa5i1cl9pdYM5yzIwegG8P+KQS21PUIt5vOCEChSAhDOvfHTe6Q5swX3ozsr3Z2FRBbIFbzM1oXZ2OMvxc6irtXYZTkKj99omQRWBbVREefduCTAdMXFmtyRzQ0KnkoiDT6IL+cZG53bjJ5nqnANlQF8h0get3FochZr+LPL3EB9/alxa2HvuX2Di7IJSgmkv8Uskk2roPBOB7ePJJVoRHuVlqoWKWZQNRBREy+CmuAnmFPZlu54xwFlw9BLubruuVqawTNdIFtKQpz/WNSITUMHxmcwh4jRWT9/6lROJd2kP7ZTl/RjO6fsDBytqjLzF8Vaa5obKDvlCOBq+Y3A4fgioAYvBqzuoRj9yzWfemYS3D4fwW6mvr4PUYjfDOd7+gI+s0yYvzCmCpRXwpiwdL Nw2GYTIA pFYEnEKYPM8AX4E+HL3w1NtUh0gIcmI4ltsUIfhI68S5Imj9hSUkeETxDLKwH/bTWNHr+8jbmUTw0z3KTKQcUMuBnHzBpK+F9EMrTgmHKKos/JcI+JyDLwB+Z+A7gfRRJ2PJRzR1MBY0U+JrvYxSrN5DioWxzGDAu3lEKJ5HsSbGumXVKmSwrx+wagoudARw4zhJOD4dOe5ErSBu6KK83xYRIH9fqOfDPAF1qpSVJxf2MY+ikmyrBALpDebDk3L+r113g+111xqDZQj87t4BTDE9uFUBkeWGA7m70bQhZ/IRO999X6NYQ96wuhRfJbtMfaJKfjOfekEzoulKZzSvC5aMADLBitfHGxyrB4P7pgQLKVkk1mhcNyoX2KyfHuYI7t7pmub4N15VBm/qdjPCVMr9QJhr4/CtGVhy1s1t9xHfFCHN+BNORZKkRqhahJTjay4ibfutHA8GlrkWy1BzXNBRqX8XWJoLCztqg4vP1ozf5HrkJsRtVMNwZfnJ7gfaHDs/1sR1zcsIXRvXI8EPGqTiu58jP15wwF4dN3jsF2RTyr0dKJpEl4jCRt6oW/Ev8zY5KacAzeTzrejjrH+r6psqTB1xwxJnknslK8sEioSSfm9rSvVq0vaidFUHBGKe2FHexTQuUj7Q/pIhYJ0KmhnyVgzZAMNHpw16epm9snineAYsnzbOXEP7LOSliMFX7s1+OWm+LSUhLez5FXAQus6+NNbO5TbEIv5G9hE9Kf/DhMd8TWyuZAs54gEwTjHtXO9s1aynNzPAmiccLqMxiTC01TVWojtIxKElNMeuD+jZUq5jOcCBqUg3oPJYJ1IW2fzdXxvvE3RpdqBUXhaGgUyfNFVjD8p3pyfFT6WiWSfuukV2ephZqrk1ONz6yQar7+usXpw2WKwsL2ZwhZX2YHLjSLTYfV06/czeOczdCrOVgqPCGc0UuiVB3WEiul+3IasBNFHW4X0rhH2da9heNhLTBeRg7 241m+3b3 OD/iTg1bWzl4iIOnfbtnzlNsPhoKu2ekQ8rz5DlUpBu/EOjcYci7O/NKCKap7NuALekR7hRHWAtJW35FjFUvHXJDWT9IRqggJMvhTVsg+5Asq775YdWW4TWaemfRu0JroaKa9ypprRjy6DoBPBBR94ysQ2oUAHt+G4O51lHuFF9N0elDF41xaJ+Y8hpeCFLcHTUlG5/o8hnPpGjNR1qsQO4kBt7lTUHdlE0zyvOV7CQwJplbQk65g29n6pv2kpTVl1SvKTv36r687jVBQP8iVFDiEgIhQhJRZKHQQMRgp2KdYvmU/O5z1DIMywGlhVEsU+uaIw5p5gpKMfrKY4sujnP1eeIC2pP/7jYQnLmkQik/b132Eo8pc7L7nAKzFREicub8Is/r+nANf9UwF+PMZ6Sd8GwKfEUNlAxzl5W400+vPP9mHu1RT6+8eDHCWPbr6C15S71zXS3PQUp3QkN6e8lZb35uf6wEefhqoZWZdjXTRn7hdXTku+sD71antRt/K4gGCupAmKviM4zKkpA8RPq7l0qWjLvh0MP0Bvhl00fIoOBJTyAMBGUNN2WWvaPstaAi3JbkN3wGfk4px5eMQdkuGhtzkFaz/c127P4g59PbdDoZmEvtdbFE3in+ab9HjYikyNKd01zaYo0x6wPjlhTy4Eoqebgf3Lefc/jaV+k6DJNWmOjszgoa6BBycXzJf4+kTiQdXBOLJ3AitEqr+moTnYzQQ7qaVx+f744/6SvQdqus236Ioqsu6F8yC4DDNUBxOaZqtheA+sGC7HZx8d7B1ZLHm9VIsKOGEPh5THHN4hYhFpoKVP9I51WGfiF9q2jvKHYhO0XqruDta9/kbMGXruJfYug7B9j9x006TguKsDufLk4sdNVXEQGm2Ha6pg81FWQ6LrtvG+RID46cAiVQdvgwW9uekNcp7YQGdKCRX0Kf1Kqp81h1x5cQ3Zym2px2s9+VTj2B083ytL60x2OyFeA5w IOiojb86 b4km8rEMTfvieXfW2beuPrNd7501LACxXZ9qVCoyEhoDtHuKgmSnzneKf1idc+hAiCn3jPTIyLZO2rTxcFwhjKIfCbM9vtjapqCb0Axf4MWA== 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: ARCH_WANTS_NO_INSTR (a superset of CONFIG_GENERIC_ENTRY) disallows any and all tracing when RCU isn't enabled. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- include/linux/tracepoint.h | 15 +++++++++++++-- kernel/trace/trace.c | 3 +++ 2 files changed, 16 insertions(+), 2 deletions(-) --- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h @@ -178,6 +178,17 @@ static inline struct tracepoint *tracepo #endif /* CONFIG_HAVE_STATIC_CALL */ /* + * ARCH_WANTS_NO_INSTR archs are expected to have sanitized entry and idle + * code that disallow any/all tracing/instrumentation when RCU isn't watching. + */ +#ifdef CONFIG_ARCH_WANTS_NO_INSTR +#define RCUIDLE_COND(rcuidle) (rcuidle) +#else +/* srcu can't be used from NMI */ +#define RCUIDLE_COND(rcuidle) (rcuidle && in_nmi()) +#endif + +/* * it_func[0] is never NULL because there is at least one element in the array * when the array itself is non NULL. */ @@ -188,8 +199,8 @@ static inline struct tracepoint *tracepo if (!(cond)) \ return; \ \ - /* srcu can't be used from NMI */ \ - WARN_ON_ONCE(rcuidle && in_nmi()); \ + if (WARN_ON_ONCE(RCUIDLE_COND(rcuidle))) \ + return; \ \ /* keep srcu and sched-rcu usage consistent */ \ preempt_disable_notrace(); \ --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -3119,6 +3119,9 @@ void __trace_stack(struct trace_array *t return; } + if (WARN_ON_ONCE(IS_ENABLED(CONFIG_GENERIC_ENTRY))) + return; + /* * When an NMI triggers, RCU is enabled via ct_nmi_enter(), * but if the above rcu_is_watching() failed, then the NMI From patchwork Thu Jan 12 19:43:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098778 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 6B257C61DB3 for ; Thu, 12 Jan 2023 19:58:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C992F80014; Thu, 12 Jan 2023 14:57:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id AFF4C8001B; Thu, 12 Jan 2023 14:57:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4E4F080017; Thu, 12 Jan 2023 14:57:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 2256880014 for ; Thu, 12 Jan 2023 14:57:41 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id EC521140E01 for ; Thu, 12 Jan 2023 19:57:40 +0000 (UTC) X-FDA: 80347207080.25.78354E4 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf20.hostedemail.com (Postfix) with ESMTP id E86751C0003 for ; Thu, 12 Jan 2023 19:57:38 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=Zvs6hw3d; dmarc=none; spf=none (imf20.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=1673553459; 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=dY+sZF8zXVTImEusizdFam+mvD2uBaZ1sCttd0zpvx8=; b=KescUTOZGRcAUrzoiBti5ctRg8svYZtaQG3wal3O5UVzKXt6lhAZGPP58RH6R43kyXP8IZ xTqvE2+JbLXX9/phn9JblCVVpgfaUOY4GCiV/3sdUkkIvEHU9KX/v6403I7HywFY7gFsNV 7fzKfMPMFrxO7wco93HYVv8xippdn80= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=Zvs6hw3d; dmarc=none; spf=none (imf20.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=1673553459; a=rsa-sha256; cv=none; b=CC3y3To0jBeOm70Vh9QA1GWeFXCflN5QrBJ+NNiAOYj3yExjQxk96lV9wPA/WpPgaHO0qq +QZiqrhce8ICxv/ol8SuBWAnK2/0iYe8LpzUFi2TuKchA3FtUB41CIzxWpjx6IDO4As/MB v963vtXHgbixivb0tZf9HTvAVv4Jf5o= 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=dY+sZF8zXVTImEusizdFam+mvD2uBaZ1sCttd0zpvx8=; b=Zvs6hw3dC5vZ9/e3RVPulXa4vo 0LGVycD5ek8na8AFjgsGQDoJWr/GILDhDZZRLr5jcFSKcCvqgSV1b0VFMw8bgB2ismeu3VWWkJ8fT iOKXjPhSfP3BdrVt2KEx/AK1uUamJSxIAfVV8e3ZVtl5XXXBjts18yo5G52OU+rSmciaSR1qJTQOp jrcY4VRNY3AgQZacZ+/mcgJwzOUsYcfiXdjCWRnrFGw8rdAFr9f26ET+gY1q1gut10GpU+iYN1B13 B3mDdBlf4EOS02q8DY62DSvt/0WRC0IcizLnoP75ZxAWdBkF7dWM1rEkjziDX2zFcPQkr7kw9pR2z NdL9gE2Q==; 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 1pG3hJ-0045pY-0x; Thu, 12 Jan 2023 19:57:21 +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 CAC91303456; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 3A2002CCF62BF; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.477416709@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:49 +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 Subject: [PATCH v3 35/51] trace,hardirq: No moar _rcuidle() tracing References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: E86751C0003 X-Stat-Signature: zm4kjid6x69ko8s4pu7ezkpsfdjxowy4 X-HE-Tag: 1673553458-765721 X-HE-Meta: U2FsdGVkX1/A/YLWK0Ra0qWzV3q49wv6XAeMcT8sLBxjFr7kjiUzOiUVj836hgpCMm0msVzkOfIbF6K8EwEjzN/8fuE9ASU4fk2WZ2qALuDNryeRZTmeXKhW0ACik/XV71n8AJgqY84mTs/F2HtGPOx4td5rSqj2u7dQGXI4l5AhtGRSkOl8bjn0jb9qJQK/ds4qnCfSss3fmOO1HTLQLeJdv2CG3YB0MsttOKXVObBtuqxVurVLiwgEWLzVGgBMReZWss/5zFjubNeGu8taHULmd3xxW7qQJxls57qriD0KwrHkB1sZBmpnw5k+T+ZVt3Xw9LwK8HrP9zPfMJzvmbccxZw2v0SqProOXIHjjXfb6dYYP4wCyUxtsejiGU5ToXHBfytXVu6rUoNLiq4OOyOxrKWAc9i3+0x4YJBLvabDBavv35SgjVzKZcH+CksXMZicCE+fZBo9au+e86UL2fvzl+MM6Q/+qffpj8qQf2R2ULU/yJ0RhRf6CYucWwoOaZ0h7TQsvmeudiON868jKho2V+FDDO7ch1Z1PR2fil/mnoR7FfYNdsW5i/rL9ityeaA/2VkEL9eq3cB+jG3U1rRba3kAbSS2XKb2jmJ63uShLJLbKHZwOs8Y68wUsny+EV3fNdG5YgOi+vnf+BLurfjuRrBC0CVRBHvmomz5mFH9eIWTBd+40mByec3D3n7Yn0Ping/h87mYeVHmr5EmXXKfdNvBSWFCLB6lItiBJCAJLh0WJMCfL0lpDeHJs3oCTmU9sfR/ovVpyOWXFxglD5J5dNe5iX1zTob3bCvtDVC15MQib00y30tK9p++/vIPD4H8P5Sytxt4gbruJnpuNFm4WBXGvoHbiblD8zRMR9jp8D2QkBqKAU54S8E2oOziiHDMrKiPzDuhMIZUBxZAYp4vCRtWYfTW4YvKxDdYV69RTmpRkPFinvODogb3Ws4eihzUOi0HKol/tXvXTAw kSEYIFF1 nGntNiOex7bR2v9WnD9683MDzkmvRfoSXeNSkYOo3YRroZKEnQVFbSYg+tvCW8QMFIBk2/YUMMdJk/85ck3FveMUzuNH46q+1LPnAx1tyF5GjO/Qc31Np/HpXz6XvM9+qFkiGsdItvCfNTkK7y5aot3UDjBkdG4LHkzFGWIOKJkL/d1xZ6fsYI9ExvqRywQWpRhwzn7qKfGilApoqITtU1K8f3XYWWcJMPH248KFypstZxHIlvZXURqLGtDdfH6doWKVw9uy4C1NfkoPUWSeZrNN6OJ8NtoaCCf39M2xuPWLa7lVPlso5Vl4KnPwp/HbrDezMsPQsNrytANWsN26M48LFTjnZ5CuAJhWrR6PATtCND6CzbI3Bii4B7EX8E9qtiJEugCMnWXMeTLJL01q9PZvO/cnT/RItpBuD23Lqy1jnddqD7yIOUwuOBLxzKSScZywbuaebCYcT6eXGoedVtsP+n1c9Big8ZyXeyBibOdOzLM1S/St72fjCL6BsUE+N6gY5buiMc/LjzUV8H0Z6v6LGdNYDvPaM6oBrF9Kix/gqQw2cmuKjGkxzA8sqIadO/ovjkj0/Dv3D2YPY0jLLjPd9IZdV/kStEMl7z3okAR4lt/q/KcOR/sStoWmq4aR1yxeaWpI8sF7ExxIIfrCIm74kkxXBeydzS6gRdmK5PhJWSIACxlSpjaiIBCyX2qDa0Kw19wMckkdmsmyl+yF/6Bq+w+EXY73wBFEHyNj06kORptGj5/AhNca1aFEESc7M9h0ZCcCMXnyELPMYTj29rBny5e9YJ9iTkGB0RvVttUUQzc29gX4rhb1RfBoDQoFcFIxbuQd5afVKdXPyn9c4EhkxQ4QgFTt+goSfdYeyD4LmJgy9kz7tj6ud8KY+URY2O7XfXO9tP5rosgJy5BCKmqSLQf23kUY90hT5fXkR6fOKdWd7m8QiZaX4f8O7gjjxcNaCnczXCtbm7Z8y9rJZyUJkBVVr HOm3bfvK Iu27M/KJJRs1jaJMgPkrELZV0jQrFjNNAmohJQskPk5remnZI2+ToMhnG1IXOhlGdK7pfaYp/qoYThBP+ugOM+ZgHy8T30dQbo/O/obt9BqyGkdqG5wY4J3qII357LSgzqTz5gLzBDRQjx8Z5QwqYyM4BMk7j3KsUyGlNjK2zZiWM8dxTdKXhqHBdM64s/+tOi4+PWOqZ3y2pyxw95Ovx6zk/Szd66l8NP4NVw8YI45l8Ygsg9RwgGlN1ViLK6DOavFc1EGhPHDi5kmx8ZPgVVCLIt9oBMrLEsvfSG9FM+r2+QNYfJ9DUTPchooUSX9V8AT7jgZZcKpo7wXX7NlyrgTLU29Iwp2iOCvql9BUOFMpf+9txP6U/2W1gez4tGABb74HwHMHuFaAMoGcfSoP9f1NaPR8Stgo0i6njQgR4A3irP7mOG3jTVrg0IZMU3QFg4vsWAEGPrhtHVWHyqQsGwJmE0yMmsojV+2lQkRvVFQ96N+Th/VKDZd+faRO6ZJqwazl+zuSmPZfJLlT8NJtgfp6JitCX3Qcnkw8lwSMqWItZI19xfxgPgPgY+6UyN8cr3ZPiDO1hQbofgTMoFTxPVZEjpWLvPpZtMQWXiQlKbfW3/7DtNW8gccj54dIbyWc5g0kHvJ2qghqZDOcKTOtqswJV7SUrL82KzRC9Gok+e46uUFVNrMC3nXtRc98helCOlrgWkKwmyud0N5bL9ceCKYWOCxYrkLauEzEiKEhoTfxtGZ51m/0rHWiXC6wAzpFISikQOGLQGek2IrAES5KtQByvfBsil6nvANE69CWX+Sevb0uPmFB1gbXbCM/kKYnHq6QQjrN6hCj7gRt9dx1d2oFWLr80HLdrBFCKSWWO2knVib/2JpFqMtAeo8d0FSfUZ5f5NApLSisH0fsWtmxldjPiQNIge7uX8fFvkGAtNxYdNxi7zzC2RlpkodHsRoQIlMjeucFN1coDSXlQ1s2MpUNQlK2S WKq5/m5D FG9YyuTIVNCCc4O9qhCvWKrz7g7h3njCQ2A/lFPcL9VL2cCQqTOHWL+goVQHeSP5hGjkAsx+gPOBLjG5zC/GwA6ZJJO98YwmUHYBk5eScWy596wsHm8xPGnRA9iWnd8KaYYhd2iW7dCCY3jUrELvh04Xfj5FQPGnmWrgDP6QpFlsca/NcdjCKQVaxFIcb7VDQkqy608s03RzV2oJsnM96ZHvQJdUV/2qEAokCXE04yfp9Zz1+hObaN6+nlsyctVt2iGTFAS5dMpAzYUSqvF5umtLXXvmLtsB0xE5najePfn8h8F4GnuoiPvIGiAZdlZULSAwJ1cC9Z10YBpZA1VFFqJx5VAVuoGzgMrtNZTEdQdTPVOXHWPjyuS5V2ZSjMeyqyuOndGQIc714zr6QKvQSE4c6JMPrar3A274VctCJb4PBnnvQVEeMxeICLKIfl0LSqwMn0ZlS1XSBdyEizRAdCMoRxVSDUs35hFZwmgaKhepKZP4TFGI6TYBAXU7NPQv7LRgbMsTm+muzTLW6DlAKAB/a3RLK3dsvSZ75FV9Sl4w/7hHnpovqmrwCvZ8O0MsYgDnnfDcHxEQfAtWi0FOkSne6nulf8kcFSQzYO8y/OAOkmHIPes6QxME9XPF6S1x/4kGmRj21C7mvwmyVtAl4yqRgQxbj6nvqiIEQ6GLi8VwYs0X7fnie86OBxqc+6uqRIxWwSMmKBSjSvArY+wq8WAJWqAAG5gzT10Gt2/YcsWMvyOwUcTdkys241FiaTdWzWZcS8+6GDCMmBPBJX3ofyxJhT1qP/P/JXXDOq0mkvHCi8EAW9pmDPu1U+fY6jrewbkA6rQuO6rx39mmA5mfSa0AIcrxZHBT755WycXZu9Ag+deZtG4Wv4NzAUEMl/lmkpZVFMVD+f4BDOyOgprE3kuY3qBOwBUY/riyzaBFohSjJSJhypAL37NS9RbHWRZk6ecwblmntS6VYVhACSSyzzijsQgcZ Q5L2oShC sjv51/R63hW+VrHe71uMj1msqTscRmK6u8XdmhzEMCih6rlmbFDRvE4mBCjxR+H7Tkqzx0CXx9S+SGpMDydU2aFOv2bYZxMUwvlajqIqZtRxpA1xNDa/jBBGyCa473K8IITuWmKDXVeB0+Ea7OX+Eb 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: Robot reported that trace_hardirqs_{on,off}() tickle the forbidden _rcuidle() tracepoint through local_irq_{en,dis}able(). For 'sane' configs, these calls will only happen with RCU enabled and as such can use the regular tracepoint. This also means it's possible to trace them from NMI context again. Signed-off-by: Peter Zijlstra (Intel) --- kernel/trace/trace_preemptirq.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) --- a/kernel/trace/trace_preemptirq.c +++ b/kernel/trace/trace_preemptirq.c @@ -20,6 +20,15 @@ static DEFINE_PER_CPU(int, tracing_irq_cpu); /* + * ... + */ +#ifdef CONFIG_ARCH_WANTS_NO_INSTR +#define trace(point) trace_##point +#else +#define trace(point) if (!in_nmi()) trace_##point##_rcuidle +#endif + +/* * Like trace_hardirqs_on() but without the lockdep invocation. This is * used in the low level entry code where the ordering vs. RCU is important * and lockdep uses a staged approach which splits the lockdep hardirq @@ -28,8 +37,7 @@ static DEFINE_PER_CPU(int, tracing_irq_c void trace_hardirqs_on_prepare(void) { if (this_cpu_read(tracing_irq_cpu)) { - if (!in_nmi()) - trace_irq_enable(CALLER_ADDR0, CALLER_ADDR1); + trace(irq_enable)(CALLER_ADDR0, CALLER_ADDR1); tracer_hardirqs_on(CALLER_ADDR0, CALLER_ADDR1); this_cpu_write(tracing_irq_cpu, 0); } @@ -40,8 +48,7 @@ NOKPROBE_SYMBOL(trace_hardirqs_on_prepar void trace_hardirqs_on(void) { if (this_cpu_read(tracing_irq_cpu)) { - if (!in_nmi()) - trace_irq_enable_rcuidle(CALLER_ADDR0, CALLER_ADDR1); + trace(irq_enable)(CALLER_ADDR0, CALLER_ADDR1); tracer_hardirqs_on(CALLER_ADDR0, CALLER_ADDR1); this_cpu_write(tracing_irq_cpu, 0); } @@ -63,8 +70,7 @@ void trace_hardirqs_off_finish(void) if (!this_cpu_read(tracing_irq_cpu)) { this_cpu_write(tracing_irq_cpu, 1); tracer_hardirqs_off(CALLER_ADDR0, CALLER_ADDR1); - if (!in_nmi()) - trace_irq_disable(CALLER_ADDR0, CALLER_ADDR1); + trace(irq_disable)(CALLER_ADDR0, CALLER_ADDR1); } } @@ -78,8 +84,7 @@ void trace_hardirqs_off(void) if (!this_cpu_read(tracing_irq_cpu)) { this_cpu_write(tracing_irq_cpu, 1); tracer_hardirqs_off(CALLER_ADDR0, CALLER_ADDR1); - if (!in_nmi()) - trace_irq_disable_rcuidle(CALLER_ADDR0, CALLER_ADDR1); + trace(irq_disable)(CALLER_ADDR0, CALLER_ADDR1); } } EXPORT_SYMBOL(trace_hardirqs_off); From patchwork Thu Jan 12 19:43:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098761 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 AF7F0C54EBE for ; Thu, 12 Jan 2023 19:57:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8BBB0900002; Thu, 12 Jan 2023 14:57:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7A8038E0009; 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 02ECF80007; Thu, 12 Jan 2023 14:57:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id C502E900002 for ; Thu, 12 Jan 2023 14:57:26 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 76050140E19 for ; Thu, 12 Jan 2023 19:57:26 +0000 (UTC) X-FDA: 80347206492.04.70A8A44 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf26.hostedemail.com (Postfix) with ESMTP id 0273F140003 for ; Thu, 12 Jan 2023 19:57:23 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=ATY8kiKn; spf=none (imf26.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=1673553445; 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=KLAmYUkc5o4iaLgWEzyq0DD4W34Vw8wzkDDZ9nw8rNA=; b=QzvHwkU9VlnfGQJlqn49FZa9g9BqOgxFzzmA+Eeo2/3hxF9PgOHLWs1r4E6+2EPTnXl60s eEo4zOU1H9u9i5V2PgFr82JPQRyprhiovx9pAgm8xkclP8P71UsfFP4bHB4PMmSh5kj+Fs ELNy672q5GY/k5nMeIYanglcP32Pvzs= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=ATY8kiKn; spf=none (imf26.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=1673553445; a=rsa-sha256; cv=none; b=eYgTPpDAVJF6KqtAaJVUlf+7UJYrASPO7VH/cBfLiwKNwHnjowih8jecgdu/lQteNas/VO 0Y4Lfh++OGZdNqpzo4rJQgMpP8nFDUdUUB4krANO+h2x0TGv5YXt5XlXz3jFuq9CeGxin0 fG2eAOJghLJyiu3CL4kM+BD3hYc89Ng= 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=KLAmYUkc5o4iaLgWEzyq0DD4W34Vw8wzkDDZ9nw8rNA=; b=ATY8kiKnvovNgLEm6qSQ1EQvbq whhVrHfsY0Boal85ZRoFmxTUxBK5B9bIvgSX8kVgT6BcX1L66jwQCdPl/BWOSqcQGl2XmwgaBL4PW OKdsLfeNG0cKIyK4qLBg5dTibPOilkbVEo3W2vYUVl/MzGrlgC59H1LNDjakisaklXFACDQXCVqgH X3HA2n0rfn3BN7gYs5ZEmCkrHIhhMF7I5lLP2nRilVRm9iYl7qlU43ypHe2kjKrxVavesmViWu98M YhMWMygFonCR9p+h3EzH9ve+5v/3v/1iCRvb+1bzQnO8SY3rlhjeY9n904kFy8Lg9quCma5so/ETV SIrS144Q==; 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 1pG3he-005OgL-KO; Thu, 12 Jan 2023 19:57:34 +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 D5966303459; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 3DD3A2CCFB77A; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.538053457@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:50 +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 36/51] cpuidle,omap3: Use WFI for omap3_pm_idle() References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 0273F140003 X-Stat-Signature: c4ghgmqf5b8fz7d9a5531hu3djbtuu86 X-Rspam-User: X-HE-Tag: 1673553443-256748 X-HE-Meta: U2FsdGVkX1+pgCAEvWx5TrfMsDySBkTI3ehUS++drgsFNCmmeBt1LsyMq2w+hNt+6qSEniXw3ZaI3yeWQgPdIy6RHEV0OG5gB3ycDRwUP15jQYIDV6rBfawgDClvRqfAZoCeSNOwly0fGUVE0y5A4RYDl6S1Ja9f247ZD/x3mdQ+e+0Bj+gDVch+ZHrIczwePFzJFkM8rSLizxzvR84mCDAf5//dcc0wRJcvPKXXndhO7R/65KUSnXXM8DRadH4HOiFLq1P2d4zgiT0bng3a0Ooy2zBSjHZGvSve6+pEf61yPA+jKU8avtumWKhwesYOIAH3kK6BhHUlm76sVVe7EwdRofB5aBWGAGeLmzSBld9DKKals1IyfUbv8bjeya7WuArzj4Gf2fjx5KIJQe932xKfzbWKDewcQYPxxUl6VM0TW5jCxAlceEsf8tiYaQhvCf/ogA/NWOwTC2Us87+sQOvoeGw4G6ifX0Upyokebl99KH+gpFQNnnJYSjxwbbQlFRfpkTBAxwI6qjboh1HGxm2WisQivOE85sYW5E6fgESDhUJdgTjeth19nmBgbsS0CzsF/IkHR34Pb1YIkrB49FWg1hJ+eX+Cwm3t7eNbC9STNpQ9XchdfnC4UYO8QfZ7zOjWukB6K0jG/+TvbCLZe5zNsGEEC1Ak3C2jXHSVP5Di//vkidgHGOr2yiDYyww9HdwnKtFiy4imMhRBMICSW6kITlnbDQ/ddVB7GUQbzpfF1IvYM+GZi2lgGcWUa6ujrM6t7Vu7lipKLWkSB6hL+xUcC/VtFo5nlaH1il8sz5aRRUdipBLamqXZeLqe5at/Q9aLPAgwGOSC0ZM0GiE3sHv7hyP1tyMYEXSNS46Ql2nCYXJAHLD3haVlbjTCFxiIGkfAUt9VVAJ159bk7NlMa7WA4BEKmoyZ4RCDuIIqj06OBI1KL2Mc26ul2TlNzGYDsWDQbMNrkqrZUc3LeLo KgiRu8nG b/4ptU0sL6merkqd4BR35CS8M3tpahFAl+Vuxqd6fuALtsiJ0h+cE+SGDzubslutdOGWe6Szg6rQNANAwrfsEcf6QzkPWOHbSHzALDAk3OCuyKWoW1X5+fVLzKCbeX9hq8as9TqvsNZ2sitJ0sDUUaK9NGfynch8FTOruY6cow4D/3qAMzaJAd0koo1QmVF8Hw9Yir/8h02+MZlC9YI5kpnGRxkq9pB7/UpWpOnJh3XatmusHsUFRbA4xQDWTFT+2oSGVeOXMxX5ryh7ZwLn7a1Lx24zgu82tTueE6uIA62AXUe66SpexHOA6+vm/N21KL8wdNPGAMFzxQKNtG9PXrJmBKNshSdBpK6jP2tOHubDqqMRKVdq7UoUwdd5jyKmZUL007lVQbSuwV7FN2Y8LDCuod2z6XIUOOLx2eK+dOnq/hLDSnA5DFIAEEHSA5WkzLQWA8TE3JLcdCMIaba1ySSPXsJZcNrxfSr2P2xDsz1LM7M4nfCkmyQJ8xxa6IQU5j7HGz3j1lddQBJqsgy421T7I9/1bdIdOjFD+yGhhzVGUY6W9UR8iE4eMoDL3UxVOu1uAYH9pNFfo/AH23HWBX1M1MjWrIpFFOT/R3G2PAnr0W8bpEueMLH3lz1F6smkWH6F+8WppjL2fxGmNm8mNxYPumDlM2ZLbDA1dDBri7XnN5A6PKiokX2rGn9zmtG2CjOvxrc/HZ5KC18THUctn+CsyKQMVDQEdRArF9Z1w58thDGZwwtRPCsihoSQF9wCaaQ5QQ0WlzRg0xBUuyZJ5z84YmpAdkTzeHwR2jlkoW6CZBIOETQEbGVncW82nigg35O1oQI0korOPMLgqGxTXHyZlOBfHxax7tU8m6MCdcy0tNRVsXfC8/PcFGoWU0Gc1nDm56b2tnxzJCdEUhHp0Z9Gg5yu/ZBsp8ING9+09AqyOhgnOQCIDlKB1wT3EjLarcRVyVy09+1Cg2HUHMZSUNUEOC+Cn G55GzD7e xxI+uwUQ7r2dJ0AO9cpWXelumbJl9LmSdtP/xkmQ5kwyMOO+7cDYrY0j96Ppbso5rdXW7IoCTr5MY2dWPpMZ/Yzbp9JNf1yG5naxkj2CgYVAGwzeFs4IF4szpeRJYE2Jz93q7mMq2xo4peBK9QO8tsB3VxT+SMV3DBd1gXvL+jf1mG4NrMbTGyxzALqMK1pS2OV+1J8YjPie7YPML3F7bCoz+nPZX2q5OKk1XaI//+7aVBtUgu9kr/3J893Mjyg8ZznRoYkqUCX2mDlmZ3FDBd9JHZs60dJXoi+nE0N1nQr8DCfNsn7oZ3CEvZwj/Tn3QjLf4baURhjLiKkL+QyBtThuuusXUQ0mvz60JaDRL1RQ3owdScMLW1Y3iQvEqd8HvxNmr2DN9czxpL9pZuSzycszEqnn5L7b4HJcmVORtP87R86mSsotKGx4XXsThdNGyYex38S+PM8bY8a7GX9U9eUjoRd2Zw8UlrqvYlKN8sZo+kBnsgw1RJ1Uw+bY9S9b4GLrsIh8klrG5CrlkO3WZv+JOZ4In4brEogzZwoQ5XuLSDBiQ1dH75NE/bfW3r7r3FV3Ot/wVRPaV2CaIhJaIJ1GzjSUeSOW0J9fLkxGWyIA7Fbfz/m2KTVnKK5F5knoFo0uPOoYiq187u4KvTTZEeNMAgSX2GtvYnW7bySv/BfXZ5f7DVXDOhSnrLCZv4QgiYif9n/4iFVeZsLevGaWHx+fozowrk47p0hxdZH9nNarJxMk0ow/Gj9zsGB6I/Nb3pJk3uBdvGxZfqq2hv7bzpVRid0juqLXgbV47eBf1pAdacfr2eUzazHg9v07YzTx+Y+Rw5RVwq2W+WhFE5fAMi4OVc/r+HJGwL9o1Seu4dcazm6+r7GpsNV7S++AGRPFyjYCZ55+i+bSpSQUxKcEwnVKpiQpREcjWqG7nWPsQDzMDrbBsZCsH8LrqVBL+1t55qe6kWpeyst6OiFaS2BdGfeancTfr SVZ8Yyx8 uJMRpRis37GlTc+7PXa7q7MFd9JN588My+kMsUpUt4tHZdOLmRcipZTyiIwjDj/E5nqY+wwJ3fHXo4AsrPZPoktok7gHCQqxwHImVhjwbEuAad1vNSyfYOEoV8AnY26EgHrIRTqlbnG41rRcwt9BXlWHtZ0JHLsl2KppXvbhWWLtEHzB4SlO27MK/FxBOGC6DdTLWqFftQfA8jRjaQdvV9RPkyRXwj5YDdkT3DvDdTpfAq7yxNuKn1FH8yFnEFy2ph9Sk0bu1VsYoFhX0Jwbrn5A29wnheCf1AUaY1z2yHGJRQAS68La2SidQObROODZlKqTxeZ7bKVA1ML0JxMPKPSvhURt0KQsNn+uTqXfqgnr6dQ+cGTKWFj31fXNwydj3dEQAqHwlnytAjcsW0TEo0OSbgTb2eGLI+MRdSYrQGTuISkZkgBE9ykAmMq2a4xIKPETZ7cYgIN8hrenqJ0Dgs5yRXaw59uPooh3CZ6pNrFElEU7ABPANsUNAlV0EHC1p5M7RkumoZoS7HQ7yjIDTm3RAXRx08v1mYO11zZ7adBZgexcKLAaVjGIz/quiPO0mGF2y/fd+FxUSD/UWw/IrLBD+gXk4CIx2zo8FGX489ldzwrh1ypkjz0eMUjZ7uHd+zoJ/7RB4YOaHss5iRw9EGK3GwSMsW80lCpREbZPI8NCim1GecfenmhEWMp6Gikt4qntpk9fhiBWwnrOOZXMDwErWrXqAp5JKByuhZ+nchwJ7DZvvOC+SVLh8NiH1C+RgxDCNLHQI2dtYLxubtCzQrcIH/OGxwzLvq3AS+ib+uoIoQNN9kwJCDt9X7tC/L2lJ8MaO+owRP3jXTvQ/gxa/EXb/GycPJ+yBsdJ4VYXBB3/pqUjHSdDQhA0JEZPjLQUqWZZsJ+HZAye4CuKQDVgBOzJ8TXfutXqaM54jxGsB3B4iSJ7AmWpKunGzsydEScYYNgkH4LxeCFFVZZPpO4tTkp5Lt5Wq UZbgOSKr cfQlYoTQQOExUt1JpMWD87wg9cBmBcSy9kfmBB+kopucCnxm1IckzGv1FOIiJ3MgW5tQ+xe/XsER1qF7tYoqK698scVqJz67x+vNcnLGC3blh+FtuRh7kJR08Y/oUBqo0IbcxvUi6B0toxSv9dneTP 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: arch_cpu_idle() is a very simple idle interface and exposes only a single idle state and is expected to not require RCU and not do any tracing/instrumentation. As such, omap_sram_idle() is not a valid implementation. Replace it with the simple (shallow) omap3_do_wfi() call. Leaving the more complicated idle states for the cpuidle driver. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Tony Lindgren Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/arm/mach-omap2/pm34xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -294,7 +294,7 @@ static void omap3_pm_idle(void) if (omap_irq_pending()) return; - omap_sram_idle(); + omap3_do_wfi(); } #ifdef CONFIG_SUSPEND 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 */ From patchwork Thu Jan 12 19:43:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098762 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 7362FC63797 for ; Thu, 12 Jan 2023 19:57:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 35F2A8E0009; Thu, 12 Jan 2023 14:57:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2C2AB80007; Thu, 12 Jan 2023 14:57:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C59A8E000D; Thu, 12 Jan 2023 14:57:28 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id EC9FE8E0009 for ; Thu, 12 Jan 2023 14:57:27 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id CBC6E40E0A for ; Thu, 12 Jan 2023 19:57:27 +0000 (UTC) X-FDA: 80347206534.23.0287DF9 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf13.hostedemail.com (Postfix) with ESMTP id 1CFB52000B for ; Thu, 12 Jan 2023 19:57:25 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=J5s1H3wJ; spf=none (imf13.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=1673553446; a=rsa-sha256; cv=none; b=ITZScUnrA+02jU4VEMUCEsz3IZ8HOTgbX6BfwCxqvfr+DlkBCHKtXR8HjmvSVpmFe+h3T7 HWsqiN3hDeam4YEPl3o2TiHlCJOuGiJaWZrhkypmvcfUZvsphOwr0Oh88JS8sl2P+m/AQH 7EMGW2qABuRM1kLVIdOwrrEDHM/Q1xM= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=J5s1H3wJ; spf=none (imf13.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=1673553446; 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=ChWtbTrciVV3G1vvtlVpdXBjaP89UEdojcC0eA3JIzQ=; b=ySaVmogDklDWUnJglGNQkFd1y7+yXhGcthGEZ2EEdVVs97oz3TnALwBjfft8IP5H3bTklV m2N5a2R/TlbQJRzMkZEp1F5D+ggp5YTLZJTDQIChuAwD91SX5vfdI0slHpYocOBoHxsjsG px4cdJW+bly81aepho1JJJTlFUqWXCs= 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=ChWtbTrciVV3G1vvtlVpdXBjaP89UEdojcC0eA3JIzQ=; b=J5s1H3wJuyV1ZrYX35oWuMFT6u T7rkONaA7mOhYkZTPvPq7xCUfh89Ra86y5u0xgauRwd+PDKaMYpqa7ySs0cD65BuP9TlSYfchNae9 rHo3fB2jWIjes9nzkMjRdOry4NCkFwJa4nFQ3iESRw0ldiDaahTuRrbz/u4fOwdkQ7dPd1ZOukRfa ietaYuJhWetE6Rm/+Hjq8TYl+1zO/sGKsYAlND/4FsyKOfe/afpWWY3jSLNYcDyycmwWD5UQgOUAw 72qyauSQ5/8uDhzNtIN7j0cH7dMgtkVOtlqBUgLK/A0s3w8n28e1SaeQPCCMocxdiXwUDMbXXdabs xHfJPjOA==; 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 1pG3hf-005Ohi-Am; Thu, 12 Jan 2023 19:57:35 +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 E821530345E; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 45C182CD01216; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.660272394@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:52 +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 38/51] cpuidle,omap4: Push RCU-idle into omap4_enter_lowpower() References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 1CFB52000B X-Rspamd-Server: rspam01 X-Stat-Signature: gdh6378b1audcdphcdrsf6agnyh9u86p X-HE-Tag: 1673553445-648215 X-HE-Meta: U2FsdGVkX1+QZ5JdZ5wbXmCwLp0bcsW0+axDt4og4U7APv3GoEL1wAg9e4TcKCVo9P8um8FBWIo5ogVq4j5Z4DOaaJynZEnuHgt//2Wu+fNUQN1FGEpu7gO0fpXkdHqUACjbp2syUY4dOMF0o5nQ/tgzqmJH6xvcLcB34/sH6qxL42br+fi4bI6xjtZuksrDwpbUx+hPiWxeYV2QXftNb9cN4YOpHZV1nT47rTJRyxSYNzC/FIo9H4G6mWpxYxWozELzDFUSxBrs3yPomBUvCrAXhGXL7RdoH+oPyBDJUxpd9T+n/qqFqG7mkJ0uaHR0o1xZWASZX+TIWlNnTXWGFKmlJk1mVFfr6aCBW6138Bm60Qnym+bhZaSWeuvJYzabqo697oWIjU5RDxynWE/0Uk7oZ8Uv/yUHJxvoVjaP3SOBZWsBbbrGbxsfN3viRxLGX26DSLqcMDyP8ZQD9GavxjoQk6dP4aCCaW2SRETFbMvJ/wcS7gmXENd3nPYS4BmflKomWVdUFMEl6vFp5In6Z6WbzPfYdofaOTBpB3W1HFp3Facvc5CksS6p1TN+OiCnIcGTZnkmmgxayDw4cceHtURJRmwpcIHG+To4CFysiBz9/g9jVSa1C2qsIYYaX+KeaJr6vIoY9S7T2CmIgUIvakBiWPwLOqY8IME9armAglEspb8NyIrauTKXrmTdmpydCyyOqihRp4V8Kru+ag020lDxDbvm8s6/BvrS0YZn2PwJhAQC2NIMc78mMDQkU8yoPk6OuI0ydO/06TfgKmJ5uXSfy8ujxnz83AwUOU3tvrbOhbq5ng6EswgQAynG7f5PmxAudkf2kXq0ZxkHZ4CCIINooCiJzWh99lekbEwnR7o3x8sVFXx8jNZN3AMevuFIc2Zy/C9feXdD9LoAgPWx7IDcyJwnqYWEwFbgeC5EtB0uvQLsxF+vHcBG+EmteG11TISUZ27ZDnZT7pCQ+xz tcOknaxR qRlOY2woBz7gWsZ5ZG9FOCaICS5XRyhXblghkKuPkIYmfCzG6FotQpQqYGMdxV/iMFVTkogZi7kfInPSSiU+Vf/rFzGDJlh4HJrK9w8SexhUEfDWqPg8CQ8LkJZrbCrr6ZbAYw/FkvtpIysYer5WlpEgUxeclXXW6sz7GWoXjS8bOJN9VbE5Msivi/zJZdCqNq1w7e/FmqUJaOaR/B8OFhzGt3FZxBDKvc/ClZ1htOTfIUMvH56I9VtBfz7UwBLpakdQvFNy+uW/tJjeDWI1wh05SxvYHwgRvJA9pGmUNYEmmE8lulerH4tN09uXtsTLesawX6/V/cUBwrITKp2PboHO8phtD9M+vvGNdN/5klBJ1964CugFjY2AG0ubE+iDbgOn9Bz/bTO24LkzqAb3akIrbNiySf3UgWGaCRkL/HI1fhPJGpacsBax4IjPe4IyzediE0/FUis2kH3DVRAfwUo0s8yzYcH9MUGA03qcuTVxnbkiqY6c5EmAUtNLiRfa0PyP5IrSlafvonQDPS9W4DKBqpABCa90IGYgdUSD/Bi50Y2BmEBPoIFrQ31i2ndosBIRyDbs5s9JFqaAld2t+MV/WLJ367nnSLBcxuCmgiYIpPPFd2Y/UeqSUXs2jcQo6aOyzJBzSDFOtl3uHet2drPDpjcLrjbu+YPTYi95I+of8pGAQQ3ht2O68WYo93kcBXjLjxXQ0RerYkcg6gkQpW4tVZ+H0HGmSKOQeM0qEWaZv2hM9MVtecpeA4SfK/TI6wAm+F8gxHJ3q8s5kmWzjB4T81UQ9YEvuKV43bRQkiOQ7CyNgFQjwZUZNa0VaufNQJoB0Z/aZolaMjFmDpR+O6VbbnvS73WjUaH8jX2smMjBgDAUsckLuEgdANLcLTxUjso2kDFTO8UM2hrl4EtnYdROszkKSJeNdbOcIm4VQVL4TK1+7aoccyN8Rhm3yujWrvu6VdOlqzicGKPzPQYKIpqRfUKu0 2YgDN05A I3RtI09DFPTXbSokncdCCqMblSlYSCeZ7XoFf8bSpkQ99uRAnyLY7cVgWC/YUpMxaih57U7SetlHEqnvCFmYzXaomPAFh38rlnt6tcAj6b4OiuJjy+t5xzfDI61J++VuMTEfGRmO09m+fFXK6MAk2i/zcuAeXa3/72bQohjKnqC/pIrJYlMuGP6LFCKFzkBtOZ0ifA+93BG/q/5pvtTUUYbnR8yDVnxRS32OY9g9f+FhIbQ7vn74KBLblC1cjwolLj76xiMMuCReaKzvy6NquKbcVNWd3fJljYklR4o90oLxBB60LZccgLohaCG2ERwE6A2UgHPO6w6mLzYTdoet5jwk9SWzshm2PtDSR/5oj19DK+g4mPpe94O8kBKzz12fHKdAKETDnnC8tsbHvKlmCRB7XyStV9uxOWzpb3uZLkPYjf8dg7X1wTLBybmNmNH1amdKEPBTjXp8lXiraIJuo8nA29HY/q6p5lpOrUTnRbIgl/o8s4aKiEKUTECvtlPlcKljgDiQVhOElXMGVYJRVHs+B7hvgBkzby94QqeJXcGTPwx218KYo2nUpVZKYqkt8CtQtOiDFgO0rTVrsKTH56Pvmb5GA8x8jMJLZfYFpYaumnFtPeE+KtpZbePUNmMQiApYYp6jmZcMHjdmOviX812hKBy7T63v0YV7sFKuyFCkgxJZ1a6P8sw08bqY/FppdUpX1YbDECJ5bQtAOYQwAXfzAvdyBFKecZDBg0BQBzK/oZdQHm5FwbBI8dymrtDDVbUyvdwzq1xJpWTah+ESg9msIWD99iufEEjBkMgTZ7vnkYDVrdbFPZDMxyuFE4qEfitWRVC8+D9hFHr4y2571mLyXqVoFmqeem0jghhaZUFKkhRGo/xwXevqR27qHUV5fXRCsiSORhwEnPNifG4guOhQAqfleyQWFI66vN8Uc6G1jcC6he/jkpidMHJj4bL9wpOUinz8CFsIKFFzDtMLckIYttw8F uCukcknm oDpP0R5/0VjeyMlLUcbJqiyK+PlhpE17izbZtW+bOHZXIwMPawbTNYh3/Bm+Tig3V4MEd5h0j62cOaq6daOdhki5bQ5ujw5+oqvOwxRfCoMIT3YyDNGdbzJ/LaKTCMXOi5aSTt2ffiH5zmxmi452YN/zQEedvUbz8w9zfbUuS/0bLvibFKvzLBtdNbPyN6QC6BDSpxwlGao4xiLIccl2KSLxfvosZlpZcor63BWGeRDd5D+gfIPREAzg8fQ391XlZC99QWVrS1bUQGm+obtCB4qH6XbO76ZvWXh4vuoP2En+jDKvNfNH4q+rhspBYBQoyT9VdDqv6J3cuy6pGD0xJvHmX4MhsTbVeLEz0pTQcAP6FZe8s4B3bOHdDrMJbqnCdv3HtPZtQsKZGU2SCrZv8wu6DX8BX5F6AmFi6WmWRjENmYDbydWwL7sUSNV7h537fgG0l8Z+r5oDeLEnopdQTB0bBtAMTdjHfoHRvV95yTov/hC23WGmpoLdPxxke/RQBuYG47+2/00Hv3XIPbeOPj5rR0tp4VZgfuqodkc8FtQ5LxDdu82XHt1jGt/DHcuuCYjVKVNe/bduVx87/pyyWjCqNJzXTJIbTI2ALWt4VmFZ1KbUAHgpQr44Bv3Lvu0o7k/JlYJ3kI6oC1Hf35MO9Ff59cEpGriac88EfxK0f3ylObOGNjL5DLVbwE6N37xmy1rVgIbJYjm/Im3P43YZn26nrgU9fIZH49nXbmGuyKBTW2XJTd/g8IDZsMnUqIC/YaFDPMsuJ99ul6rQ+U+05/8YORYA8e38LEjFzJ/WdHVsMaI1wGNxHvAZpO/lV/sQuCstt3LJzssmeuzbk3erbogiCCxfQ4c+3cOjsPUO+HsNZFxi+WNGZO9CH+qfrLZ/5P8nHTFWzMyIj+rytbkDP1MLPFtnkPvclTzfE8LIAZ50yuHmI0ekcfLYf6bz809eTVlkepn2aqzDkJstFtX7qejTPRJO9 DdVo2p2z f1mwaZ/xZ8A/83OrOOMTX6VOKVSZoq1wpMxljPJwwOuQBCKGOc1ZTP8jq2qF6h0sMBWeBbHYmF4a1oDxlgx4rFiWYK7OE+Mnd8tSNc90POchJl272dPikr3hTBDTdViTa+M0A98reWg1PnVGb9wCLc 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: From: Tony Lindgren OMAP4 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: Tony Lindgren Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson Link: https://lkml.kernel.org/r/Yqcv6crSNKuSWoTu@atomide.com --- arch/arm/mach-omap2/common.h | 6 ++++-- arch/arm/mach-omap2/cpuidle44xx.c | 8 ++------ arch/arm/mach-omap2/omap-mpuss-lowpower.c | 12 +++++++++++- arch/arm/mach-omap2/pm44xx.c | 2 +- 4 files changed, 18 insertions(+), 10 deletions(-) --- a/arch/arm/mach-omap2/common.h +++ b/arch/arm/mach-omap2/common.h @@ -284,11 +284,13 @@ extern u32 omap4_get_cpu1_ns_pa_addr(voi #if defined(CONFIG_SMP) && defined(CONFIG_PM) extern int omap4_mpuss_init(void); -extern int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state); +extern int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state, + bool rcuidle); extern int omap4_hotplug_cpu(unsigned int cpu, unsigned int power_state); #else static inline int omap4_enter_lowpower(unsigned int cpu, - unsigned int power_state) + unsigned int power_state, + bool rcuidle) { cpu_do_idle(); return 0; --- a/arch/arm/mach-omap2/cpuidle44xx.c +++ b/arch/arm/mach-omap2/cpuidle44xx.c @@ -105,9 +105,7 @@ static int omap_enter_idle_smp(struct cp } raw_spin_unlock_irqrestore(&mpu_lock, flag); - ct_cpuidle_enter(); - omap4_enter_lowpower(dev->cpu, cx->cpu_state); - ct_cpuidle_exit(); + omap4_enter_lowpower(dev->cpu, cx->cpu_state, true); raw_spin_lock_irqsave(&mpu_lock, flag); if (cx->mpu_state_vote == num_online_cpus()) @@ -186,10 +184,8 @@ static int omap_enter_idle_coupled(struc } } - ct_cpuidle_enter(); - omap4_enter_lowpower(dev->cpu, cx->cpu_state); + omap4_enter_lowpower(dev->cpu, cx->cpu_state, true); cpu_done[dev->cpu] = true; - ct_cpuidle_exit(); /* Wakeup CPU1 only if it is not offlined */ if (dev->cpu == 0 && cpumask_test_cpu(1, cpu_online_mask)) { --- a/arch/arm/mach-omap2/omap-mpuss-lowpower.c +++ b/arch/arm/mach-omap2/omap-mpuss-lowpower.c @@ -33,6 +33,7 @@ * and first to wake-up when MPUSS low power states are excercised */ +#include #include #include #include @@ -214,6 +215,7 @@ static void __init save_l2x0_context(voi * of OMAP4 MPUSS subsystem * @cpu : CPU ID * @power_state: Low power state. + * @rcuidle: RCU needs to be idled * * MPUSS states for the context save: * save_state = @@ -222,7 +224,8 @@ static void __init save_l2x0_context(voi * 2 - CPUx L1 and logic lost + GIC lost: MPUSS OSWR * 3 - CPUx L1 and logic lost + GIC + L2 lost: DEVICE OFF */ -int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state) +int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state, + bool rcuidle) { struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu); unsigned int save_state = 0, cpu_logic_state = PWRDM_POWER_RET; @@ -268,6 +271,10 @@ int omap4_enter_lowpower(unsigned int cp cpu_clear_prev_logic_pwrst(cpu); pwrdm_set_next_pwrst(pm_info->pwrdm, power_state); pwrdm_set_logic_retst(pm_info->pwrdm, cpu_logic_state); + + if (rcuidle) + ct_cpuidle_enter(); + set_cpu_wakeup_addr(cpu, __pa_symbol(omap_pm_ops.resume)); omap_pm_ops.scu_prepare(cpu, power_state); l2x0_pwrst_prepare(cpu, save_state); @@ -283,6 +290,9 @@ int omap4_enter_lowpower(unsigned int cp if (IS_PM44XX_ERRATUM(PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD) && cpu) gic_dist_enable(); + if (rcuidle) + ct_cpuidle_exit(); + /* * Restore the CPUx power state to ON otherwise CPUx * power domain can transitions to programmed low power --- a/arch/arm/mach-omap2/pm44xx.c +++ b/arch/arm/mach-omap2/pm44xx.c @@ -76,7 +76,7 @@ static int omap4_pm_suspend(void) * domain CSWR is not supported by hardware. * More details can be found in OMAP4430 TRM section 4.3.4.2. */ - omap4_enter_lowpower(cpu_id, cpu_suspend_state); + omap4_enter_lowpower(cpu_id, cpu_suspend_state, false); /* Restore next powerdomain state */ list_for_each_entry(pwrst, &pwrst_list, node) { From patchwork Thu Jan 12 19:43:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098776 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 A94FBC678D7 for ; Thu, 12 Jan 2023 19:58:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9CA6280016; Thu, 12 Jan 2023 14:57:40 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9521380014; Thu, 12 Jan 2023 14:57:40 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6942A80016; Thu, 12 Jan 2023 14:57:40 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 4CE0280014 for ; Thu, 12 Jan 2023 14:57:40 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 358BDA0DE3 for ; Thu, 12 Jan 2023 19:57:40 +0000 (UTC) X-FDA: 80347207080.01.AA7F56A Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf01.hostedemail.com (Postfix) with ESMTP id 68B2740018 for ; Thu, 12 Jan 2023 19:57:38 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=EGHw1O+V; spf=none (imf01.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553458; 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=xUXFMmNjQb3UrGtSZK0a2nhjQSuKqnZvrBUrV/kGZ/M=; b=spT4w+sIJ/E/LgfmordWFTzpOxyYX/wuJCII7k4zAYZglACpZ+AgCAGcU3JLK9gilasVkP kDxezHbpc8+T/9MExqxPJnZhvULlYNrxCb+ZoEhU9qMWamNWYFV28x4Ko7uw70/ip67hFb f7f9QOQ/sA3oqIvk58mkvHYeRvCGP/8= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=EGHw1O+V; spf=none (imf01.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553458; a=rsa-sha256; cv=none; b=y1xYJoNYQT+9jbvuSDcO6phQWjBgmFXJdLutlPtILUN4TdmjO8LW+yPvF52YLLwnC7I5os TB5E56KLgwupP/7ii1vyzvC9SBqAT6DUytH7zLG24x2xYdKuMOfVTTJRSDQyPG+D2jBe+f 5fZLuQxuu6qX+w2kDTrK2uTJd5I3PWU= 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=xUXFMmNjQb3UrGtSZK0a2nhjQSuKqnZvrBUrV/kGZ/M=; b=EGHw1O+VhpWPdN6gdRf/7GSjeB 0UpV5ZmI/qCVEO227xSy+GcxcSibZfsbDMVhfrklK7v8AyIqqIkF1gP/LgqbAi0mW/tE1qC+L2HXf XvBUyGgq1DaRfzAcG0kIhWQHmV+EHqARCQ0PI+HB0HkJFGK7wif5gXf8cwDpdM+B6kfu/O1OCdau2 pSpg2AHgEP6HHM59oP5MZjnLVRtw+NHsWIOGgIai3wNHA4pOmXIQM+eJ6kD+gcxp4nDfUTp3XjBF5 ju6vS//9JRlSRzSlmnzBFsdYZAx2plCN0CogGHUzlIGKzhmNE0tcF4m5z8v0nJtN+98R7CxLONDQE HdNpFULw==; 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-0045pf-2r; 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 ECA69303461; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 49A802CD0121F; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.721697850@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:53 +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 39/51] arm,omap2: Use WFI for omap2_pm_idle() References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 68B2740018 X-Stat-Signature: cr43aoy7hshkn8nyjxiawf5ijii6f3p3 X-Rspam-User: X-HE-Tag: 1673553458-638086 X-HE-Meta: U2FsdGVkX1/DecayW+kvwrwzn+/dp8bubpxe4sv9AEwVwASEqPaPkTA0BwiDgmVSb5dVU5z6L2Dt0muRc/UpMdc249K5XEOPUa1vptq6M4b3y/WUiNSd/enYwG4LCc+zW2YK9EtM9qyBII6HONppVDfKepq35tNcdeBBWzFcx+axy95lZ8wsh3ppZCqPfXx4dmio6ihdvvB81xLPUutEqzBa5rbzw0NgaV4IL74RaJ9ZXVrhNwUcuZ0c/JKcRfv/SJoTyTBRHftBZPktNIkfzGyYtJL5wSeIfWaAIOyUj2RhRyGBBhAISJT8Cs4qpjNuPbJFDbaom+BxAbw/WaNIloc3a93sPeAeRcELTJTAAO0Xp2fNxYj9WIz44kj037drbIAgDvY2mCFu8CTmEBWFMVxGGoGH6P0uC4WdbyBkS4bPImvWsZTByM4KM0HibCuXLk8+exg2ML6P3SldSdycAD9g3guWTWh8/Um0f8GC1NlvFMXuzLwYcQOuZl5fsh7BiHqrsFc0kWCVOVngdNCpRMwvSfzA1gzB+xw7cQBmURXbd9yWeHi8PAHQp5JVNdwaMOO0X5D9pOGO8ZOEzKS0C+JfuvRTZlVV8jdnCUZp1+MFq6dpz0geVnS5IUJNTYACJIYPxrZjZuvYWXTB7+LyzmbaF7l+XQDu8g8bKaRsf+8hL0DYtGIjI3/7MtAfAmktkFZMVsFG+5n5T/9dKSjlelv5PXscKK4MxMKXvPcdqlsc8hRz8yGxGkGztq6A2IIg+LHDdsF4znSt27yLqgfjAtCuBxjvSTsfKZoY3ABwGhxwfwKh9TO2dLJA9DiGcJ6lARdpcgPTJq4XXVA9SJ/kNE1tnZtM8T0GRdwTDxn6LWHhADOJa4Uc2u/ShxjxjfWCcIsG/7p6lzu2GQoFkomcgB5Vy7exg/SKd0AHwI7Uwjq8mdjTWphWmY2d9dTV66/lunA5rGRtEnqrRynuGes Vwb8rkka wbaFGpzXqFbz7fNPk0R5j+a0ccCT2oo7YbdOVMFKRVhc8pTpPai14ndWiuygzEcdbhP1kB9iBvBV3Tv++7IVUmznTct6gzW4iGGDtagE8ElvJLc/66KkzS5ecy6hIOVt9Max/kT2Q0beAuT8UF2C2CoQLRDVjCChdCMh1SH/X13RAMQ075gQxLCW62pLFQScQt9bveibpIRYbIIcsn+IUkvfmtPloD8x9tcc0wRw8brhTLqePPwoeYw1s9gDs5/dTVwkPUQki9PJfaqbsEFh4v8N+x7r9+C6owNshhX/N53nIJw02hfpa+XHNqD43gMnzQZnGog8sWOjkX/OicAKEpGkoTE6G5hdLNsB/nizN4RKUCLdBjiU4DfaD13rSpagdlce+BqHpE4kv4epKCRNLOKMAjHSdB+hcFwEvHMBsIAJXCo2viuQPYg6thVFk1w1Q0+cr5Onyvnc1BLsleGuh8A1LOhyRNxKzpXk3Ok+X9cnD2aBhEAEdG8J+Tp3BZfT9r3yLcLXqdoCrjBb/zH6EMfkFg6kbka4gUbeQrld941lDMyv/2O7G3E62hRbEcNa67TNTKJnC/lexY3FMWj0OJPYS14LGaosDRlted2cInn7XapvHrI4Lj00v/hpbv1Dt4L3npw17sC56tPK5JrXUHdx9NAcRTdnT4b46I3vO04/atUiAhrPS7NB5Njk9cnJRqEkI8PY0S/bzoz2t2zBHOISYKzXZbkZKpicMCiQd9uOEgGHI5ulyLUAJ1Gmzbf8ivMZuCuL7e4kyUt4mzBxMM8Jvx2B4rGFaCwiVtSzL5adRMhhQrsziv+KWvNZQnoKcTRtGKg2QCUAEBaDLwpXrD0NwK4OEaO1axxCpZOucMjNbbiqHL2WHxuub/O9htG9mFDbx2Cu3fgK/JB2CUVCHHyLDKNqRVf2ckxs56Uwh3WWvcp7/+o/M/zKy4344mJZ90hkujNma+ETGCrk8EIYa6vp+5+IQ XJCN9xTf uEhToxlieWysmZdATTQF7nDOoW72NP5TYBQHsCsPmpH3EeYGWC7sT/znUHJN1RCEixQPE6L4m2DQ8eD/Ge7mrQCKDnnO3iMbtVBrDpCweW1zT2aTq9X28Qmosafe5Ntu1jJ229ggSNjbnLx+DqAra1KzlIqvNMQtOobGqFzZKDRoUsUx5idGP1xqr9VR2b/xzs7NsyUarf2kHzqndhxFO37eCzqTwtCgvd7+nmg8UQErCAh9YoTkPOVX+PqMLPCjbFF25OsydZ/pdm70RQ7pLOpP77H2XvMGiqlTfANpG6Ww+aKqHHnsJvQJqZG69jaGqEMTppEizpocOVdZPQ7ZT3Fi5xSBHS/UbFBEgEDxnOUytgXAbKgQ+3NMf2PN74oJinxk6UvnDEfHlaNrj/szhxSTR0cc9kgRyaynb8QD4Fo3oxxxfvYjijz4AWePU3BSOt8Ja2ReDni9ZSDh8VG6EdeWCHuIQ9qKeRbD/Q17tEMnHmfkvuOISzC/cKiMTaVA2TctlyVgw+SD/YQb+Jcu6WluLO5SOPnSMM7OlbLUAzGeXOLXWo6Sopt8YuE/bsNwjQGKN1d/39Zz5c4t2Yrmy0jdU1PgKOpYsRTEfuoS6eflBveGIAOqd/n4wlVJW880WGNksZFd5zrVBkaA24rNa5tJT321s4MhZ/AeDMcp1+zWCk6Y4Spbj0kUcj+qZvQHksKxYw4/TUUVpDrv+6VDq+y6riImP0oHgJ97UfpoBEYQW5Y897Uu+r+r3h3OH5jdbNbxSPqWdghM5tCOSHuQFCS8f+G/kcK4K8sbN3ri3owJXjVjtGdqtmgEqCW2fHD4kNVwNKta1boBuFVY4R9lrL5JMgIK8zCVntd6JwZr7XP25etIc6WOYhd9jbWKMLpyGARzB8JxAVOtMQOoNhXh8nKe31yfN5f/l+3vv9xYGFpHLBGtyaODCKZqyiG4li0vfWfg884Jnm9SZUd7xI2kTnCvJ+7gG C8Kn1QjN B6UJsktCFtTtuLwfM5y0Me3ad7oSJhfZqZq/TcdFdLU2Cj1KOVHxHmbrozLopiyQMKrjTf51NI8APLI9EfoDkVKjK9P8ozZgcJJKer9UxLJ5kIMiPMOlW+FRN/SNygCkaPnJCNltcoyzxyUt94awIWeLQXnaLeszd4Im091AnQR2ZcnaqrUfBr9f4Aiw0kPjlOEUF0qc52RWbnfULcMFCvMb/hpUsMifUcrMb6JT1zPCtqu+b2UlrX6cGVhKP+8XRx1+rE0r424pJEhm2TONrvnfs3OF09yn3XqmUZHfcASaLt5zmoSgmGGa1E4MUnyeLN3itrXi3sFO+JOOYe2dDn2H36lFbT79+wuzC8OxxC8O63QzW2LCvfwAvkSkovpMHR+IiHniDRzmDxPyCXX86oQqOcs4o1zGyhMijhEW0VFVBF047qAi9HrmGT7OZeQxWymLJ8Jz2B/IO0/cAQluCcww9e9yUVtL83uvMUuLl6IoCquAVVI408J5Vjs37aaU+hSaY0hZMVCyURRrlWOGbp4oW4hjPmDUwj8OGJOjF7rqw1ADEGvTUYUtzzX23SS6mPH/69+5u4lRKL1fNep1Am+F/4mQeBKpTjJ/BJsShZvmVY+CN1cGK9uaB93iXjbIKRExLNNxuy2Svogf9r71jHYpZNUbZ0iUDt2Zrg2tQZjxKzcc9lNsk4ICSzKCxB03KmwgWwx03h2L/EDn9G3MOBPBZK5HFYJz+eIwhB+5gkbqYZzvi3mv8pFgU/YrzNVjZDrRlaqluIghwX93MukcHfBd4stSHK9urw3xBIijhGRUmxv7ZAOR60va3K9+cAKGKWvzrXKRnfxpv/UqpXbK7hwsh+Rdt464Vv9PMohnsRsMameB1y6bhbet1d7sob7qk6nsC7Wir8FOXLmUAV9Ce17+CDNb0/cl3G7QQ6gwMdSYP97tbFsyc+9u37zb9K+nZ8qeq/9fMGtxaEHIRHwZ2OcapWYDN PJ8c4COP d6Af0qYAe4bKaEsPmYykUEsvn/M0e2+/1rrSlcxKu1GoMsHf0Gd2bJACnVTrdR/qYlXHTnjsYEvepLZN91YuB8D6fLIWr5ZAUtD5olPL9ZqKwNmepIIk+niPpIx7YzIHfNM8NlVsaXuASK6FkDZNpU 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: arch_cpu_idle() is a very simple idle interface and exposes only a single idle state and is expected to not require RCU and not do any tracing/instrumentation. As such, omap2_pm_idle() is not a valid implementation. Replace it with a simple (shallow) omap2_do_wfi() call. Omap2 doesn't have a cpuidle driver; but adding one would be the recourse to (re)gain the other idle states. Suggested-by: Tony Lindgren Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/arm/mach-omap2/pm24xx.c | 51 +------------------------------------------ 1 file changed, 2 insertions(+), 49 deletions(-) --- a/arch/arm/mach-omap2/pm24xx.c +++ b/arch/arm/mach-omap2/pm24xx.c @@ -116,50 +116,12 @@ static int omap2_enter_full_retention(vo static int sti_console_enabled; -static int omap2_allow_mpu_retention(void) -{ - if (!omap2xxx_cm_mpu_retention_allowed()) - return 0; - if (sti_console_enabled) - return 0; - - return 1; -} - -static void omap2_enter_mpu_retention(void) +static void omap2_do_wfi(void) { const int zero = 0; - /* The peripherals seem not to be able to wake up the MPU when - * it is in retention mode. */ - if (omap2_allow_mpu_retention()) { - /* REVISIT: These write to reserved bits? */ - omap_prm_clear_mod_irqs(CORE_MOD, PM_WKST1, ~0); - omap_prm_clear_mod_irqs(CORE_MOD, OMAP24XX_PM_WKST2, ~0); - omap_prm_clear_mod_irqs(WKUP_MOD, PM_WKST, ~0); - - /* Try to enter MPU retention */ - pwrdm_set_next_pwrst(mpu_pwrdm, PWRDM_POWER_RET); - - } else { - /* Block MPU retention */ - pwrdm_set_next_pwrst(mpu_pwrdm, PWRDM_POWER_ON); - } - /* WFI */ asm("mcr p15, 0, %0, c7, c0, 4" : : "r" (zero) : "memory", "cc"); - - pwrdm_set_next_pwrst(mpu_pwrdm, PWRDM_POWER_ON); -} - -static int omap2_can_sleep(void) -{ - if (omap2xxx_cm_fclks_active()) - return 0; - if (__clk_is_enabled(osc_ck)) - return 0; - - return 1; } static void omap2_pm_idle(void) @@ -169,16 +131,7 @@ static void omap2_pm_idle(void) if (omap_irq_pending()) return; - error = cpu_cluster_pm_enter(); - if (error || !omap2_can_sleep()) { - omap2_enter_mpu_retention(); - goto out_cpu_cluster_pm; - } - - omap2_enter_full_retention(); - -out_cpu_cluster_pm: - cpu_cluster_pm_exit(); + omap2_do_wfi(); } static void __init prcm_setup_regs(void) From patchwork Thu Jan 12 19:43:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098780 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 B16F2C678D8 for ; Thu, 12 Jan 2023 19:58:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC0648001A; Thu, 12 Jan 2023 14:57:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D49F580017; Thu, 12 Jan 2023 14:57:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9EF398001A; Thu, 12 Jan 2023 14:57:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 7F5D680017 for ; Thu, 12 Jan 2023 14:57:42 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 61F73806FB for ; Thu, 12 Jan 2023 19:57:42 +0000 (UTC) X-FDA: 80347207164.14.A4FD421 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf08.hostedemail.com (Postfix) with ESMTP id 39293160007 for ; Thu, 12 Jan 2023 19:57:39 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=EXFl9MaM; spf=none (imf08.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553460; 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=4aFpXbTN+2q/sQWoIhQXRuBIzQdX59WKAp/kjFjx5nI=; b=rCD+QOAlhZ6K+++tVKp6bM5k7E+1hnNjeqr9GO35k8cLQXPVzxjqz4djpcGAZQQIX3kwxL Vsf6M82KUra4jUIPvF7sOQNDxItzQN/y1xnG0pW4ztJLe+3NxS6mIQC9YuzqZSG8SgliLv 2L2agnoywUpLOPrKMTggsZogaU1H5IE= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=EXFl9MaM; spf=none (imf08.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553460; a=rsa-sha256; cv=none; b=4Phn5pPag/VTcnW6CceQVCwdsddoyZwUPPzf+4sDfYIIZgpXkCdV5wHTcCdcipxeUPJVFr SM1jrPkCOPON8Bw8xMhIyO/2Pqu8Yk8jJq6oOdEC0gp4jtHpEx/dsU0FIrRDVXJGwK7OeG 9qJcHrVv9PGKEon7DWozsj7r6/Bluyw= 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=4aFpXbTN+2q/sQWoIhQXRuBIzQdX59WKAp/kjFjx5nI=; b=EXFl9MaMND0FkMicNKlfspElVB huiMp2O7+Fvk4uwlSWk2b77yH7f4axNULDLOvrmgF2stY4NTNGRJ25ZSpXd9goBg/VkJdWWaXP+Gr Of7rP+CRWQSMlE+dfMMiwNu6KPhGmNs+/4kt/1x2eSDBQGLkb7G0JxjG3bjP6egK+5K3BYl2NDXSI EWmjrlA8t5XxbT818dX7+Vt3AqBBUhu093wyPACd2zLypjFT7H2JDrsNcfcD/XHM7W3wj7ZN5Nh6N zG0q4ipZCd55Lg30zpCT0GHj8smeXMq8oSjlRgA598BxbO+Tnb+HSoRDuOLJvyhSzEi1pRgNhbbQw 1dyt/7Iw==; 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 1pG3hL-0045pl-2Y; Thu, 12 Jan 2023 19:57:28 +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 F297C303465; Thu, 12 Jan 2023 20:57:13 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 4EBB62CD066D0; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.782536366@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:54 +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, Ulf Hansson , "Rafael J. Wysocki" Subject: [PATCH v3 40/51] cpuidle,powerdomain: Remove trace_.*_rcuidle() References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 39293160007 X-Stat-Signature: m6zupeqahnkyj9spm1wu5n3g4tpii8cq X-Rspam-User: X-HE-Tag: 1673553459-298222 X-HE-Meta: U2FsdGVkX18vBdO6JwSKiuIGcjN31EXl2IppVgZoVvcCHG+D2eK0y5iFE2lhisUTINAC+rHkCpv/Bxtr0/trZk98LXS5w+6SQxhpJswT5vPr+2t6DbZf20vF97dsrPn5pFQsNptwqxyuGfVCz5SW16fd+fxvz7e4KdS2oRxfhH7k/Flw5MTt3p9JZMdTD++pII/ajB97/OfE1rqio03xLBRdDpXaqr4StpqGmdk2EV6Teud83mQunpem/NWibaV6G+tMuowI9zyo4jiBn7DFXLnL5caL4CVa4INZ9HtQkuR0hJN90FsQk3xFMeOWmo9CBknNq9WXCGUJws2CIOOmzJTZTnPA/E65a4SJCoMJL9HbxCkuIKjTJOV8QAHIjDEtp72+j5GGb/ome/tu3OhwYmZhGTJ+JQPCyUeBWNF2nfQOkNGmu2kcOO03XSFPmmaqvXyMO+WFLCcF2L0jX+rHz00sDOpLX4h46bqQVuBBYm+OIxLauJqEWmCdhgD1lvJK6laVNBx+4ee/s+lMGXwM6jXBTTva5PZbSDqOXHSBzrfNyJaru6Gf1ebFVmXnRE/MgQVlVVrS1tiJjGuOCLRbKXDzKeOETPyk35cboMDn6uXmo54QHNhnA10rzNTNjNOYQHR++9gQSTdvNjFfcLnfwLaSmRgJ1+bhBQuvY6S70vVe52aWVNHs4oZQ1DnODHeZxL0ffK0dB+t7/2+ZXqffXnkOzvo7HdxGm+NqgrQR+Hh22VNyUbb7zjVZafzxjv02Jf2nMpmPQ/1chaS/wirsuSGzEsyC3DZNmI8+Tcs4VvAchDxVnhi/idgMt/upBd05J98YrfKDebNqx6lXdWYShzTS5OMucKmeVKjXq8/geLehAYfrNAuJ8H3uJRi7JDJA2sEmTl+XFjzHCDQ/qIQYXrJP2xU1SPqx8U32w4zGd1HYUCRKcZvjJNgVGnQE/HKOdFyROK7DtKhYXKnG5y5 6Xz3J6/4 pm8nUgqbfhZCuzML8GQsxyLVwkegg0KAvYIyxt/n7y0DqzyuzOWdhFMnO1ffnmPK2KxeE1E0O8GmaXfczV3rh5cfYyYfEG6cr4gUzCJ8nXzQT4zBsFqD04OjK66uyNIu7T/E8sB3hKoSeMRyZ3BX7IrUy8/Z+Fx4Li2NTj7YyQSzsLNDo8XI1vuoqRRPPWT90lUDTYn2DYmG/7IkGMCAHMzasPrB2ZnwY2zpbOUU3EPdui9goq6SHbJCTWg+efKmyu7tKW44dWSV+0OzcvF9N6zZLe1bDQBSVNdR6YG2TsE53Mft0gGNyVvGcNXZx0f/G9iZTyMXETw7jL0P+Q0VkvrKWA4S1Ml0Teq//zgDDGGnUelr97sf875bzU1sMlMlKlwbTT8mqV5seSLTdMcm8N8aoF+D/YJul+zz86HUHhRHiw9zva75NP4rZj5UqNZWkbi7rYe0mUPKS+YZwY7/HPcNckac7MU1MNwcjUky6ztVXUL7zvJjgOm1UEXt2THBHv/uk4FxozSAfFcZSIHQKlSc233oJllUY1K6r+K5WH6dMCxEpexi7jvIZF1xBYBmsyxyXkVD0ucWO8wuCtwyTGmFklpyukzbzb2OEcOtFN1O0WK47Secwm+Soe+yXJDZ9LtOl4uRTT9lEkfWLl1KYJVk83e6CHZbkEw8MSDznaQlJReJEuyUCneqjBxdbaWAfkBAuAY1QRdhMtv9BHnIgg/kVGCwbOjJm2rmcHb2B+r75Xm3M0kiR8gJdZ5/4VbfMuMVq7/ALPVlyeY6xFJuQVkbSDR2Xia60WH3fFXn/la5PPQzR80jVhhoInd61UzERLGgCD0GOuz4n9YOSDiBeNRMPW2wsMdDIZRyc2ZmZ+aMjmAjFTAKTeH2U8snycNEIuincBszhzu2lC6XkUmyuQBFBetC+GNzgi/ifsCxRu+lboLqIgvxYkVtvUEvA2ijJLzdh2MPmT0m/XfdWi8PyeODy/IWk oFBCQgsB TsuomFmelRrXV4IToq0Kp44RrbD1Dseb0MR8iGS/S7rZr3NcTqVBFV8u14DcrtH1nab4DADnX+YdMD5jz6NAAABVrtcVn0hUj0kkG/+X6ApT637JnyphBOto4sOMDXbHOlaoETJRz61G4TBAR+Txkf4uGZ/kR7fy8PX7RL694A1GxOCyNMy6ePlsEdJ0qeElRZXkfjB0ZqufqyDwHPobYbHkEs48Y9OE37vcPSuyjxpOxxqb3/E5R47G11pPuX/d8cMQ1qwCydBN9vpEBkkhOMBipZ55Q8TpzE9mSAeVFc/+iDHDvsUzl+qxMEfSZ+s4L7goTiqefKB7V1O5o1ApWkv6zU84Oj5jDZ+AQoscdJVjU8hZYiMF3wu6iq7Hyh+G+oMcGNnp56N2vncB7RtyN0CmLPe7P+DMdgGIu26puW8IpOPiu50d/uvZ7tjc5FOATrhAtyBBkC7ZoEbKTsQmey0qQNH7FVTdyuouyqftsoECr47OD5CZ2cJdrbkAbMMzP6BrI6Z0OH4c9XqabQfMBSYy3f+G/t7KJ8OyrPb53V6vLjAbXq5zLG5mrpLzrTLaVmPw/ahMxdwmv2A/U1LUn3M+qVHUg5BFDf2RYDZHM9R9UK+0isBIjxvziTrgPIGYlkpxtdYcvz1zz2p+vJjqOo/1xZT39HOhWOoFvCJ+YaDTjKUENoalPr1Mw2LBI2fv25ON1g1TvML7S1y1p4jMtFT0AwrySZclku2GZpf0yC3jzelN7aecenPxfSMC1UKHDxD0NNlvrOUIZ6EZPWfsF9lNEUeX0mrts51s/e6R4F3pDRa+4r18iP7o1xNw22UxnVgOCTiAi59apdaxC8X8tZnj2FRB/PfzBZcdjRJBlSdG0MKpfweiDAVSvn3dAzlU9eH9qmI8kLcNakNcPj0DHS901C81OloudmEKueebS1tfjhLXQf2b5R67ajkJ2PGF7ZFTWdCIMta5R/KaPqWOtjgP4A6ml cYGTvVre NGMRkV1drVR7E0TxrqIU2AOI4oTmwlkpJZJhzadebRQFZEQpSpg00g9TJAIim6Xop39/L8R6/ja2Yey+poV7WYGl2QxpkJwmlgTDDo+2StrpEVeh7Y+41xGdYNfBDsdZPKmindGpjLEg6SEXzXLAJ3HqEuzztuO+jDzVqYPbhaJQWZf+1lRa5CzVpfMbFKm+qS7uqUsWmOjAR/xM6zWt+AwaeF9+o3SGNggBoj98Nw6+tpFmISWTY5SlWbgomAtO/2zaBcQA5GYcmKkbzkxpui1WD+n0szmr6Ju/8d8a36HTsCmGj2z4Xbu4oZ+tZ7oVUSd8ml+C4USW6FehUM1rpmZzaeFDo2S6sAtRnB+b5EkBS/ShwSt0OCM/GfrBStrHZ8Kjy/NR+Sp5WSmwyUqtl3UsmqMuWKDalcYdvP/p1B5mJ3H6ky6wnUzxKmE1x0CpuDv6ggm8hKx3Q68GBV6IV5zbEtjNciSVqGy3Z2NqMx3TirjAcmugIDu/nhedMORN1RyAjEYWoHUIyvbaaNTBuveniFDkE6FEWoEgWiLtaKwKzcetc+IE+UmFew7Xbtn6RX2mEXndD/RvhdtUwHPb623gG9Bf/BSwLnVz0Inn1XTggld/tN/jOX5Lvo/DBwwTNY42xCBDsPF2CCDJ8dGWp2ZKQyfJHJ4qfa8lSuAVjs6L4SJ4Zm1JKaJWpzPLONIDmqGF67clP/krmPWK9vMjTRHrCRmyZYPvEU7Ib5QpAun2LX1rhsp7orjRj46VzdXJeo9eqGGdllKYjN4JwyLZtYAmwct2Y+o2AIxEvOIuSN/Cx3B6xZmuxK7chZ/vvZCe+EhOI5r9Rx36YcS7nL5axaZrvlpMVGARHdglWezEe5N2QCSQh/2o4+GZl4n+sY5qZX6vfDvaZMtIedakfsEnBoeR48R5KdZwV4ErUNZhwbEAgZvt/2csCyA7CwdlphPgu4V5g4U/ayN1nCOOSZdpoebrY45OJ I/BzGkCe clY0n11Hy0m5AZ+8YqnUs+R7cX7wSnxtfWqDM6FEsV1LV+gcX2T5LmdPV10FQNldfU0NiElZnin/qpW2iwEMbXA2gsu2JvQgpV41Ifo3ZHm9XnSxyzZUh04h1sF97a2i6EyL6E5nQ8nkVm40ukp1Jg 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: OMAP was the one and only user. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Ulf Hansson Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/arm/mach-omap2/powerdomain.c | 10 +++++----- drivers/base/power/runtime.c | 24 ++++++++++++------------ 2 files changed, 17 insertions(+), 17 deletions(-) --- a/arch/arm/mach-omap2/powerdomain.c +++ b/arch/arm/mach-omap2/powerdomain.c @@ -187,9 +187,9 @@ static int _pwrdm_state_switch(struct po trace_state = (PWRDM_TRACE_STATES_FLAG | ((next & OMAP_POWERSTATE_MASK) << 8) | ((prev & OMAP_POWERSTATE_MASK) << 0)); - trace_power_domain_target_rcuidle(pwrdm->name, - trace_state, - raw_smp_processor_id()); + trace_power_domain_target(pwrdm->name, + trace_state, + raw_smp_processor_id()); } break; default: @@ -541,8 +541,8 @@ int pwrdm_set_next_pwrst(struct powerdom if (arch_pwrdm && arch_pwrdm->pwrdm_set_next_pwrst) { /* Trace the pwrdm desired target state */ - trace_power_domain_target_rcuidle(pwrdm->name, pwrst, - raw_smp_processor_id()); + trace_power_domain_target(pwrdm->name, pwrst, + raw_smp_processor_id()); /* Program the pwrdm desired target state */ ret = arch_pwrdm->pwrdm_set_next_pwrst(pwrdm, pwrst); } --- a/drivers/base/power/runtime.c +++ b/drivers/base/power/runtime.c @@ -442,7 +442,7 @@ static int rpm_idle(struct device *dev, int (*callback)(struct device *); int retval; - trace_rpm_idle_rcuidle(dev, rpmflags); + trace_rpm_idle(dev, rpmflags); retval = rpm_check_suspend_allowed(dev); if (retval < 0) ; /* Conditions are wrong. */ @@ -481,7 +481,7 @@ static int rpm_idle(struct device *dev, dev->power.request_pending = true; queue_work(pm_wq, &dev->power.work); } - trace_rpm_return_int_rcuidle(dev, _THIS_IP_, 0); + trace_rpm_return_int(dev, _THIS_IP_, 0); return 0; } @@ -493,7 +493,7 @@ static int rpm_idle(struct device *dev, wake_up_all(&dev->power.wait_queue); out: - trace_rpm_return_int_rcuidle(dev, _THIS_IP_, retval); + trace_rpm_return_int(dev, _THIS_IP_, retval); return retval ? retval : rpm_suspend(dev, rpmflags | RPM_AUTO); } @@ -557,7 +557,7 @@ static int rpm_suspend(struct device *de struct device *parent = NULL; int retval; - trace_rpm_suspend_rcuidle(dev, rpmflags); + trace_rpm_suspend(dev, rpmflags); repeat: retval = rpm_check_suspend_allowed(dev); @@ -708,7 +708,7 @@ static int rpm_suspend(struct device *de } out: - trace_rpm_return_int_rcuidle(dev, _THIS_IP_, retval); + trace_rpm_return_int(dev, _THIS_IP_, retval); return retval; @@ -760,7 +760,7 @@ static int rpm_resume(struct device *dev struct device *parent = NULL; int retval = 0; - trace_rpm_resume_rcuidle(dev, rpmflags); + trace_rpm_resume(dev, rpmflags); repeat: if (dev->power.runtime_error) { @@ -925,7 +925,7 @@ static int rpm_resume(struct device *dev spin_lock_irq(&dev->power.lock); } - trace_rpm_return_int_rcuidle(dev, _THIS_IP_, retval); + trace_rpm_return_int(dev, _THIS_IP_, retval); return retval; } @@ -1081,7 +1081,7 @@ int __pm_runtime_idle(struct device *dev if (retval < 0) { return retval; } else if (retval > 0) { - trace_rpm_usage_rcuidle(dev, rpmflags); + trace_rpm_usage(dev, rpmflags); return 0; } } @@ -1119,7 +1119,7 @@ int __pm_runtime_suspend(struct device * if (retval < 0) { return retval; } else if (retval > 0) { - trace_rpm_usage_rcuidle(dev, rpmflags); + trace_rpm_usage(dev, rpmflags); return 0; } } @@ -1202,7 +1202,7 @@ int pm_runtime_get_if_active(struct devi } else { retval = atomic_inc_not_zero(&dev->power.usage_count); } - trace_rpm_usage_rcuidle(dev, 0); + trace_rpm_usage(dev, 0); spin_unlock_irqrestore(&dev->power.lock, flags); return retval; @@ -1566,7 +1566,7 @@ void pm_runtime_allow(struct device *dev if (ret == 0) rpm_idle(dev, RPM_AUTO | RPM_ASYNC); else if (ret > 0) - trace_rpm_usage_rcuidle(dev, RPM_AUTO | RPM_ASYNC); + trace_rpm_usage(dev, RPM_AUTO | RPM_ASYNC); out: spin_unlock_irq(&dev->power.lock); @@ -1635,7 +1635,7 @@ static void update_autosuspend(struct de atomic_inc(&dev->power.usage_count); rpm_resume(dev, 0); } else { - trace_rpm_usage_rcuidle(dev, 0); + trace_rpm_usage(dev, 0); } } From patchwork Thu Jan 12 19:43:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13099442 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 099E3C61DB3 for ; Thu, 12 Jan 2023 21:19:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7658B8E0006; Thu, 12 Jan 2023 16:19:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6EE588E0001; Thu, 12 Jan 2023 16:19:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4F3B18E0006; Thu, 12 Jan 2023 16:19:10 -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 3DC7C8E0001 for ; Thu, 12 Jan 2023 16:19:10 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 1600C1A0E2B for ; Thu, 12 Jan 2023 21:19:10 +0000 (UTC) X-FDA: 80347412460.25.75B0C37 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf16.hostedemail.com (Postfix) with ESMTP id 7D4E4180010 for ; Thu, 12 Jan 2023 21:19:08 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=iXaMItsY; dmarc=none; spf=none (imf16.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=1673558348; 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=uRuk42rt5J1sC1gDxlIXH9yiXjv0To5K12rtksbRl/w=; b=38MpWfjqzLpRkb7GOYFE0TmQ7JHXAUiMZ2XBe7iJYcpGQ7m2J+bgTZrz+IXjjRenOVo9hl 5Ci/MHr/sKnvgw75fY+tlmSoeGx+tp/aEVixV/KvcfTepZwjrBfIiXm/TgzzrlU/tyXLsR l+fMwxLudzt17awzAZt3TLaXz+JTxAM= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=iXaMItsY; dmarc=none; spf=none (imf16.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=1673558348; a=rsa-sha256; cv=none; b=iwq8YrF9K/UeFlH4wFaiwPYHBbnlqn97HYvjQPMV5C902aXL5bacXmLvkJTOJ79VBt8T2F BYIoQ62Bw1u+q59fewFiA/leoHBwMRKqzYy7vVtdqnszcz78Aej5Imt/5jtRXUcpEaqd/v h6lH1vLKhoTrjHhqIGMJ+0tmxwaLAno= 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=uRuk42rt5J1sC1gDxlIXH9yiXjv0To5K12rtksbRl/w=; b=iXaMItsY0v56AEQ3U/Ak5rPs8n q9U/ba2xBFETFLMPjL3pjzRcmYO/UzSGeq5gsxC9Jtx0ljVT4IZ86pL5AlUr1y7UlkEjtN2tC1twG ZK+sgqL/UxNI4QM4aCEs5CN/t8wtwnzaL/LZGx93vjeYa8I9qfpPm9ZpXDY/7fll+s8kYXJv/esBO jht09SmGbjxJSwjCVrauUHMZho6bxy2J0x4VDQRtXgcQ3czddgAFBiM4sk7z6CUWeA4LA0sx+W4wz 8ybF1y+Sh74rk65NGho3pXWI8831IRs4OQil6MJkxRdJKSWXCDp89CIR9rEJWNWPXeV70yEpNTvrG +qFqSBBw==; 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 1pG3hM-0045qO-0g; Thu, 12 Jan 2023 19:57:30 +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 0667E30346A; Thu, 12 Jan 2023 20:57:14 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 520F42CD066C8; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.844982902@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:55 +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, Ulf Hansson , "Rafael J. Wysocki" Subject: [PATCH v3 41/51] cpuidle,clk: Remove trace_.*_rcuidle() References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: 7D4E4180010 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: kz4jdkdwgp3dp8yxsqzy3m7rtrs68mdj X-HE-Tag: 1673558348-417797 X-HE-Meta: U2FsdGVkX1/RGgLLOhEiJXel5zpACwKl7sYWpfOqRYwi0ESaeLY3F5MxSUUxJmdaHXBhdTZlkgm3AGy9e2H5wFO3qiZ7r6RXfPLzo37qiAwnCZ8QIp+pfdVBYY7KAUpm8a2OEkLrcU0qysOpcBK5hPATF/yn0xuY7+nlH8sN996Icg6y3lIRuo97mapAOVmPg8AYWsZ/mTi28S8lGXQ8BiNQ3fo8u8XQl0S842SfhSQyIeN7Z53r8HPvE3JEXrpZ5xjWtv9tLK3ibVeKKSqtbuTeNZBeV/X6L+Cywz5m550yUK41+teG/fliQcsjg1L60Pqz7uOPGMT5LMivL78/bvy/ZkM/0ecrsXumgYcsrGb/qzp6QHVdq8f9qNmTNFBbdnCE5WKqBMzF3/+jT7JBOXDTbD+ocI/x+z84um85w1oFZa+WOUpVgxBhnQvehgaCo5KH2ELlCrTQd2exRIqZ9rl96Q30qCiNldIn0UlumMVAvM3d/4WE//J6iBIcUx5z15ehdQFhIIdBHn8S+bdGB5Ggiz8nhdlAWEz6+qPkbBm/BE5PiSnGaq8+dKf6XiNSGWxoF4tjDCAq5zeRl0hFUHxOBzsbUu/wvB5kNhF2cwXae5ljIRKdDpyg5xibvT7RlyWI/HF6TF04Km4dvs3pnMyBctTB+Wcwjvo23fOzw4fLCB5N0y3/zuXtIbVls24jD3EX2Q4PU7uF1deUxdgMfv7xlLPlSZo03K61RwHcZgR8Hywz/Jpeba16pbD3w/DAJLP/kJzEvx9hPSNuyiKFlz1FuHBRzwWFX6lA3NDh8HuChrVP7NPGY/wzEvmZjOlJCmyg3OTMJ/VYk5hn6emce1EABI6lIesdRmo8GgkIIoZeYqAR9RB3vZbcGSl78XDBzMbzwaUqrxlAnFGgH3LsMzJgE091fnEG3E3jlJSDl/dqn4TxtguoDI2mDhSM29jxx1AgFG4sK4Wabn0Nsus oPtyTkL9 6M3tOOIB7MKjW4e5+FTv+dbhd4n4a0AiI7qQt34kvdbIk2c+OdAZ4rGXFaCo6TlTzHfRufXnurm72VFH9WtYwvpuvV8P6y+as7TaoIcJs/+VMy+CJDCDMOSO+p7dTiwH5EABSTY7FsOh+qq876Rpg+s+YvMY7WN+pN0v7WF2HovKuGzKTIlQRazZWcnQ0Uv/6/Ha6C/9QeyW48//ZhZMISGuopN+dGewlJLNws04CL4Ge0LZjy5WaDkIdIkG3iIdL3fC3047NP2js2sdy5wLUpp4UTZFo9nGViFNuZ2nerMnuVZk4whPg+DLuKYTomU78XkEtaiHPbdgShuFNcJFNjKo8CqVqtKKlCVWHePUZunE0sWWX18CB+8JtbjCs8W3zgVGwaHZKbbhZ1BguYgOYIG8wpd5HXoVChZnZ36rKKaEKM6zoZBavF+i6qRWAhXYPZxL0RRU/uBlYB0/A00zPsm/iX+h1HVxc/nAaaROGEbO5UbvCgGnLvaXtOvAUyGmksSpi/ugS1tWqBvN+mPE5d+yQobXtO+7Er6WH4KYxt+dk3+2mx/C170roAQ+cLoJj2c+lt25FmgjNKhawMVHxjy6u/CTfGLR0fNZF9TsZOxFzUQYwEJBO98Gh8XGKFfNQOB+B/cTd1rPaYFhSgbKfU8wbxDRvySRNI+7ctRVB+yty9S3rBHw2K7LZImK9qsUP274q1O4vQIfO0MIl2K2/nCzDN5wlwasFhcYN6BrZKJWALWqdP/ZKUIWAeGSLw+v/dBrgLAIRb52MoIc4W0/aQ+VZH4jlzwZdP6cj5r2EUf656MkICnWiv51FGRYGnnHP4G0u32c1e6OPiW6r52GGuGHVNmRjsU+T7JyC83SKdWELkN/H95LsHGY2BMPSZBYUdSYtuo6mvnKKzCLo/z7QAd0MNikwvib/KZA6ggo6O1VOzZ2uKDjuFEtBNGwG6+CVw7AZGzN3Yh2c972tRHlrTDAm5dzw ukuVbqYH MwW8Swbs8CTV/hlOdjrc6U2h8W9X31lXc4W+ZfCOfWWbi5phSFnfh3lHgqu7nWmYdOpXQSD+aoFjkk04fuG60I3RvKSGmtF9DC4J6JtUUB+AGpBhDPQFYgNtYpIWmQpckWeTrRYqJq5vFXPCNRuivPhjsKQjj95S7A+oGL7wB4c2HtSNvEn0WOFCOlor2Y86OQqrdAR7zueeQYBkARwMyN9uL562UFnO1f977DHV18sBtG0aFSsLzBiHdR08ZqMRrY5h23LB4dgoAbwBCv5c62KoVp2WXMhwbWtLXu9Bd5EYdY26jiRhxXuIH5Ia8Pm/+5oXf3Ty2NgIUQhKYYIxF/GWHFFOOsJGHGMWzMNVZuSLhppB4P15/63cBhOWv9+blznNS04s0twsycwM+OmacIlQHxnq96VSJTKzImlGOkDDaiuwvcGBv6wcHtuSdwuKDtHU9+S703mLexvmbDiqk/vz/MCtxPxN5pSMWcKS4OpjGX1BAmcN3sNYO2d/FrdaN3Jtnkb87v215ohqLRcjkuc1W6T1P7xlT1W9zBB8HmfILCnqynAKuE4AHp7JTAID9JdUPwJKTfvUXJE0/RXPmsl+pmOtTeYK2uFlH+we2pPaNbx0qtI4fxK8ta4KVLT9Ao+rouwQGMl5EN9hzpn7Sf+rT3yBrzpwzOTTufxpIaBR9/uknnTp03KtA8cEBHFagslZU7vl6HcmjKFG6XoL41hg9ANvztzEgebS5CTX6LorALIq/k9N+XpEoi0xHcDCY4KqR2o0xn8tUrnNlP6XdCs8gJkvL4PP7jWAIcgiuDZQc4FKkNDugO76/cEk+8m8D1pSsMG4GUBHKBFO7KqUx7KdkHuEua7nB9Gmh73Dj0Kgv9kuu+xLbgnLNmcir8fV4u684u1id21ZZIesAYLkXuGCeXMqLun+4fgPHA7CYyRkBFpY0am0E+EINg2A0fHBF6Qx/7PTu7ZD1hSKfvGxdju/JSLhB G1azLjuL IdCG24pNZngh6iP2OjczZMasUA6cLhyf5k+Xx7KvPUUcExLjP06C8u28lu+HbMp0VTwCUUiZRJmOYcRmFA4ecaYxlas3B985u/2rcX6MHgTKlo59ayvNGcfqcIB56/QaPaxVDU+j72Ix7UUFmTD4k5d1MJMwwynEB1gxA99QZcrwp+Ow8N+DYwBItEB1ZRZhsaaq506G3vrM5Wuzp66+iY67YXvMLZ0f60jbGjWCj0/7Ku6yBpn7GiLnVd/pA/ZOl14NKwY8bE2/6ltgl5mAj9sadoLP5vJCHp4JPLsmQc7BPvBweRL+CLNgy0KR07SQbshLrQPTw/jr/QOnLFDPSJSIapcdO0Wp8SNQFgIJt98sKbbeATx7EVzw8/CzO0XdzY1h72n2Sut3k+0ZnOz0XrwU00kl0f9SOWVuY3UMaJo81S5QKOgHFZxw/D82QjOFaJNRNCB0a0Dk2QBTEI77HnNylZbIwPsQaxuqL2LICHIMJfBbO5H2dYU1CfHxfGRm7yz835QQoDbTCjW9f4TScCsnG0n+kqdHMPZH/NlQQcLOGR7JVL5aUIzgps6S1k+fZK30kUxYO39EmKq9oYX0SLWBH5yakJoO6nJ4Ob6I+dgSjBcpqeOkFbZQIwZNrUzbLvX21mcVivjXE/Hd6llHq8Cfx/lgmVRMZFYSm+oGZmyDlRwFejpJbau1pnvMmTxowrXv8z7YUSJl2q9mQvnhal9C69n2+i/jwBMbVRceRROMCwf8fmr1pNlDz4O0J4uAYM9gLq0CG2E4nV4N4XL4TdZ6Vf4vFzfPla3nHD1jewY1jqOcnG9do5HSfvMZFaL26diNe9eQWtANIxYxg4epr54RoW+hssCDZMJRmO4AIaTl0cLz+oQfCDohlz6NUTXhbZynh5XuZZhuT606NOmCqb4vhH6k0zCz1sJJ2h7zRXVqaoeC0m8tgYOtNEDQr1mUaknX54DPjZW14/6A0qyrKPyr0grGT oltBoWlv MRbun4aQhL5qefrn+9YD+mvERA6p6OeP39dxy2dbBMxjNEM5Bk5O17S7ZV1cSnjhsdTRoWxCTtUuE8y7bk9MHKdRKi/zQNPciBvXoTjYJCfsUdRdH9ntjRVTd+YllYsL0D4SjHPSh+4bXnxZ3w6kUy 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: OMAP was the one and only user. Signed-off-by: Peter Zijlstra (Intel) Reviewed-by: Ulf Hansson Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/clk/clk.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -978,12 +978,12 @@ static void clk_core_disable(struct clk_ if (--core->enable_count > 0) return; - trace_clk_disable_rcuidle(core); + trace_clk_disable(core); if (core->ops->disable) core->ops->disable(core->hw); - trace_clk_disable_complete_rcuidle(core); + trace_clk_disable_complete(core); clk_core_disable(core->parent); } @@ -1037,12 +1037,12 @@ static int clk_core_enable(struct clk_co if (ret) return ret; - trace_clk_enable_rcuidle(core); + trace_clk_enable(core); if (core->ops->enable) ret = core->ops->enable(core->hw); - trace_clk_enable_complete_rcuidle(core); + trace_clk_enable_complete(core); if (ret) { clk_core_disable(core->parent); From patchwork Thu Jan 12 19:43:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098765 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 76A52C63797 for ; Thu, 12 Jan 2023 19:57:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6940B8000A; Thu, 12 Jan 2023 14:57:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 61C2B80009; Thu, 12 Jan 2023 14:57:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3AC278000A; Thu, 12 Jan 2023 14:57:30 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 2D72180009 for ; Thu, 12 Jan 2023 14:57:30 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 0B8C4140E01 for ; Thu, 12 Jan 2023 19:57:30 +0000 (UTC) X-FDA: 80347206660.10.63BF0B6 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf21.hostedemail.com (Postfix) with ESMTP id CB9471C0015 for ; Thu, 12 Jan 2023 19:57:27 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=BJ9XJoRA; spf=none (imf21.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=1673553448; 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=tM6S3oZ3zLjQ2zmmTNKitB7HqpfpXnjxYwChM2FqbVs=; b=yaItNNhJzzWd9zB/lGBPty/kQx5Ycg/HhSYOuw4z+no1ayfrvYgtcmOw0cwRcL9DpEsZda KKw6uinBFhNVjVIi5Kt+Rqa7xJuLztIEqxNe70fyJX8GF2qcnU0HApksFArH7ruEqMyyLF wiznABh76Jq1Jl9ZU0NmbmL/z2HzHxk= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=BJ9XJoRA; spf=none (imf21.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=1673553448; a=rsa-sha256; cv=none; b=N0mlLKEYWeD0PASC4VlQAU6vc7074z5CRThn+oL+wms1FNa9Q0HOIX2Kd1aRsW8Q4XNCFI MGRKyVlCYHcxycIs93p/J0SsgNX4Wq3+4CgdLHLtFCtEwWvZolL2DXdHqC28DRE0WRJAAV tLLZbK511mkY+oa7YdASF145fYTn850= 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=tM6S3oZ3zLjQ2zmmTNKitB7HqpfpXnjxYwChM2FqbVs=; b=BJ9XJoRA5PVXo6NmK1y1j4mgxX DGfe1Ta896F3qkk57KxqOit856Whx7pXr9WTIch0khohftRzZ6nkeSuCiqiAyMa3qg2JMRqTwkdcK SZHkiVrlqToqnjdTi1BQtMwas89d1b41aRk7eR9kktg5N/gi7TNwV9TPbfoKKOtW1UuX+e5CZ4VVW USTGfBuu27oryL5tL5ug+EeZMBWzLYDuLZxBl37/OJYoY11N2gX+VEM60a0w4sEUZTi5GdGd5oNiD v4tH8MxJ/EqxydLuQw6fRM3cmCP9pHy61QtCS2aoYs8Sik/mr9QPx70CAPy2SGTADTK3V7C39icf4 nbFCLrEQ==; 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 1pG3hh-005Okk-PF; Thu, 12 Jan 2023 19:57:37 +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 0B5C030346C; Thu, 12 Jan 2023 20:57:14 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 573AE2CD066CC; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.906007455@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:56 +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 42/51] ubsan: Fix objtool UACCESS warns References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: CB9471C0015 X-Rspam-User: X-Stat-Signature: uii1px47azmx98oaymxrs6n5f7txwy3a X-HE-Tag: 1673553447-149418 X-HE-Meta: U2FsdGVkX19oIBKnVwTC0r7ublKo9inQkd2EoeTD2cLZWYuEkXF6EIdDsJLPaSbrVQDf9RNHB5J5SiySXmjCx0ao/cLlggBceJqPynL2yLbqK50chySGtIHP0pa6VCX8LI5O0WuEt3OP9hv5wmt86E6O3WiRXkZ+K7xCGx7VjDG1B44huLkZtQJnAqmR/WK3s7QoJusHcg5TvFlWslGoDcefy+e0LmY7Yd0rIcx++H7AfH6N4dT9AC9+GQeDCS71GXafFZuVF/8txJT/Ki6tEuJGEiMp8UdNbPj3q7aYZU/Cd/7JzxQnMkOlrcucTyyvvHLQmc8XakNRdYfs8Zsi3RG1m3UYMGd88umAUavQHmnvSF+gEiJcT07MSXlfNyfgyEXlFicFV6gisjibVo5VV/Zr3dKPLpnhnqD8esq3irE7SOXw/6j8SbBOLHHCVe0bZGee2Tk/53hOy93h5P9LstLbch1Bt6MEgjAJEbejnOYVMDl+vXxWjqZtPug28a7Nwl4L5o+hp7+0AMgzXz6vD2zo8hHenxpIcqnEgEnYE7OWHdXS0yVsBj77Qi8PBqUfYTL3kXQcUvs+rYjaWVFNiIyserh9H4RW9ZftjcXvx5pBpqVtFxMGB4gk2m8bR7e0Xsmn9FsbPajII+tTYS2y03eHwaoxqOvCBjEH3FqmU+xbtaRFiOMglrPjCFV3vjMMvX0HSmV5VRQyDzb8VrU2dzDtpcG91JFYmxTvrKm4135Jr5hxlpKqm54Ubrn3xFdXD0zhNdDhzbIBkEcStvnPR9rRPM/BMo8jnUiHK+Qa63hz6z6cSnUpB3wYkEBEvc8vZWP5oomDZMW11uJkgsMZu/DMCuLDqHtOuozzIkkctscKjqQeXuUAmBIkGvWvxpteZYWvXWldWINvRAQgEU5fKC7LQJfP7lJ48X2Vgvl/Ofq0qqJ7lSC8rNW/FbXflX2nUiyxGJ5cnDpdXTJUuL/ CdgBckgy aZjaQmzmKcl4Iqf/Yu+49C6GHl8hIXziPo66umOUsFDZ/uSCYKKjM+3BdSrTnIr83+vtFlwkgwWC0cPeGqXyMtijQAZV1VJRfuBRVP9Uf7zARvJm/fNNf9Bw1YptdcGX/NVLjKOeEWdSZL3SyfEUlE8lBjDuFe7ZWORSrmuDGanj4OtrXt+1+4fOsPkmSpwTr0gJr7BhAsgVRh5BaFrT/POlv6ismUnb+TSq1JhmLe2aWcya3wyVzjxvCP/Gptd0NqGoinmBWSLlnHF6M0E8xnrkn16js5TOSGYK1VLTs9p2uMihOk/lCwq0v+eIsrHXBiWCCEAa4EQ37HPE9+VsnOWeMuOQEgCCcM54Hr1xLjLYBMiY3rwtryKpZ/ujmZcdLBUeHXYsXc9RcmtQ0H2cZgoEKBOpk/S/IDZcShwC4PxnIxZG3lGKVCSKzt3QBsBaDLdKh4iPg3Bsyv+Xp9s0FpvLooFFKLD2Zgtp/D0fc9HGpPmF/I7pWtCBoSUcUVFCEHWvj461U4zBSQyOWZbThcMs9qwZd3AJRxw3me+A1H4+Y+NaIB6NlEPg2eCTGzfmu9xpdDKw3DtmVlAm7Pu0AWaE2RKCFD3+rpfwY93lyJteXZf+zH22wdt21duJC52IlOwQvjI76tMarkAtdeG7s++RuphUkvNTJVb/BsN8uQUTCH/Lkk+lUPXXCjYO35M106pLYO3V3wK1PAXeAeICNTALwriKvdN2PKKcQmORYDYLacXnQlXCwkAnuj5gkK5PvQtr/2NEFB5OnkeHmqodXoVvzrvXamZ6gCdubQnhEZeppuFCqXiqfr7NxBqNp93I+K/kue+fskf2oTdmDQUpqLX6rPfFEgdfB+WV0TpCFCRJVZ2VC30Y75Xm3y7ZXfR+/ztP7pAIx+jWZDG/uPK2tt50HtI5iETf//nA2uGa4AXhoYz8lRndAnUTiFbWDvt6v0ANd20dLh3lJ4seDGWQpfReLzrqr KUry9VSg 27QfpMWzVtuFN59DbeP6/9i7/rCt72yYKvRS1UMd37h5hwbLYwzuBla+YgQGPZM40doaM9tPrFZxCB/vk89TbbIWS2L5aDu/uxtvZJcDR/YvMZTYppLn7vs/sT50TPbp1HoM3SQmhsmy21BW+8Tfnopo0SVtDj/1OqTG5qjO1QfGrvlZn02swm6ACZEbG7aUSEUBI155eT5P4u3hEkPVuoiy5OgKc5ptx4vA4pLB7JR6M4VFyy+BLunQmMQuAQXWwK7iC21c1pNDpWhA62kuusQvdGDFgN2GPtFZxgvMrY8/csiDWczpv5fZG8BKPt8SWl1rBD3+czvCU5t/EFrbrwgQB27ZJo9aQuy3Hjb611O2DJC0BCx0dikIXrGinwt3AnMPCSB4NWfwf2TUkyojOoQ+rJmJznbEM7DAOV5Ar+rgNJBdJisgj+QLpe5HtyNUwktWMu84/84yKvqEswJ9OcUlNAbR1xmTDTIm1dhVM8HUvmzqI2Gp4mpsoqDl4oF+/uXa5bZPFazxiLrJrrSZIdHL21L6O3SIF+S8j4U/JRCFH8Uahpb7+xcpszXG/n7wS2Ovot75EbnRemtnJFVNtK1Hzagf0XcmZrkUCk6zU7lNUpPTZPnfAjd85acAxe4NbT/4tgBEl2ZeM9w4I2bz6cWbIbSGem21VWIiXGS/69phsgK+rzz+5+9Am/0+MxzLs0esAzre1n4wwucL/n8xmNE0r1ZzY3XP1Gi06WupfRamgOw8+6FasamRF4CcYXC5D/RCyni7a23SooRllKeYmPk7zmRn7l1H395/FXWVp4liU/sBLDhs229EpG4fMvklOEAaZXWkAziy/iLoM97Zg13BqpaWkP77bt708KKCyfRXC+7xB1csGwhLPdDlbTYPtsIEXBbGc+PeH1tPUcGDh28wh3PukEOkei/XafAw4PtoEI9H2BLXrvpXrArvTBaHgnXYswDDbjoRmDveatFCUiqLst74n j0+12/IW 1t2+qxukQsKUKv4Uj/5mTEOUvewf+8UepIvl4U1crlaJ8GR4czLU5k5KicUgObd+UWpzeAkVposj1MYiJ7InLKKcnBsWbO8nOjci8LSXJe3sTFQYOHCY1unEFxK32ZFwxfYTyjbx9v/fcpG0D474iVuhTVw2vl75Mqx+j8c3tN83b6vyf8qcwxPl4ZOt5KBKuMG2AG7HLIZPTFMwQs4lvRoo/a3pf4kATgjtLn6Vn7b7N/eXPWLs7gjYBItffvrH20DjKR4TohAlQJnTLZfrN2z+/jeOF9lMc8ZRlZgmYXWQ/tOtd/OFvTdOWag4kuFRyKgLCfqpXC3CbKvGTgzpiID0SGc8G7FNhXMiPwqcWOjkR3krjYGqffIq8t1gptCQGRfZ5vYq/wxktwBEh6k+yQpeeS6eHWSaSrMQ7daW0sAHquIGA6EilScg2biNKps8m+ThBgzCdY8EYGpl2qqmxac0JC1Fxb8/LeIB1F0idZANsvs922dkAMMBxG/8rx5r860XsidBCKR9BamqHW4KPg8YyEQiflVLyLAGGiNwACKGcy2tHUCG1h8qmQetyhYJWlcGzRgS75kekbzvL74e3/vsMyOsSVi94rgjRlUl3H9sy12j5zMRaKi4VvBfw9RR//9DSHXVosDa05DFu90fSGgT+NS3MPP+yXrXIqPpMtc22JLHbiKCKuA8WGQARiMolRZy7QX7agSY0qAr8Uc45izIMom97wbl5VlLVP+GOSFBpgoOF7ZXRdf7w/bzCUEsmfks2WPFn7fd4moV5BaS2zfg5brUrnpJad3/VlnGlZHFj+JUAMOkA3BdeyRkS+KIzVbWQoUqNRpFAkp2G4JPgQ2+zOC4euiV+P15Oio65EWv3bWvBNx6xGRuJ1sGTust1N+DxP4iNyKiQFOPrdt6GNJ4breeMLYXAW0boqKqARCK211ELrMyxO7ANBJviP/Qd9xrMNtcCTvs/KLxnA6ikfcK1anBr iDZZBJC9 2017dJU25RK9hoVRJ8SBAPFSrBId7Wn3X8ZxkhVq1mS3Dt7xoDzEAjTR1JkDU4XaU27k5SjUirEmOAPKQhQTRxDlcppbgGuXIiC06HVPnpxw== 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: clang-14 allyesconfig gives: vmlinux.o: warning: objtool: emulator_cmpxchg_emulated+0x705: call to __ubsan_handle_load_invalid_value() with UACCESS enabled vmlinux.o: warning: objtool: paging64_update_accessed_dirty_bits+0x39e: call to __ubsan_handle_load_invalid_value() with UACCESS enabled vmlinux.o: warning: objtool: paging32_update_accessed_dirty_bits+0x390: call to __ubsan_handle_load_invalid_value() with UACCESS enabled vmlinux.o: warning: objtool: ept_update_accessed_dirty_bits+0x43f: call to __ubsan_handle_load_invalid_value() with UACCESS enabled Add the required eflags save/restore and whitelist the thing. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- lib/ubsan.c | 5 ++++- tools/objtool/check.c | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) --- a/lib/ubsan.c +++ b/lib/ubsan.c @@ -340,9 +340,10 @@ void __ubsan_handle_load_invalid_value(v { struct invalid_value_data *data = _data; char val_str[VALUE_LENGTH]; + unsigned long ua_flags = user_access_save(); if (suppress_report(&data->location)) - return; + goto out; ubsan_prologue(&data->location, "invalid-load"); @@ -352,6 +353,8 @@ void __ubsan_handle_load_invalid_value(v val_str, data->type->type_name); ubsan_epilogue(); +out: + user_access_restore(ua_flags); } EXPORT_SYMBOL(__ubsan_handle_load_invalid_value); --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -1068,6 +1068,7 @@ static const char *uaccess_safe_builtin[ "__ubsan_handle_type_mismatch", "__ubsan_handle_type_mismatch_v1", "__ubsan_handle_shift_out_of_bounds", + "__ubsan_handle_load_invalid_value", /* misc */ "csum_partial_copy_generic", "copy_mc_fragile", From patchwork Thu Jan 12 19:43:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098777 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 2EF7CC678DF for ; Thu, 12 Jan 2023 19:58:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7803E80018; Thu, 12 Jan 2023 14:57:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6B92780019; Thu, 12 Jan 2023 14:57:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 420C880018; Thu, 12 Jan 2023 14:57:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 2705180017 for ; Thu, 12 Jan 2023 14:57:41 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 0B3A180D15 for ; Thu, 12 Jan 2023 19:57:41 +0000 (UTC) X-FDA: 80347207122.27.13D8FF0 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf26.hostedemail.com (Postfix) with ESMTP id 65961140004 for ; Thu, 12 Jan 2023 19:57:37 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=QLxqheLQ; dmarc=none; spf=none (imf26.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673553459; 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=JTqeKYECYSubBnJX/J9QEXdDkgA0NkIECFSZWgBtZ5c=; b=UwFlBJJf+XE3WnbJmspP3VjrucerwlDcI+SH6jyQSeqKPbpubDsT+dt4JNAco9WnPwOloW 8TIW2oL7liNtQWGvrCOgKUsNZDobZlq95I4jmfDcZiV6lulTWry1UZIiINlGVRkZBVW3j2 pcbHpzs7VmSxrWsZJjy0gecZ9FXfYvo= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=QLxqheLQ; dmarc=none; spf=none (imf26.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=peterz@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553459; a=rsa-sha256; cv=none; b=afU5bAyEwbhKxqG+p0eR1FX2MgYQ5lsDYcF7+a0YKz98mZfv4Cj33ECelVG2FbqWddJB/p qiIDXjQr6Rev1bzImYdi+wZH98S6zqceXPmMP1j8vMfD25br1VW7Rk95fs5cPBOsVn2Nxy qcLctMIxY3GyYXnuuW426iTO4iOyDu0= 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=JTqeKYECYSubBnJX/J9QEXdDkgA0NkIECFSZWgBtZ5c=; b=QLxqheLQZUqNb4ar6Mg/ZNYb8D KRXignWHOdRNYAZm1cWdi/oPzQSARGwohBPicdntdXc+jUrRsNN0/8D5g40oSZToLbikwu1cLT8Yq DGxNRPTtijYeX370Unaju4jHsAmBpKk4CtqN4rzPT0XsWknfadHdAv5RZqCyX7svpkdfdNo2Iy+X2 deUTui/Bqe2X+k6Xu+YE1rX06haCXJkDpEbwkwuRoA1QmH69jGtF95HxJnRzgOZzuAinpm8tbEcEr TteyBVyGlHJftS/ry2M8MUzehKE9YMacr/muMS965kyZZf+vOtAukwARx8+SxhX8sDlxjf8Sr0LdM JiM9bSsw==; 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 1pG3hr-005P30-66; Thu, 12 Jan 2023 19:57:47 +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 19D3D302D4A; Thu, 12 Jan 2023 20:57:14 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 5B5522CD066C2; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195541.967699392@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:57 +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 43/51] intel_idle: Add force_irq_on module param References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 65961140004 X-Stat-Signature: n1w6gu4cjqeegtcifz6d1eg6hcq6oriz X-HE-Tag: 1673553457-779279 X-HE-Meta: U2FsdGVkX1+/BmevIzcowCP5Uk9b+JxsT8gSb0UT2iuRNkclkEZJQNxtTC9Y5Q+utqBH4tpkWpsPHrhDMD5il5cDaDzi7YcvfqV+9+UtmEOs7syNoUIONoAh7Rcd3ifqv2b5TpuRmNAwnCTvYH1tfdlmMB/Z8U4Z2aquiO41TXlDEz9+FrbqOrCxvWHJ9MTuI2KbOU1bQohpHdecZiY4KJ94RKY8wduzFR0zGJS56VN1MDjDja6ZUdSUylnGvGldy4nZKmeLZZra5FIBI944BgRlWmTPLFe6gwKHHukVEXEQGI7r3tbg7OzIsznhPIgd322pGyQ5cbk4Hv/2rnljeg4c3Ne6WmzC9xqsc2o0iM/3Ak5m79EXeIH02fc4/hVewPnI1tuL1URiTXgKwDFrb9mFkmYwcr1YvAo5g3Yr4KJG+PX7KRdrxynRFXUD8xUqnUJqxk8Bq9N75KS2Guya6ImKrhvFeXmxStfgnL/Aimp6pj8xrnE3ayLk6CNE2RmAL+qQs29NLDffdQ5ZdAZ8jzjq+r5INIwJQhef9oDWHQ/E/+lLq2q0aXvhrV6S1SS0MB1mp8REA3uYQ5bbm3mfiJsfKYpW1jT0G5kVl0Rjqo+Q0r+1cGZuAqa8Asg6nvK+wcG9A6yQBorHAfRshkoYqXu3YTd2VfXleWtuJxRD4PZxZlnDryo3PG9Z6xhBx50dCf6ErKAd82cHlOa9gg4u7HyrvAfWbIcYBINdNi/4rLDzd16MgypgxWNJPA2o9GcLDa8wHnzxUJMN/jX62N8sbpf+Od5ZxpkVl0YEl0aPNettG4t7zops+WF89yjidv2AJbTIDJkrdr9GkLgF5OmsTepLZum0au298no/3d7j2KwTZ92sqn9quMO/eH3lODcD3vlCYva4Y3tcPhWEN883T2O36Xyl20WQh3Cxje1CT8SJWbOmY6Zz3GzEVTgHFX3eL94okSKeyet+gySjLxs hc8kk1/N UxIEKERTs+vJPuduxyjlUqsEEvkTa23SaLJZnq6C7AQW+7jZanwgfrtaUNsXHGFmjeyGGlqpD8lMYdJGgTWwBgFtz3UDVSYr9yeCUiMw8hF7PC93J4/iiUITrcNPlhLYM2Sj/5z4GBSX1mJV9O3mnUVr1bBgzVxGoid87qT/uxRbEY3nSLBMnDzLXx7JlHZiuPC2M11ML2afex8clkelRXGxEthOl+SwxVr53VAQdDA19l2e+i//wDv1cVKPY/2B9/FMhi+SOqwpAywgfRls4Eh7/vMfzPvJao75PH1xSSw13TgH0XTr2wRGsw3XhcVfIz4HGG35QojBMdhnGpL7Uy+357cSorEPWj1yFtjQbtf98iKrlwK19t/KBdMC2MQQoEIwBoGHDvSzfuhdCqmgcnc1Xko95hBFzHvOh8F7+B2VCJrpmf3DQMoD6+FQ+Irp7Tv/3dNHqjNA79cuYOO3uxXiocDj4ewtgKPpRxkYsNSKfkcKAGESogxtcWpZbhGw07Qi/M+BlqhMUx5mqF5m90G1zPoCU2TE8A8aaX/wGsk9TCMKrmsj7g3Z5XsUIsJRWJHRREgQTUlA38bsNnN6cbOSt5LYLG/vWXBQiecx4655lXluwAI1xwfPYCscASQCKNOCMJcGz1QDEokDGFElppapy7mND1SY3SSZdlRij8/URMMqN2CcbhBPWvbBQen9edZT/n6sOjfwCIhobGCGC38Ns5c0fhwiIQ57uyqvImZj0cVjv6hm3atkWjoEexfdEJWutdfYb9jzye/NZPeCOCboygoDiGmKd2sF+NcUYE2uQlG3jG0YTbYiW/MnUs3DyovwSinnhL9lOT+cfC4BZhumIvMxzuQp/0J9e3dK4jtQgx7cGuKfSQPNaz8nz0qH2AsPe5IYzSAy3XwmtOcVRVs+sNN9XTvZCp6/Y/ii07r90cIYUwOZc4xcM79nh+Vts+5vk/B1QFguWPTSHGRA9cffkVgvg o4oVeTA9 1/umz7+TWvC7tpmZTdu4q5wvq+tkzmEkwyHK3Mqar2OQAi/hNyns3/F76/yi8XOWfOwONhcOnlWZD0bHnojSYV70MQ1spwqCTawLFdZHftMAizQaE30sqv1Yy29lfxR6edDU1F245TjTS0uTKr0ycQV74LAhWFsJfHcs0QDngXUVwFnKIbHKGEdyZG/L/EjdJgxuPnwo42UTn5sOJODPzR4MrLDkEFfnjdX81GF71RQXfDU6lxnaZYCwBJsyGhUdFDyI/+s9VYC7WO7ozXn6yLx3PiEPM/TxN8HWxK31t2nxP1hspTwJ0pd1i6SzZrFeohoS5FdFTh1D7uElxzJY9b1W3nk6KJa8KMq0RYDxHs6fCj+H0Eohvic+CiLZ7y2qrZN6pSjSA1RkrnSCJ2oiEdKy6TZBk0W4+FPBDYHer7mdDLQL7XmvmMoYp7yxKvUwktLBZWBA4mT1aAqbz9SVhgTMt2x4VjZat+6mYxhxjjQaeroAqlH8yawYf5RGreIUMnkTOXW3KUknYEfwDJg0Oa4vX49Q8nQysQtOYrrHAYindW3BlXzYOhw8MAu2nqY3iBwS7Rn4hbadylBHjlEaOkIMo8F0nMhecyXe7HwVtSZlaxxTkES2V+uKU3lXdnjweUdHq5lBYv5X+tjyo8UCpuTgmyHwRvxX6Bg40nbiCBMlcAxqD2K+2V+OW+qYrRy8H5b5Cr2APugKeyVt0zGT2OgJEIC1hm7h8VhTnzSgN0C/Ti/quejkBnd5Bx8ylimkawlK1E8X5NvUxcuOX3I7/wxw8R8hJGwjRXWHN/SsUzaQHKebodJZlk7culE58vXM3+4CTgzTKA8uHqqdQQ3Es7DbygjZGXd+lnkqfV3h20ZdMtxFSgkrygzEHKlA/rYFSXINCmBwGeyyq0Qr3wQvCFsS5D8NTvjSWPjub03B1hMq6HbPWkHjOstlsLGhFle3NQs4zK0K3t9PRSggYoRtxjqr/e+wR iROKPXMX uVkPJHSRjFZPGPh1ryuJo8PATHH0/ovlJaqD33ibFv7IMFBVvDSR/N1kykOq/n+Doe0ZaFcDkPvH65huJ/m4LkwouhD4zmSIo+OTcyHc7XWUE6y1cv8LFFjAmbnjew+erRMAaFbfGnec1nCY0Ckj28MUBk/EmrFxGRgtKj5Wo6KftmBnV/sIQnno1T9Lc2mc5ZmQpdsGFCvrMwphabf5Ka73Zy8zuKpVsnilvLs2qwJJX5EXQthwxC0I+4oEbKVgh4WspfYAJwpCDFZCZ0sPdzsoGpZta+6yuFrMpaRxoLMXPJn/Leavzt3F/trThpER3Gu8lVafhCtIV6FX/9Fci4ndAcbabUvwF5voEqC4VEN6beE27acoVGGU29gtDF8s8NukRCalvaYC32ubLDmXIdKO6VQsPagBN4VHdCGwsBx7vgE1OMa4xCu2Nt84wEvUfu/jFbHwmXoQU6YYT4xZjTFwln74WySzIX867rBeGeWh+kumDhLrldyTpQc2ElvT17PYOYoNwmx4p/+NN9WGpkoPqrg8+A6oe71skUcKFuuxxiF+zEc52OoI2tRvAgtet8PfJbQE3+ibslo15+6Q6e/0Mn3XjEG+amZfk7V/4hlFGM5Ap+8LaL0zbZ0CqNrGpLVbiA1y8SVV0Wi5SggXLZpgXIGdFkdIqwxjCIIyle4Maqws7hfNhqu+ALQqW9ZUvNBQGPFp1zvdPErnkljyJZuHlHYd5GBEGsnxU2jCUYALYuop7Qv2fzPCFqqcEQiiCOtGRbzEPYXkGo8vLvnolHR5Ql8W/W+/nkHczXRfAawOX5WW9gEKbOS/FjadPs7X5V5qsDqnY1SmOhEl7OAHMJ8WtxGxQJkcVNk5KnO4Qu+8iAhH2BeGr6GXBGGpM3d+AkUyeoXs2pVwKGjpuEJFYFHdCmYK0au+/zGMgme49LbsTvP3wkkwx/AqenAMns0NfMIJ0+19oRdaGAt48QlUFGdh2qRob lChNDepz GMnYf7B7J2f0s5wW88cxxEOTu5B2xXHnVQU/wxbtICkgUV4ybkjgMLoyHt79f81ESXDRvVJOtlZGd6/MZ5HDjXeSWsAiOu3wayR3vsSi277eABQ+/KYU6coj3aTdb7GtC3vC8NSAo/8+Uyzs7UIJvN 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: For testing purposes. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/idle/intel_idle.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- a/drivers/idle/intel_idle.c +++ b/drivers/idle/intel_idle.c @@ -1787,6 +1787,9 @@ static bool __init intel_idle_verify_cst return true; } +static bool force_irq_on __read_mostly; +module_param(force_irq_on, bool, 0444); + static void __init intel_idle_init_cstates_icpu(struct cpuidle_driver *drv) { int cstate; @@ -1838,8 +1841,10 @@ static void __init intel_idle_init_cstat /* Structure copy. */ drv->states[drv->state_count] = cpuidle_state_table[cstate]; - if (cpuidle_state_table[cstate].flags & CPUIDLE_FLAG_IRQ_ENABLE) + if ((cpuidle_state_table[cstate].flags & CPUIDLE_FLAG_IRQ_ENABLE) || force_irq_on) { + printk("intel_idle: forced intel_idle_irq for state %d\n", cstate); drv->states[drv->state_count].enter = intel_idle_irq; + } if (cpu_feature_enabled(X86_FEATURE_KERNEL_IBRS) && cpuidle_state_table[cstate].flags & CPUIDLE_FLAG_IBRS) { From patchwork Thu Jan 12 19:43:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098840 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 F160EC54EBE for ; Thu, 12 Jan 2023 19:58:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 18ACF80020; Thu, 12 Jan 2023 14:57:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 077D08001D; Thu, 12 Jan 2023 14:57:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D720A80020; Thu, 12 Jan 2023 14:57:46 -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 C20DB8001D for ; Thu, 12 Jan 2023 14:57:46 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 8E935140E12 for ; Thu, 12 Jan 2023 19:57:46 +0000 (UTC) X-FDA: 80347207332.15.E48051E Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf28.hostedemail.com (Postfix) with ESMTP id 869F2C0010 for ; Thu, 12 Jan 2023 19:57:43 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=UZP1WhwW; spf=none (imf28.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553465; 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=GvwbGFmvCEUlvMDtuRKKain2RkezywAYf/go7N4onKI=; b=wl2RyX35LMGiruCGofB5YGP7czfMW0S5p9T2erOLQa34AvIYo4HtxcUoCtrtqbn/6qzHGI 3EG+44DlLhEeMmw9vtc1RRfs9i2iNZ6cQI8o6kwKdsUauLqHObGEm/SXHb8jLGVV6Wisfl qISjFKNxhn++w7OJUQnI+2+S0W82iQI= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=UZP1WhwW; spf=none (imf28.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553465; a=rsa-sha256; cv=none; b=t6t+IUqXotlzwazpJjn/pJG5MFnpZYyvX+WYd8t88+kxtysmeA6e5Ka7Z7fh2OXfZgJwL+ WObRfkp2utAQZPvFCvNjq1lmeNY8lYGSLTqV1sv3/TPKX/bFUb3PC6JWUCJlvWm0YVQzTP TLOBIRMgsc6t0Pc3/icKaL2lfrVNStg= 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=GvwbGFmvCEUlvMDtuRKKain2RkezywAYf/go7N4onKI=; b=UZP1WhwWXNKsSNjUZl7FaNdKCn ddEQs2bPXQi5qPjj7qlJxw/QPW/0nxOgZLN8xBPDMZ/1zjz4Cj4cBDEZBuYnBOjn9uMSnfZ/x7+2I 9dTh9PKCvuDC56aeAA3cL71DKDuGL799xQcS7MxhLz5jtlqRv3ljsfno7QvEUZeBL/ZKqQpiu6eX8 1n/CZuVsNYoC/48UeqqLacX54nCFrLom4QSa5qKlMYqjjQVNzfHjWkBbeNM7/Bwfq6S/ww+f2nN0u 0BjGg5qo+ibAucyPfwz5pwvtUQ9FofzqrnD212u/gvXOr0euOanteiang6T+NsdgqQ3BiJZ1d+Ozd /GvjuQPw==; 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 1pG3hW-0045tg-0P; Thu, 12 Jan 2023 19:57:31 +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 20794303471; Thu, 12 Jan 2023 20:57:14 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 5F8C02CD066D4; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195542.028523143@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:58 +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 44/51] entry,kasan,x86: Disallow overriding mem*() functions References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: esnittezrec6hpibpazz75i151ptqhp4 X-Rspam-User: X-Rspamd-Queue-Id: 869F2C0010 X-Rspamd-Server: rspam06 X-HE-Tag: 1673553463-284725 X-HE-Meta: U2FsdGVkX18X7wrNDaeyiVn6oDJdfudN/rJ38q4iVLg6L48WpG9QyBslphXH1Nq8RIe2oabzcey1r9A7NWhsx5bCHRMH0E2C3VquwEp8UT5wt+BqExe7tEaTIwGTQJXOF6U1Zp9/ug3L3uOrxPmzhR6kQyvqX65XfZMP3zGQvm4E4oEYMlA22Mf6SBw9NgdcazC8cGwRUfb5Rq3mZT+2ZvPgKFbtTejL3HF9TROTl1pNQKEgJzDWq+CszgYNFJYz4wtNERbkuy+mgf/NIIamSPtHXwv4ijzdsJUxtoX0AYSOSNpyrBS+M7vGTU6RO21M06CJGJtGPpMnZly3tB65FzwQgj9Em8AP/AcAr6nKHeOfO6mQCjHQo/TxP9U/T1w62rRu426N4FNgY2SaUu7Wuc6cIbbwLTY8TVnBXpyRX5/CuD+dKe4ZK/gluewtJut3gHDSdA/uAYOZy+nN8U5zBaBqKjgq+JE3pCfz89hZxtv/ZEHK1FPB9x1EiXYbdNULjb5HvMZVVNH4PpzPewz4Z0jlXy+qOMc1w6Pu55QDfg6JVWL7EDG+kZl4ZvHTTuNd/omUKsk5mP0P8rdby1eQ2hxy6DKb4hRNfyeB1+HvArfxp5touFLr327oUw3g6gamPBL8STe5sHQ50gccKKVxIqG5P6p2srcxDB11xK6Rj1UdiWuLSKc2ASCKldS31nWBi/6tF9f5WRgC41ZQ5EtlD3wC7PePL33xYoZi5QijXouNR72Xnmo5HrzNH/iM+kdBCJIkn2ht2Kbwd8/Fadh1KuzlQGLD/zAgYFLBohZjt+XNj+2TVxEslkih1rJ7M/cD1U3kPKjAl2KMrRxoHcQjJWqraquqgPiR/g+SzK2rLL8o4TUihWGyO3Jf90ixepNPLF2WNrxCVkTg+/0j5+m9G/L/3MYEioJXWlJdQHtSBUiewpOzL+KOS+plMF3nx9O4DH8OGs2huv39cFapXD6 Nh5YSs61 1Esw+d8skYm+QWXP6arsdhYaVhGsfiSDNKJ0sukSpvDhaL2ta2f/pnnWdfNJqzP/XA4yBQmmBBdm6Ny1+GAyqbhKdJDv5w17/qjwfV6kSNBBaTsQIyaPhVBN9hySdC8JQpVz1OH3oy+wZSXKemJW6ANAXrXNd5D9irKP3VQBqIXSHVe6V5ueVjSAjrvLSh4PeMxhR89MSLd7GSQ9BEwU2WHG7oPGHg1t6M+jJa/hWTBV5s2B6kwLSQAv/JETIVKNfFrql1Va9I/FBeOzNNCvgGY9aP8X0+6SrnmLKRDSZN7oQ74fCYcFUoeK9uTJugJurOXI1YET9p/evZV2Deb0Teo874ccJaHeqa+cayyOgXD35exeW4VWvdm0qaPmbVsN9JALItHJxf8HIzPoQfwqArQDvFHztNLdjmmYwvJUOf66Gu2bbYM+pL09L3f9jDnR52CkZY5R7FmWWWWRzFKA/k8VNjZavX7bZDzcV3XkMsWH2S+C4rqPJfGYqu8sTAfVDuty+XfVPJsSjinmXIok/FNj7DR+4Nx4LMkfNss9IsvV74lnrhvObjsLPNvUXfLHf4ccK4FGnwXlDExnQK/1osACU33xiV+L/G/7cEXbqZYznkbDhxr8R/zAERk60pM0IvdFXCmhn+geoJ6svhNinlQw/yWDFLUW4oHn71Y0NyPAd7bbKjUt6Ou0IApEMpM1xdKJC4Nhv+i1xn5nNNpAWBB4OQoN3Rs5jRhULoQs6bvLaSNaFd1jUN8NLASqH6G7etdN9jjDWP5ItqpJxZo8fR/vMpQAXQq36F02zp7a1PcyzQhgKQdWXzrDyKHNYEs1JISAodtX8w2eNyCKtbuZZ6kNQSQP37AESEexnCTSt7xGqAUDYJIAb2UK5NI86fVhHc6c20X95PytvVMeNsqEOb7In4NQxv+Wd2+Tkgy/yQpPWWRMIyninL67s34Aa5Ne3GuGFdiP5+s2DzRaGaDS5jJa1WG5E 79AYTs0A WaJT8BbNmdK5+aM8SV5/KQi1P9OElvJmQ5Qs6n+KXNwDl+AF2Oxg1+UpXMAFKhVpDEPMSOhqZrHSAmaEQ6xRN5Dx9uTYKJkQBcpv5zTm4J5QmqRxOYVWPhe5GmPb2gkh+f8HKUB9emMNHLdbztCLAQXVsFqvchzZdboRYp3oafrLQ3HQbIzB2GZegX44m+iRI55RtfdXQopaO+BHfJ6NAzwpyEL/SLxXvNzjXvqmuc1qmSTs7xYyihHBd+J8lT3/2bxlGWq/9lHI20VCqdZP3Rry6q32VRuJM6L/ANDvokJZy4RqpUzWET4PPQPIZ5aNydQQdAqkWNnJFTf5//JfWj4tm+j34gR7+/o5yNk9RfI7Z+rdTe8rc2beNHFOLR+jHZB7JNJUqmCv7BFQNDSeiKzGFxtaFuwuqlqC677FWh7hiYtNnMR0FCpSlMt0hWwBb2OsKUwsdce7S+iWDgTBcg5vF10ofsO3YxfEWMxLHF5FWEiURITzQl4LGodXtrurSdZEpopvF+vgUXfMjC9CGbgLO0nYTUL6PL7pGvVMAx6/c1lBRYjyaI3Q+WcKB5Nfj39kHWdjzkCuWs/+/eYE3MpFEyOGPrTbBtC1jmJ10T13hHU5J4bbsTm2pEqSXl9zEcYyNWioJ/DyDCKny5zK9z8w68I4Xl/RauLutXu1+Pzrxt7Khh2xsovZVunr9WgwrWUDKtlO/GMxjJmTkd0fhDLc//rkykspKSbCh98WBFYy0QhnJ+5bya37HeNT5AhXdZUSv2hay9z4gTMZyUBylZ/jjf1s7ivmRwhya6+56sWUZtoyQn/rKCS7o/vnnqw3kgxECndj8iVIz2A78lFV1Td7fvQy461E2OW5Ei1G92rxESz2uS9bzaV7/xAXCCnBk1JydMGPfNNqVyVBiRbLBmDbFUeVQoxcpLkZFC7axhBuTb2GzpL3WZUo4wmGfLNQdasVqOv3++sD3JBwtzNgSIgL2xdcz Wfvu/9z8 5qrhj+TcGfCC+NyzIZgVcbMfeJQyLgvRmRecHWCiqL/fJTOZKhNXzK0K6jqbtrm84H8v9ng+X3Tq1hPLN0Vlbn7wUr2Jv6dHWHm1HLTjw2H/gpKevp0Hley+TbC/OFTneClpqSzS2Afu32K1/26PVpxCX0e3hKom7Rbueit7yhmWX8lkTsunMox8L7uiTO6nSZgrdEoDzIAasvwswcBXOlWR9qKWeR3umosl3s3B5DPBefRyRPNzv8C7bSJc3mioEgBvtDOMrshJ15/s3rOq5iaSnz7NtgDDju36tFP/LEwfHwrsUJvlzB7A0kIjSXxJ/pC9kkCexmfENmDTfNdf29YJOAHAhfCuc4q+f5O1jtYJdDR7W6PO8Tv35CiG6W6nPNqVQHxDaJ6UePvPtCADP/TfRUJV7OBph60yuA/qXK3Idv+l6B3CcpoD3H3pjWayjM0g1tYjceB5kKWDaUdkFT3ZYEN1EE/qNrz8lmDAnhH2y5tGzFvgXN4Ste0JsoXneWt/AXpUBWOteYwruZ6O2ff1KHTkW+bXaT/mHiF7hS7e2dFQFX/h9rKYpd1wdzyd5/OuUjD0o040rOI7mgMkqzYYnfqKnLO0wTce2k1mlvuhfKcll5JT3M/Yq2BrrPn/SRQEQwv9d7DW54iB33l0+vWe8JBLP1Y0rb9dUf+A4SeU/7VBSjvnrpD05f5qK/q1DfAVhdTNp7gDhKgsaC1e8E0cHFqbE9UNMhYRw1ogT3yPkHlDp2zgXnvVSUDy0zuNSdjY+fWY0AVeXvkkG9lSCQjs15uwXSoDCJjBL3x+w3Stpp4V/ouEqYNJje8v+SH9X0UpnK2mKHu296OFGXRcfm56RhJeonsGQIIFvfRFmZRqsGr3V2wXa9/kZirm6sflBLRSO2xHwqNYiRhV8VzSrxOVzwZ0VfbjyNhqv6FJ/rhSLEM96dzNG2IQpnuUiIc2js36GKAUFsRIAQvqTaTel+dKEGqIx Js7PbapK w4mF9FoX66jPNZBQimAYz1JFO0OWAiVJ7RzmT1FUjXYcwlfdP0nIokVYMrGotuByeqy4egJY1Q5B2Xvk8ha9Q8PxiON41d6SpJFkvnKR8+DA== 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: KASAN cannot just hijack the mem*() functions, it needs to emit __asan_mem*() variants if it wants instrumentation (other sanitizers already do this). vmlinux.o: warning: objtool: sync_regs+0x24: call to memcpy() leaves .noinstr.text section vmlinux.o: warning: objtool: vc_switch_off_ist+0xbe: call to memcpy() leaves .noinstr.text section vmlinux.o: warning: objtool: fixup_bad_iret+0x36: call to memset() leaves .noinstr.text section vmlinux.o: warning: objtool: __sev_get_ghcb+0xa0: call to memcpy() leaves .noinstr.text section vmlinux.o: warning: objtool: __sev_put_ghcb+0x35: call to memcpy() leaves .noinstr.text section Remove the weak aliases to ensure nobody hijacks these functions and add them to the noinstr section. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- arch/x86/lib/memcpy_64.S | 5 ++--- arch/x86/lib/memmove_64.S | 4 +++- arch/x86/lib/memset_64.S | 4 +++- mm/kasan/kasan.h | 4 ++++ mm/kasan/shadow.c | 38 ++++++++++++++++++++++++++++++++++++++ tools/objtool/check.c | 3 +++ 6 files changed, 53 insertions(+), 5 deletions(-) --- a/arch/x86/lib/memcpy_64.S +++ b/arch/x86/lib/memcpy_64.S @@ -7,7 +7,7 @@ #include #include -.pushsection .noinstr.text, "ax" +.section .noinstr.text, "ax" /* * We build a jump to memcpy_orig by default which gets NOPped out on @@ -42,7 +42,7 @@ SYM_FUNC_START(__memcpy) SYM_FUNC_END(__memcpy) EXPORT_SYMBOL(__memcpy) -SYM_FUNC_ALIAS_WEAK(memcpy, __memcpy) +SYM_FUNC_ALIAS(memcpy, __memcpy) EXPORT_SYMBOL(memcpy) /* @@ -183,4 +183,3 @@ SYM_FUNC_START_LOCAL(memcpy_orig) RET SYM_FUNC_END(memcpy_orig) -.popsection --- a/arch/x86/lib/memmove_64.S +++ b/arch/x86/lib/memmove_64.S @@ -13,6 +13,8 @@ #undef memmove +.section .noinstr.text, "ax" + /* * Implement memmove(). This can handle overlap between src and dst. * @@ -213,5 +215,5 @@ SYM_FUNC_START(__memmove) SYM_FUNC_END(__memmove) EXPORT_SYMBOL(__memmove) -SYM_FUNC_ALIAS_WEAK(memmove, __memmove) +SYM_FUNC_ALIAS(memmove, __memmove) EXPORT_SYMBOL(memmove) --- a/arch/x86/lib/memset_64.S +++ b/arch/x86/lib/memset_64.S @@ -6,6 +6,8 @@ #include #include +.section .noinstr.text, "ax" + /* * ISO C memset - set a memory block to a byte value. This function uses fast * string to get better performance than the original function. The code is @@ -43,7 +45,7 @@ SYM_FUNC_START(__memset) SYM_FUNC_END(__memset) EXPORT_SYMBOL(__memset) -SYM_FUNC_ALIAS_WEAK(memset, __memset) +SYM_FUNC_ALIAS(memset, __memset) EXPORT_SYMBOL(memset) /* --- a/mm/kasan/kasan.h +++ b/mm/kasan/kasan.h @@ -551,6 +551,10 @@ void __asan_set_shadow_f3(const void *ad void __asan_set_shadow_f5(const void *addr, size_t size); void __asan_set_shadow_f8(const void *addr, size_t size); +void *__asan_memset(void *addr, int c, size_t len); +void *__asan_memmove(void *dest, const void *src, size_t len); +void *__asan_memcpy(void *dest, const void *src, size_t len); + void __hwasan_load1_noabort(unsigned long addr); void __hwasan_store1_noabort(unsigned long addr); void __hwasan_load2_noabort(unsigned long addr); --- a/mm/kasan/shadow.c +++ b/mm/kasan/shadow.c @@ -38,6 +38,12 @@ bool __kasan_check_write(const volatile } EXPORT_SYMBOL(__kasan_check_write); +#ifndef CONFIG_GENERIC_ENTRY +/* + * CONFIG_GENERIC_ENTRY relies on compiler emitted mem*() calls to not be + * instrumented. KASAN enabled toolchains should emit __asan_mem*() functions + * for the sites they want to instrument. + */ #undef memset void *memset(void *addr, int c, size_t len) { @@ -68,6 +74,38 @@ void *memcpy(void *dest, const void *src return __memcpy(dest, src, len); } +#endif + +void *__asan_memset(void *addr, int c, size_t len) +{ + if (!kasan_check_range((unsigned long)addr, len, true, _RET_IP_)) + return NULL; + + return __memset(addr, c, len); +} +EXPORT_SYMBOL(__asan_memset); + +#ifdef __HAVE_ARCH_MEMMOVE +void *__asan_memmove(void *dest, const void *src, size_t len) +{ + if (!kasan_check_range((unsigned long)src, len, false, _RET_IP_) || + !kasan_check_range((unsigned long)dest, len, true, _RET_IP_)) + return NULL; + + return __memmove(dest, src, len); +} +EXPORT_SYMBOL(__asan_memmove); +#endif + +void *__asan_memcpy(void *dest, const void *src, size_t len) +{ + if (!kasan_check_range((unsigned long)src, len, false, _RET_IP_) || + !kasan_check_range((unsigned long)dest, len, true, _RET_IP_)) + return NULL; + + return __memcpy(dest, src, len); +} +EXPORT_SYMBOL(__asan_memcpy); void kasan_poison(const void *addr, size_t size, u8 value, bool init) { --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -956,6 +956,9 @@ static const char *uaccess_safe_builtin[ "__asan_store16_noabort", "__kasan_check_read", "__kasan_check_write", + "__asan_memset", + "__asan_memmove", + "__asan_memcpy", /* KASAN in-line */ "__asan_report_load_n_noabort", "__asan_report_load1_noabort", From patchwork Thu Jan 12 19:43:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098782 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 73F67C678DE for ; Thu, 12 Jan 2023 19:58:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BC6038001B; Thu, 12 Jan 2023 14:57:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A6A898001E; Thu, 12 Jan 2023 14:57:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4BE318001D; Thu, 12 Jan 2023 14:57:43 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 3002780017 for ; Thu, 12 Jan 2023 14:57:43 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id F3D87C0D8C for ; Thu, 12 Jan 2023 19:57:42 +0000 (UTC) X-FDA: 80347207164.11.CC693D5 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf19.hostedemail.com (Postfix) with ESMTP id 7591E1A000F for ; Thu, 12 Jan 2023 19:57:40 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=tOV0YOj5; 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=1673553461; 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=TpAs8eQceCyyKKtR//95dieD+m+uPCJ6EEXd6r5ehjs=; b=H/56sGgnGz1Wa3bPi5zJ8LppqeFGFaDfiTV0fU5cowVbH1PhppOj7cRbEQqA0y3kuCZ619 F9mnGIV1Vq/PmVPlVFE6GsmDtdBXmuFo2prgEz3YPAlGn1zt0jiaSs0TCimgget7ZonYNW 9sEFnFCfLCzKjjpLaoVhqx24RpR2IxI= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=tOV0YOj5; 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=1673553461; a=rsa-sha256; cv=none; b=kSxj0JQkgRB6BTdq8VmRIZ4CdmkoH4IfrSrveJwt5U1BV+ZNOc+okMnB4RMha+r970otfg 0xpl2tSDE1bYsZmpkXGaGNYnF49VuZ9mE34DpdppHNKH8d7PhFmju63tGCRp3B5AIdHas5 64bhJ1e89a4mz78rv9fRw9H7gyzdixE= 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=TpAs8eQceCyyKKtR//95dieD+m+uPCJ6EEXd6r5ehjs=; b=tOV0YOj5iNDK/m47VBWfA6Ru4x bmj0NeQaiaQs0AKpJs0p/FhjCO7xciTK0nJuh8IuzQGajotJsiy0W+x0AVXUaoNLZnZiKFIJAoHmj BUEedwDc02yQZ8ZXdXHY1sc/922UDzqaZjq3c0CNpaERUTU6w4xWrYhr0/MiJvV0yldLmkp8K2I/g S6ObVx4NF7YshbqwRQkug5niXhh7Men/EndtRRY9U+mGWG1XpgKDjfmIdwaWQ286ma4cOjAXN0+WW DLMrjCJbdT3gRxDJNEIJWJVda+cZllU4MucGSA+Yl53ZmDet+O4b9B1wWrxl82vveg8EofoDzBF31 ZgLYxuNA==; 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 1pG3ht-005P68-BV; Thu, 12 Jan 2023 19:57:49 +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 266FB303475; Thu, 12 Jan 2023 20:57:14 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 6405E2CD066D8; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195542.089981974@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:43:59 +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 45/51] sched: Always inline __this_cpu_preempt_check() References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 7591E1A000F X-Stat-Signature: 1nbhzqh5ouepxm6awpfd4xsu4u8aww97 X-Rspam-User: X-HE-Tag: 1673553460-456904 X-HE-Meta: U2FsdGVkX1/gS+k62rtO6RnKfcYVqL3hIB0y2zdU3S7UdSD/DoYA/rou/rvL4CBYz9ldItQ1rhIiKh7U2oShnGa+dySIx9m0aQsvm9bl27NUMpSf0ekZgkt1rkXtS+BgqRcjGYZDeD+OjksWvhJqRXrdvyrjgMKaRDLDfQbG5cGixsZ5bcD/mvkPOwY9WYygXvAYqZ4jx7IzvrAWHlZZ5nZ0VFq0SoRRmMPLrSuLcZgUYkrj4FfZYk4Q/90k8VM084ecD6A0Rm0bWyFAAoO5ZaTWm3H72EewwYzHKwL5Xuj5kZ/vqQDgAtbrUApcpP4NSEeUNVvk5rK2u2JNUgq7bD4mYNPYQqsKKavNwyS0ha5AQ0SaqHZfdX8liWHRcU1mJEbvTxiZEepbqzQuQr+mn4tuxlD2/v+C+jV789MjwZuW/Uq3hzucvp0I9dZTgTd9BLhoq/hmAxNA9dB9tCGoL/G6B0Zamt5qoLtYR+qIWQjGal1OqL/2oJawJFStXJyLXoJs1S5Ju6ziiLJQ7BHz39jT2Jxri8IH/GdYA5uTkCqRjAHtuz59ZzDZJwwbxFTbcQfNT8AjOlKKmDq+YVRQFKrNyd5vRR87oFvdzPcM0o6wkhsU1wVXqiyswxBeRdbAiBC0iQD+q4oE3mRzjCzqDub7fQZMfq0SW1xYHyxOK9EJUxUBV+hL3zNB5dcjq99VOnW6KU4viFiFNF/cPkI+O8xbCVNG8yeTXXDL/aHdp3os/hpfwHFheQ0Ie35x2ADt5ceXPqLIZ+OMB8CuPMb93eQwbekBn2lt6aMWH/CgOW7zkaSPM9ziha60YkCdyLszZcWJHRJE6M7mlpazVtS2zBLiqZ/4aR6U1y0R/n9kmjWz3tmak9CiPt0R3X5HwNPaGj9n3BCNcRGtwlCgy/unaOcrx4foTjQRG2YUP89xcgRnttU8uCbeRDZtZ6AZULRHEjYvbvI8DQQmAIcIPn9 VbWK9PzA lWQY2NKIkxbsezWj6HzY1viWwpUm7E2VtVcSKK1j0RwmjN/6pI1E2BMbpWUPUndmlKctMwlv3TtN+lq/9FvTYU9Yn+LHGIt3d234wje/VC5u0T2CFDY1a8ZOCEoDKKpw4kc/t6j6T19iUb4U1E4+MZgLH7S4wfCzEgAZXpgL9PMiu0+8lWBgdKUVGBp6cd846rLtcfiN5Bdlj5raTRaCp2WVxChnmjYnwoZgCW67RDeOxcimoSnWWI/EixKcx8w5/kT3U52FTn0nVno7KVmHyifuvEHxxK2I+GGlbA1QsMJEVW5WuW0MHc+UqluQdPt0z96PY64MYbRSHsgNwvzqVzDOsgIfk8VD21m7iF/wietsXak+PiGsiPduB+SHmu7OgcDZoZ9CZgKZW9GvltbhCS60N7yEgmvExsLfy/BC1Tw+Bg5aVCqRNnS3YT9SslrVI5lMic64y/10nxLIkIIEArL2ftxCiZ+UYPdmQpdQNvUsJztUygkL97NHholPZLild+4syehlD9uFF8rOH5wS2bGJMHTDwrFHkN/xgiYT7mK0B+TA1WztdpVBdd4jG8nwoJtifmDTV5C9h3BQ+eqIjX0x37Md1E+MMh/C5Tcg/LNPedG6kNZiP5UEABf4xTZJx1GYhYkQ2AqLHJ8wlciG56xg/AyCtMEEdycs+ly5Kq7vSddSXfeVdvphtnYqy2V0RPJW0v0DHveu9SKSpMa7VrA6DpgqriVyTJYIuWz98xbcCvjaeYBdxHStJnmOv+um/qm4jH1b8JigQSaUlFGjXiEpERSaLlBj1HEw0ILTi2KfJwK60uGaTsKiS4+TUCJr6Co2gp5i4N2yps19RdiIgju68izBpQ5YMK2bhsHxGULtCBj/FPJ0DIWKYFdM/4WaUqnvrlL9+qft3woeDnDnaphFpEZtpmGWSZB0ujkWyiX9w7MjNdBVgXcwulwraHUQSlNAMQ8dQZxwAmXEyuwWMsoFsYRQI Xl3R+OT3 okUjyT5DI+cyKPTNJ3yZn8doycX93sTaZovuS/Y4FKyOf3uiTXg+JVqLSHKg68oCfF4hd23l5Ww4hIlRfS/akGgpQhN57q1bHXho6J55ML/MUJcZfK//ZMurv4n8aVJUt+VyCnZqyBvXDibsCeNp+wv7IxhHQA2Tc6PD5FHEpEVjIwCV8Mg5GfsQLHSywcTBgj5S0phqoPmkZttDodbrc0HiuTRCKB9chLg/paLTY/bbMTTJDy8PI7yWNrrOuJm+7eh3bIQkQu7fPy6WNWtEazihkvV1Bng5DKeOnXTrmMRJrGKGoabM1CN6qud5fv23L1cTK+ovp3xG8Y96ye6Hx2Cbw07Mntgq7hIcYQHjcEWtvsB9BSNTy6wDAB7FJMERnrajQfO7SmEIlbze9FSC/WyP6uyJEZWRLZdqxmtudiMV5ONAD9GHlCWm/3bnmkVUu5nqk3CeWzd0dtPz4HkfbKYkrrFxconL3T1caWvj9dJnjKiQqk4w0u4n9Sw+tKJ+LIkXJTGWi4rLlS0YnNyVy/07STxJQl9c0ykRVdwyEMMGmmFEFdgwpvHPMuLvo6peKF9kJLPQYRXHBhY7WLZmV9/82cxk21/3wRkrzXOBByxfGQe1VIaM4RZv049xsr0PQP248ANgqmXH8bWZ6mt5/4W4hYrLw660SvqjCGR9uHSv3IR19nEVXJtpSsou2wm1jeG4mLRhH1IYO/ZHfoZOYXavSK88eO35hVm2LrPKLdlRrnc9oEO1bRy00JV20jqCaGE3fKlMZzALcBTuo9qrjnhH0bPPWuLWW6tQtBilnaX4DhyogC2932y+WaaW4FlK82MlRIZh9kp+MqVk8xnPtfCZ80omqXmsJj2jMJNLPjqtr4rRYh+TlfWyjNbamdJEf3jQjxTAW1cPPO268iyPFnADGqZiW4yd1xerdcb3lZjdbiTErKATwI8D7QS8tC2s/h9JAgu+R5by+M6Vnkz0JgqW6kS1d +IoVVzdg O38BmveUl/5o4lk59ueS5IQCeu06aV1c6WCQVlvb18oWIOQrkjb7qI0Fd2xo93iHCW6qIh97kBHZLxSdHEtgHYyMA4lyjdAlkoBoCE6eSHFhSXCFUD+l2syQ5cPyOKLoxWMShsY+BhYVuY2gcICeaV6L77j4dgJzHpQNAl5Jnnq5nLdjzQX4pNNa4mXIjZwIecmOpbE34+HSeDkMO2S/ttbOOUPRGLcOWsLgEOlXfRF7ugObAw9s3qdnrq0HDwGoNJB/LrgV731C8twQPGeJc3NS/vpvu6LIwgFHPYGlPPxvJSoAcv72ldYSsb1j6vjLPwFV6x+G0/X4UjLoWDfYwzDGQD22G28mzeik/kIrgupBmV6oB9W4dDk9gQeGKeZxXwZHDNFQZv+pNk/gqOCjE/WWGPZtryKipcI80ojmQLkEKi0hBUupTfybVeEgX3IVxRjg5MqkmO5FGz/EH1LrzdU5VUZ2VKlhJlL6ze/YnUMabXnjJthtdR+4KCAv+Oc35dx88PGK6JI/hnShzO1MNYmMPFRl5odXtUJDUEzxGoibIw3zLTuwZh2aiUnW1QTf4pLokF5tb88r1dFaYB8nM0Y7nKnkQLJx+pAsGFOlFoRzVVaU1YIJ57gy47/cwnefMAF7g7IVWjBWqWIHfel8hk7pYWPaEvwU8Mo6HYhCrjQQpovkVTMoX8LRJgvjCZT2CAQn3twvqXg1Ex1qe2XbpNtYNhy7naLoqP6YSzWnJblbDsKu3Wgc6RvmZRtYhhYy5Bqfy+TlPizeF3PF2n/oEIVdxuXQPBTUSQOKc84WbcixKRpKO8OrF3fX/yyw15Q4TtYieqln0jwdGjW+PuYcZR53q3kqvPH1RAEZij83Nt50WngWZDTK9RtekTc3Oi8ahypej9bqBB66ERX551kngUD23KXWZlWd09c9Qwddv6r1JmquQHvLsM06bDN2SpCFACT7+fdmsuYkbm4if45dbO/pL3TnB d0u07aRz pofRele3haM899udcTpigTXBTkKUv6cw8HT/2hwgLFoSa9KPCOMBrgUg1pDN+BvNUNRRPxIUX/46TjVO705dd+neDLna3XNnt6nOmpRFZ9WY5RFsVKs1vNLAhOTZS5nv3lVbECOVSjWBpjuH12y22Q 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: vmlinux.o: warning: objtool: in_entry_stack+0x9: call to __this_cpu_preempt_check() leaves .noinstr.text section vmlinux.o: warning: objtool: default_do_nmi+0x10: call to __this_cpu_preempt_check() leaves .noinstr.text section vmlinux.o: warning: objtool: fpu_idle_fpregs+0x41: call to __this_cpu_preempt_check() leaves .noinstr.text section vmlinux.o: warning: objtool: kvm_read_and_reset_apf_flags+0x1: call to __this_cpu_preempt_check() leaves .noinstr.text section vmlinux.o: warning: objtool: lockdep_hardirqs_on+0xb0: call to __this_cpu_preempt_check() leaves .noinstr.text section vmlinux.o: warning: objtool: lockdep_hardirqs_off+0xae: call to __this_cpu_preempt_check() leaves .noinstr.text section vmlinux.o: warning: objtool: irqentry_nmi_enter+0x69: call to __this_cpu_preempt_check() leaves .noinstr.text section vmlinux.o: warning: objtool: irqentry_nmi_exit+0x32: call to __this_cpu_preempt_check() leaves .noinstr.text section vmlinux.o: warning: objtool: acpi_processor_ffh_cstate_enter+0x9: call to __this_cpu_preempt_check() leaves .noinstr.text section vmlinux.o: warning: objtool: acpi_idle_enter+0x43: call to __this_cpu_preempt_check() leaves .noinstr.text section vmlinux.o: warning: objtool: acpi_idle_enter_s2idle+0x45: call to __this_cpu_preempt_check() leaves .noinstr.text section Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- include/linux/percpu-defs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/include/linux/percpu-defs.h +++ b/include/linux/percpu-defs.h @@ -310,7 +310,7 @@ extern void __bad_size_call_parameter(vo #ifdef CONFIG_DEBUG_PREEMPT extern void __this_cpu_preempt_check(const char *op); #else -static inline void __this_cpu_preempt_check(const char *op) { } +static __always_inline void __this_cpu_preempt_check(const char *op) { } #endif #define __pcpu_size_call_return(stem, variable) \ From patchwork Thu Jan 12 19:44:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098784 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 1CC9FC678D6 for ; Thu, 12 Jan 2023 19:58:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CFE178001E; Thu, 12 Jan 2023 14:57:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C39808001D; Thu, 12 Jan 2023 14:57:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 99FA28001E; Thu, 12 Jan 2023 14:57:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 84F648001D for ; Thu, 12 Jan 2023 14:57:44 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 45938A0E18 for ; Thu, 12 Jan 2023 19:57:44 +0000 (UTC) X-FDA: 80347207248.02.71FA2AF Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf27.hostedemail.com (Postfix) with ESMTP id 479BF40012 for ; Thu, 12 Jan 2023 19:57:40 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=UFhO8sQy; spf=none (imf27.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=1673553462; a=rsa-sha256; cv=none; b=bceGqSkXyCiBPRJLV18AjTcLebM92tUEEG58Z1aBKtXJB1g9ba4MQy4Oh1MZXkXHKwgKat atFYAEmh41Qz479EX/ylOG5RK3cjOSk+eo1TwwQ2Q5He4/Hy1i7gJ8V/+6buQoZ8v4cUu9 +o+BMI3Q+WO2QsTjuFBIxyPA/c0/l8c= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=UFhO8sQy; spf=none (imf27.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=1673553462; 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=ljNIHChdlymEt0s4DtY+Ji5/5ZFr1jFKrzucPLjcAFA=; b=ypDcJGGo87gO+plSSDUAxTiroDgCc7aO91LHPQ67yQWa2BGCKnsQGQrL2n3MNl5DH9ggyc rBBQLwlcrCkMAqOUwHvTalWOrmMPXgtLYPMtc13aKj+lUxNbo/6BUfHazh17h+RFVN+bxH cBCPS8+QZKrJ7ols9OkdkL92kRFi4w8= 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=ljNIHChdlymEt0s4DtY+Ji5/5ZFr1jFKrzucPLjcAFA=; b=UFhO8sQycbOykP9WLmHLr8syH1 9tKpgf+RH4+2oIWu+p1NsZyG1ZQUQEWQKyB7rZeJqKLqT/EpPMTLJSHpi/eniYQI6kNhYX80bC7rp v4DYtLIywV5PM3hyi+6d9VreCBIfyUq0bOE4EJwgP1PAPqwc5ULRKbQuNPzHKcYXFJ+bhA18Sk3BK 0SHi+ZzW5d72kp/7epWf2U0Zao67mw1W6KZFzu9PuzdtQCB/RZo73P/7KFSV/9Z+EgMtlu14sgzCt LY3p+teRO7dsISyeJIOJS/fTB2tiC6ZycPsflBP3cBseh7aef5nb+O7jgwPbkvWsd95ol/bFuNb6B 77LSYyRg==; 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 1pG3hu-005P6M-DU; Thu, 12 Jan 2023 19:57:50 +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 2E2C5303477; Thu, 12 Jan 2023 20:57:14 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 68B912CD066DC; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195542.151174682@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:44:00 +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 46/51] arm64,riscv,perf: Remove RCU_NONIDLE() usage References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 479BF40012 X-Rspamd-Server: rspam01 X-Stat-Signature: bpehet7pqqxfr1o9ehn3ma8xm819ru4t X-HE-Tag: 1673553460-359958 X-HE-Meta: U2FsdGVkX196BxBmROGp1NFxLwFxwR05CBG8Ok4uQAD+ognqd7+WUNUXIeKzCXRmDmuZ0FBB2plz0+pKxmmh+UbcWABVknWmCM/u/bOh+8Sp8Z8URuWWH9mtlP20jqXeTnPBmC+ivt642j6QNMn0VZK5uH3/RaIY5ViWCV+BQ1JtlcYOaCgeBT4XoF66zOei9bTRvMzz/r0UW5UR6N6wqfhHnHY+sXt0YLJHsX/5rhRpNUN7DateEtjTbofFbv6OLdjGsVEuKA60KHuwdU5XqmyN/r1hXMgq2UDDUwU1TsOohujSS6ztpzM2Kih2j0u3tOS/eBVA5RwHRRceLX/ONQp/frQqZAeQa+KP7omHpYZQmhbFc2qWETGw+ODtY833UqTs+IuwBLk3Ks7L/XL/TtpPOFOqPZpSiPNhwycjhFaMrtduu+jbrd0J4gzsFWUTjP2XQRd23kGXJXCpis09e3zby4laDMGtHMoNeJjvsbaUPsExHdxFn2Sta5/mZ2DByohhAMJf8/fUm4peyE/GjYhLOq2Nrh7x4UD8aL+4YM3plZ0zXpZk02teO/StY6Ud6UoYtFjQZMGWXrdDDY65veUP2oIYFAins6S8Yex0qtlVB8kEOA842YGpN2GTCXIunLDZ/Ij7NGjhrOGiw0QH32N0++ue+AOBdGYysCFTbDQXqZcZB5Ih3HX4duylLfUUBdpLYyJ+PhKaNeKghVkvvVzZ/txP5xlc5uIn7KOIMd/ja8XrSFj5WJgt0KmBrhKMLKP8+YRe/YQO2sOlzko/0eD5tqCe1f9WC8vA5LeziHh80vYcrdDEr0dhDhQJUDJlZ1ehwJg8sZW1jdM03KyOpAd+qFxk74i0gYb2mMccBWBc0WaSBJ7GPYkIzX1D+02+imF0l4ZigA036cOnsa7GNH6e9h+O4m5wl6LYobCAKtyHhAUHSsA6pnTGq6j/7zeNH/ufmZ3csYxL7qj3e5H COGdJrms ErHVpDrxw9xj1olAgMY0pk0VypbO/0axYnSDNQLjRI40OFZYYAkj7P2EYYe0MXlVp2BBNOf67FsL+UAJEvg3hW9gKs2iqUquhQLF9egJkZOLo24yDL1qcwklU4NRKxBrR3k+Xxb1hm4V14vsQYq9WdxhHfHw0Y2a2wTo73Gle9qo/NDl0MZTFrN7822MGCtiMgxKdzxOVOwbekdi3hiloCbaX0FmeYXyzYQEqun0+FfvSUB3bWHXFsRpjcrKBbksdJR12Aye56OP6vOTV+AQFkzfMsumgMX9+GBZd5WQbQs+OpWWqYmftbvTOBCwSDMKglbdyoF52BVyjaQbQocWnf4MrDOHcSxeaHdi/LqntUhvPG8vZb91Jta6CYwKQOl2DwyiOzOsdvypvU4DtmDrgJrTnIiK64sV3lTswyF110BUa6ULZagkpdYlHVpUYZcRYaoklIOePsTrQBJD138MeUJQxA6T5c855haT8SViD+SPW1nHkIWgry6r3SWJGU95lWv1q53iuTDFQnLnlAKfJ8ODAGW1UZqYzJFt4twU25Kn87AbXRU5VzPHr05Y9yWZGiFKZb3ytlpfy6y8d0UwseWdftMnAkueHFOyTXhpHUtAaSvMd+QkxE+ATVI0H2UYoVXbWzqZU8NT5Yw4h0gJiZBqCZhU4c6C6Sv+cr+HOTRyhEt6zDclR0mLWrwlsSf3pwwbODchpDof4b5otEbKaXch7WaPT6LGQXcs3AyEqXfdjEyDKEfhZVB0yZG9XfOwNRVGGewmZqwsADT4MdWHMaNMamd9Ul4CvC0Vigl/v+GN8VQLNHl4k0axbBjpBL14MEiEpCis8m+0xeDDc5IWpsOkrxLBNMoJ7+ziwOLJ85tUC6qszu0IJ3/eQBguZql7N5aKmMhJbNW8wYO58t31ue5ZNAIbDpJi53KqqwM4KE7q7HEnqZ9CqzM4dH6+qFEtKpHfK0aiWa2zj1kjFCdZb3zKGZ0fC W9HGAfzx bsAHC9kHhkZz+ryT5acL3AWGLea3O/Bg7Sj66Jk94g8vsxk41k1BPnaey9/XtU45/sYOw9g2LJ6d/0iu5ADHiq4tushp+MHhnjc3/G94vRa4nH/l/BDW+obK88Fr1XP7qrXgYvKMjh8bCUFJr/q5ejn/dUFQrqOl+fA3Ana0FfXjLSnbKYHQTL6p2fpaimzvJLiOIXS61F7cGhiL8swGT62pWzhwYS8YyhYraYyZkhm5oIFHYe7CjS4la+z8yqPXpCMQH+jFEQ7wpng4VwLZYkBMbAqkbypPXcO1bo/HHER0tLnQ2/BW/cc9OdekCvi6Ij4IJkcUOGGUaK5l9ZS7rM1DDvl4xZqhzOwANa+YqrZDeDYw38Gk16cfYApw+QnMVxZAIR/mZUDApLOBWsrJLqQIIIBVfL3CF8uKoavovPy5RecolIjWY38pQAlyOriIgRAnW9Un+6op98PJ92rLHeFF0wddWa1s+kOYV3GuehW3lZ3FT9n7sZixgCc6WBTQ2IyOpsxOo85a7aQy/PVrYDK1XH9vTuT479Jp/l39OkKLY3Fmf81u2Abgn1T31iazmXSl8WqQ+LxGkEuOk/FrbV2qGKXh8NmKtQzcbHnLnIyvioCNXmCh0fWzVJAOy7/aAPoUz/kaQUujwLk1tO0iXNn0rCQ+4iTbsOdHWoSQMf3HjzmoY7Q64F+GCVfB21/Fm0eqmyj0mPl/t4lnMIYTOTDYk5RUQGCoU6Uwk9ObVYZhbIG7r/TF83tZ9aJhJTaYogx3xezTftfIU9BHaQRg0Xp7IeapI/vQyxAFdI6CpNzVByUNPs2wmEcuqky5YaWydnmDwZQwt0emUemZ7dH74fflTYVjBOSLKFP5RdbpqXLqlqUIcxt/oUcxJVbeHs/pduJGXoCPxAQ4xuRRqyFSKrwezMOhxG3vTPKEuY69z1XVVWMPDYsS1ENquBwQ7jNfiIpAAVgWaakuI3QMKGX38K9REupNd DSphVHbC aC3zonfafok60bfwlvwlUNPCkRvZjdA/Nk/t+Reye/OKsy4Z1l//Xl5jTNbqjbZ3nofWEk/xcX55BdszLy0lDf9z9DrwVu4Mnit47pjuAje5OZX+YjbcPPeIENovRTCsj1dfio8TbH8qIQDQFXW7oQXqCEf2u50vvhdN3Nx/psyVJY/3zbPJGa76iKc26DAjM3o556KDBlLQWsTmLflLRGO5MBoBJxxDvRInzfBKCVIAl7w8pHVkrzVBZmTaJDj30CN7sLSgHD0OQCVKP9OhtaE2zyNz46fGsuTAygLwBzeMZDFp80KLSzTs2LfXuFz9W9/2sPzYL365QIy9LXioFF4ko+dmjm2m1ME+oCiDmCuaFliss8JjWj4MW1EKf+IsKYMZMg5mVuofAtkadUywPC3KQtDz4S24d0J/EjbHX5vnpGqoBfF0Z482wCTscM7A07ACFoxAoCyB82d80LkAM7HNwT7rmQ9sLEnPl9fPHu4P8TOIfE1YzWqHTwGkBY9mQMfIug70e7vn8w0m4FGiMMdWVHde5EsOU9AKO1NSrLOws49PLAT+45A7ioEpgIxqRSOJnJ7bfqXKiUmQNk4llSY2YB6Ymr//tp4LQ/Hs7xA4+1ZrhR4IwU4Ij2WtcAn10wpd/w3YV5SR0blanCQl02j96Sd/u0Kc+qdGh6tbijFlZraLGtb47mre9uclYdRmPROKaQltjif/j3ylShgvA4ENYSdcBy9ZFhvuGVAAMN+hWJzEzIFnakKHNJpuLmDZpzjjOPzuf1ZFadAfxkqd3rU39AohEqNRsGvrpe+HwJShU5jRly4bm55iO1Mn1n+Q1pU0F1R+R4lEZTxrenw/VT0bTSK3+v2AIO/7TClKagEjwuB9ge4oPtB5bOHRSF4aDwrtajSX3WnQVfs7X7g2kRTKcA1FQGcUZsouvy50ImCBySdRfXHTb1WpvU8/86ElzPAb2obOd+k5Fm0XP05nC9EVhdDls /FyPR0X2 JUXcGNEWaQsRw8HfCcgHD1O1MfviNMS2DpKcSw0FUqMwEpLnLuaR0i/UI7K+d/auTVbx7VAFT7hwMU3lzOCFFoEx5JWwayUR4HqZ9bY+Y+dOs4MAOtXX7T6Uj9l8VEgM8RVzbeyd6eeuRKe5cQFL7+ 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: The PM notifiers should no longer be ran with RCU disabled (per the previous patches), as such this hack is no longer required either. Signed-off-by: Peter Zijlstra (Intel) Acked-by: Rafael J. Wysocki Acked-by: Frederic Weisbecker Tested-by: Tony Lindgren Tested-by: Ulf Hansson --- drivers/perf/arm_pmu.c | 11 +---------- drivers/perf/riscv_pmu_sbi.c | 8 +------- 2 files changed, 2 insertions(+), 17 deletions(-) --- a/drivers/perf/arm_pmu.c +++ b/drivers/perf/arm_pmu.c @@ -762,17 +762,8 @@ static void cpu_pm_pmu_setup(struct arm_ case CPU_PM_ENTER_FAILED: /* * Restore and enable the counter. - * armpmu_start() indirectly calls - * - * perf_event_update_userpage() - * - * that requires RCU read locking to be functional, - * wrap the call within RCU_NONIDLE to make the - * RCU subsystem aware this cpu is not idle from - * an RCU perspective for the armpmu_start() call - * duration. */ - RCU_NONIDLE(armpmu_start(event, PERF_EF_RELOAD)); + armpmu_start(event, PERF_EF_RELOAD); break; default: break; --- a/drivers/perf/riscv_pmu_sbi.c +++ b/drivers/perf/riscv_pmu_sbi.c @@ -747,14 +747,8 @@ static int riscv_pm_pmu_notify(struct no case CPU_PM_ENTER_FAILED: /* * Restore and enable the counter. - * - * Requires RCU read locking to be functional, - * wrap the call within RCU_NONIDLE to make the - * RCU subsystem aware this cpu is not idle from - * an RCU perspective for the riscv_pmu_start() call - * duration. */ - RCU_NONIDLE(riscv_pmu_start(event, PERF_EF_RELOAD)); + riscv_pmu_start(event, PERF_EF_RELOAD); break; default: break; From patchwork Thu Jan 12 19:44:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098781 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 A705AC61DB3 for ; Thu, 12 Jan 2023 19:58:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 842A48001C; Thu, 12 Jan 2023 14:57:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 77F6A8001B; Thu, 12 Jan 2023 14:57:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3ADF28001C; Thu, 12 Jan 2023 14:57:43 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0ED208001B for ; Thu, 12 Jan 2023 14:57:43 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id E4980C0D34 for ; Thu, 12 Jan 2023 19:57:42 +0000 (UTC) X-FDA: 80347207164.08.5646AF1 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf12.hostedemail.com (Postfix) with ESMTP id 44EA54000B for ; Thu, 12 Jan 2023 19:57:40 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=sAS+cVfJ; spf=none (imf12.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=1673553461; 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=grsvYP38q4MnN8oBsFSgy8h24Veck5RfPmpq2ugRYPM=; b=YikQY7GLO6fstx3Tv3hNvQXL/cAVQjFh/5j1Z8dzpxpfXf1oRXaKai0LkFG/dHOEHczoYw ItG50RaADfOrTMc63xQBas4jG25qrUyfw+68akBy3YeyqOdNpH7oozV5tp1j+b6clsTQUU U+uA2d1xjltOsUK+TtuF9e6ZK4q+rG4= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=sAS+cVfJ; spf=none (imf12.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=1673553461; a=rsa-sha256; cv=none; b=HQYTXrxyQvVmC0TDCAF38YaG+KGaEwrDdjHwf4N1fIcKaNgexYMdsuepTR/TqHEmdNUhyh FMXrKVZIW8FYosWRUYSxI9qGQ9r0j2YazvNtp78Gkz3AHQT4ME8BS0SR5A/aF38KYO+4qS 0COtvrHEKZx42IMUwgxi4sy6JWekh9c= 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=grsvYP38q4MnN8oBsFSgy8h24Veck5RfPmpq2ugRYPM=; b=sAS+cVfJZnxSjVZ+cWnQizLCZi uzGVUsOf3anafnENfDcz5DBxNwmF2u/05pvc6A0c+OdcaX2m7Qx3mQCWD2r8+RXAQmr6AABwQQUqG Xnn1+diWHWxMGA10WHWQkPrlviiLNwKR8l/igNBPuc/Urss/XPLwrgEzGEkTLbJF2i3zM2wEUdQId iXvs8/Thb5QmoGtDr5BpPsofdym80GCpPly/+P1kmFfpKKXI1eKi4k9Kt5ZS1McOXBTe8WNh0qvx1 Mira4VG3zNGY/eh9MdDKDjG1vDtIkJ7jl+e56WDxEl8scNd8fDZtJTeB77Tp7XyQzYbmD4z6YExxk sfEhC80A==; 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 1pG3hs-005P5q-UH; Thu, 12 Jan 2023 19:57:49 +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 3351230347B; Thu, 12 Jan 2023 20:57:14 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 6E8FA2CD066EC; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195542.212914195@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:44:01 +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 Subject: [PATCH v3 47/51] cpuidle: Ensure ct_cpuidle_enter() is always called from noinstr/__cpuidle References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 44EA54000B X-Stat-Signature: j447zx97gexa1y37zaazw7g4rta5kfx4 X-HE-Tag: 1673553460-160284 X-HE-Meta: U2FsdGVkX18UQXb2N3bfjJ6EjJaJeK5aTqdjxcr+IayIJuh2tk+dgWReuhACV42a16kSniFOzZtzDLfFRwz+VlL6y0YVJWH+wQNbuXECit2HFV4JXV/L2inSOGTm1iYoMLyhoSsWmK1MQswebJIgEHn842l6IpJZo0bSzpZSYR0Jj/PElbVBZjG9C7LAhuAETXza5tJ3nnmI8oXpSfyXZfKSIA96Nw0ZKRvQGKnSAdygZZU62G46BBm2UwqNbDDfXJfkJVzhoAHO0QiEIlPsXopIgKK/6ej4ymCHGBk5wPin9jwPFd/vtSdWUDoZhv7yPqrYGZ1ASOdcA77wK7CygzecjAsetNl6KCJbbFpIfeFX6YyUnvmJyNXebu/0s8+NhIDgdHIuYnBTxIIeJjOqwnCM+Oru7+1Ri3qD/68++p9kROa7BR+9PVys+fGO0BD47HBvaT56+gyLCVHKCmgykaDbJy3xbm/eWldV6+IrRlG4TcCp/lerV2jwS96E8GXbgLO2o0+lgrJFSjtv9pejwkztr5AG0Bt3lGMYYzpKBkeHxQpx6W2sQsp86aLx+y6VG15uDhxUZgCBkCu7woMPPjJa2RudMJb6iWTnE9CeVqurrVY7GEWuLP6kB96tjdtZZt5HvSB1PE+NGgzDysIwc6iRm6H88I6SHJGNq5Dw47GcRDvfMMP53e1IeI3hod2oHNH4sm/G63yPa/5RBQ4TrJEVHNQHzbSdT5m5QxNLrzOVxwHG+EHHgQRrsYRrYYY3DbpbxgMq2iMQFEGb7OQHNpLEgPDSAAS9HdInPvgse9YgpVUDXks0K/iD7dqZkIHDuQFTlCUHXmbGR+XLVq/iOxoNz7yoP/8dR8TZM6GKqGULYJMsjdbgKqujKE9KYJ11b3DwZcB1i+H7assZlCuX5VbkHMqLpp6cVM+3nBHY8kHm30rLx+YdD6ZcUphtW7f8p6Ehl0hB6Oc2F0L9nce zJkKDg/5 fsFvQ3Vf/RNFnChZn5rtC7aJirDuWnw8ebDDeDunPGAz7ijifQL1BK9NiM+UCnNZ9xOJDqmLCb9IIpdskyRgdXU1qtuaEhaL/F9i+UWOh8ZP1ceO1SZLl3p8bIlQGzqNR6H7xyyCTLjtnP2SRa9cB+uoU/VQ/uy//bXJigocLt4ywuV+VAxU69iHupU3ZC2b1kPlDvkzODCdrDfAvC1MtpdMh7+F9pW9LUS6fPLXef5LCRYZiwDCzdKgmpGajVQYdRAXnouLFmBJr6CiF5BhTMGHqN79Y5Adcv79+PDYjSzMU0FCrmkaI99fjXy1N+o4jcqLBSXmqpSWAm+HOn843x4OQDFGkKO5Bk4AzuIDMgtgiuQ2cJhCVu3SJMkeMLZwkfIUapClwGfOrRqnOasGOSWOjuGBpTkzTDSxHoKkcD2/Hkpa93uWvkyWiS1Z+h5XmcEr4XguxxI1B2Rcl5DOS0/L3L5OMRp4RQgq4Xr6bYyRaBa/7aOu9rzrY4ga0hrWZF+6yuijW0bHZR/mFGP0rnfepmRGuiwH9dRcAZMZ8AosTI47B9jxDYsU01gbOVrg0o79mT4cMYSfXB/QfpoATDDSvUZL27vrkZZE+9K2I6sX4Zxf6EsdFh4pjmM8Kb+HLgxmFxiMIqHcqaAgJpc9evwlCGlCY+JdYvrteXViyldi2HlkqT9tPnT80CdnZ3DNUB6at5yxWouLolKKSKrTljDdTZezQ3AQwhGGYDKlWNbDVwn43HZOR1RIE2bP19NSQR6j2lq/ULADB6kj4+0KUvkYRLtSdWs1S9Fv5X/C7IWWrc3QyAdTO01ZicDNDxMkrUdAMh+LeO+LmohmEiG14nv9Jx/esmaasxWebJyd7SNSr90LhXj5DttLSeTsT+8ny1zmpdX6ATMCrN3lwxF8qqK5FpuV81rXSAIiG9/d5igdBhK1ss7dw1HLnCMEzEcxNLvRyl8/7JnJmzJ009zqI7PUUnopZ Moi0YPkW 89UXFurp8Q3O3XP20Mc6yXdmJG+38JAh5HIJF9jWDbsAOak66gOVY6gdN1nTe1qWzvlR+xIirkkk9aC+tMgaKg9Sgrq0hSFbGZdxpXwdFpbMs38UU5ce6j5xIcgRf6CBUzc8It/urr9+Ky6Sw8r6U8EUIvZbarWTgAuHlEWWpmW9SpoLq1LUUpGjQMJSqh+FMO1K/Jc+6U2W3/sV9BHPuwuj3RAFAUTee5DbC95yn0DYXVz7QPE17qpb+Vl/yUGKL2gEZo/HcX0I0d+5uVkI8bmPY4MtnxN7HTCgYD6JSRSp+PFCkYWyb9ML5ovb/QNP63fKvNgZ52vLlO8ROMrdxJEwsA/6+8l2UpXUyYLmRC6dwTfkQeNiwtkXPpmuM9D6gJnDySveVY4dsSSM/mAvD/hmR6cLhHXjZZc1QHg8uROvCEXp6/8Nm3t24oCVl11kC80TEodhSOIEqR/YbQmU9NPANw5B3fTaJzjXBatl5gHN1IvMF/kXQlvVmnOLPep+MpHqpS6yB9ORpIY0gKA31lHzdG8yXsnUiKPF4O+6SvB6N36ZfmJY/7zUloP9u0eouycAi7iIMSjiBs6Bz5yQsGzrB55TC62Vkj1JZ7JT0xXZHYpYLnLvrlH7RBagvAaZLovt16a2ADroCD7slOl/Or+jU7obWhpr8wKUSoxwo0xUHSDkt5j8W6nbjlDsBNf7UHD0IjYwzsv/oYbXwLCa2E7YvCNIM6ufLksK5f58L6Z75J76hdsO0nV2Fm1PGbEZAB7ahe/pABlZMq7BXKjJl+JiGl2In+fHEHPXS1psTTeKKSuy3erEMobF8MMxDM2bz+z5HBUfg/79ucoqaZQC63cVrJCinxYZG51B8v1Qfh5Wy8L9TdC18MmsLJf0NXHUgPeSgtLpsIGI7hSgLCxSNN2NOSQG6Gr1A5eI80NaaC/OqSRcLRpsCY19DllM2pO0EJAz2ZKtkMRkqOqm38I5KfclFeEK5 c0cghqCY xDHdjC1v5AO8p3+K9/XS6C2NFdHVOX9E2ZKeINqsHufbSZt+4ZpA/pw3uvrxNlYSVZnxWcqbPF9GxV8DO1pm8GIB2YVGpTWpXG19KZZyvctdHaxqdPLdVEv7wiTjtVY08QCLUqZeSIId3lfsg5KE+2Key9G4/e4e4VgvHNmsyt6E9M4MlOtM8KrW+YHx2XFXffpsKSh1neYHV/OEL/IvxpBGlo2SwmKuTgF3W+p2Or44iRqfaZaROuyGxrxbu3I81rvcOrNNAkypfL+tZf4MZ1bnN10bhtRiMH1kQU7uHbwRl3IHOKZ6J4H1/qheBGd2IFFtFvm1hmwD+yRPYjMs/c0yW2QHjOtpbBVm+cev5Cj0n/U0/QRs+3KDZIRODyp+G2XDM7qx+BwYUQyDew/4OgOFiDVe2JkE39Crz9KrST3uurJacvv8MAh5dgIneSIAlkwoc/mzaGGGKQYsH3BLTC4adHwiGcNdH6n+9Jvpty0vWP9d87aImJaDKxzuO6seutgdZt8c2NfUWUpXSxnAb2ao3WLP8q/sbj+JQYxDO8gSYyzdi0NQydZAldKpnLC3623VlR9kbnNj5GPa7ngRsFVbqUuSWqycoN/JKoTHktope8N+BLYpqkC1hx5K/r9x5ZDPNJDYAzFq9hLS1C3HmuVshMq616qjD10GASWRd40mPzV/lTXa4TgRS2TigGm5rNLhyxSlK1bNR2B1nVvxQjm/WfTZhmN9k7YktOlguJ95KWoxyWLy+bWXDbtU9WnFEkuf+U1Wjq0rJq25JuU/SVRWjl6OWZ3b5rorqGiP3jQHYYWUm3mDMziVHXZD4NhLIeogiyv6eCjobMgb9CBhpd1u4UXc5vCzr4YIB2D7wSoEQESbcTswtG3Fe6iZ04285PR+gtBbMFQ+YYIzkIJf8aWAKqm0dtxnDIzSmqlnfhDNhb6rF871tvuPoZG/Ca8JG678pmQv5eH3/bjV4rHv8Nqt9J3U5 0gmf0Gky SRr50s5DzuzBouZnMUzUNB0A+gPKOYenrQOG1uM4UORJwHUNA7ouA0JVl7ocHS7jAGpDSt/EC60Ha7IbcAfNsQHaku2s4hJZ+yz9VoabCmKBZLrUhMPI7IkD9Gf2phc8KW6iYwVrin4MbpM5jxh0hW 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: Tracing (kprobes included) and other compiler instrumentation relies on a normal kernel runtime. Therefore all functions that disable RCU should be noinstr, as should all functions that are called while RCU is disabled. Signed-off-by: Peter Zijlstra (Intel) --- drivers/cpuidle/cpuidle.c | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) --- a/drivers/cpuidle/cpuidle.c +++ b/drivers/cpuidle/cpuidle.c @@ -137,11 +137,13 @@ int cpuidle_find_deepest_state(struct cp } #ifdef CONFIG_SUSPEND -static void enter_s2idle_proper(struct cpuidle_driver *drv, - struct cpuidle_device *dev, int index) +static noinstr void enter_s2idle_proper(struct cpuidle_driver *drv, + struct cpuidle_device *dev, int index) { - ktime_t time_start, time_end; struct cpuidle_state *target_state = &drv->states[index]; + ktime_t time_start, time_end; + + instrumentation_begin(); time_start = ns_to_ktime(local_clock()); @@ -152,13 +154,18 @@ static void enter_s2idle_proper(struct c * suspended is generally unsafe. */ stop_critical_timings(); - if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) + if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) { ct_cpuidle_enter(); + /* Annotate away the indirect call */ + instrumentation_begin(); + } target_state->enter_s2idle(dev, drv, index); if (WARN_ON_ONCE(!irqs_disabled())) raw_local_irq_disable(); - if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) + if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) { + instrumentation_end(); ct_cpuidle_exit(); + } tick_unfreeze(); start_critical_timings(); @@ -166,6 +173,7 @@ static void enter_s2idle_proper(struct c dev->states_usage[index].s2idle_time += ktime_us_delta(time_end, time_start); dev->states_usage[index].s2idle_usage++; + instrumentation_end(); } /** @@ -200,8 +208,9 @@ int cpuidle_enter_s2idle(struct cpuidle_ * @drv: cpuidle driver for this cpu * @index: index into the states table in @drv of the state to enter */ -int cpuidle_enter_state(struct cpuidle_device *dev, struct cpuidle_driver *drv, - int index) +noinstr int cpuidle_enter_state(struct cpuidle_device *dev, + struct cpuidle_driver *drv, + int index) { int entered_state; @@ -209,6 +218,8 @@ int cpuidle_enter_state(struct cpuidle_d bool broadcast = !!(target_state->flags & CPUIDLE_FLAG_TIMER_STOP); ktime_t time_start, time_end; + instrumentation_begin(); + /* * Tell the time framework to switch to a broadcast timer because our * local timer will be shut down. If a local timer is used from another @@ -235,15 +246,21 @@ int cpuidle_enter_state(struct cpuidle_d time_start = ns_to_ktime(local_clock()); stop_critical_timings(); - if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) + if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) { ct_cpuidle_enter(); + /* Annotate away the indirect call */ + instrumentation_begin(); + } entered_state = target_state->enter(dev, drv, index); + if (WARN_ONCE(!irqs_disabled(), "%ps leaked IRQ state", target_state->enter)) raw_local_irq_disable(); - if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) + if (!(target_state->flags & CPUIDLE_FLAG_RCU_IDLE)) { + instrumentation_end(); ct_cpuidle_exit(); + } start_critical_timings(); sched_clock_idle_wakeup_event(); @@ -306,6 +323,8 @@ int cpuidle_enter_state(struct cpuidle_d dev->states_usage[index].rejected++; } + instrumentation_end(); + return entered_state; } From patchwork Thu Jan 12 19:44:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098839 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 AF658C678D4 for ; Thu, 12 Jan 2023 19:58:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7A5D28001F; Thu, 12 Jan 2023 14:57:45 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7087C8001D; Thu, 12 Jan 2023 14:57:45 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3FA428001F; Thu, 12 Jan 2023 14:57:45 -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 26A998001D for ; Thu, 12 Jan 2023 14:57:45 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id CFFC81C603C for ; Thu, 12 Jan 2023 19:57:44 +0000 (UTC) X-FDA: 80347207248.24.E2DB3B5 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf21.hostedemail.com (Postfix) with ESMTP id 694391C0009 for ; Thu, 12 Jan 2023 19:57:42 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Qqod01hb; spf=none (imf21.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=1673553463; a=rsa-sha256; cv=none; b=k02YAHvGAsGQ8XJkGWuD5+FAcoth7HTbfdQqHQVoJUmTiP/MhQjzn+Wh6SJHN2IezVBg1U HMaDdNxsaQDvYZTgclkfO+lXoyLw4KXy8SQlauXQrBWhiLUM6dmx6jpcPDZ5djgL7jAd/J 86gD/RmvmpOzRPgV671Pos9Jw/GGQyc= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Qqod01hb; spf=none (imf21.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=1673553463; 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=9z+4CWfQMO+ElFQ60iDcVJO2pPanU43MIsqpSKsLu08=; b=jBJWh0G7TuokIXAz55Nhfor5iv+U+tkcm5X/IIkTCgP2FY8sNtsfvolzCebraF1JLrbnNL Avil60n2cI7oGcdEV+vMjG6zQ06wlFVzRd97QznJZi7XCcEWsUNnQaliMigTJFIN6haLL3 FYCqHUnR34gzITVRDksEAW8+cY+neEk= 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=9z+4CWfQMO+ElFQ60iDcVJO2pPanU43MIsqpSKsLu08=; b=Qqod01hbcDRSoMsHp2FGB2yRt/ 657wthIO1WvpTIc8UJxry1BepGtlDwE7epFhhEiyVvYd20FumrIlq3K+vaV0ZtQy7OHhU1Ha6Vy+d u0SWb3lIPqXVymeSnZvxVUtagcGxMJy0Xe74jYFZx3+0fLic59abuep7mI8xDIZhMBlZ3t6vzavRb Uv1EVPbqUKMaMYAg9feMtnwldJEBNOwkWJYHJ9H531eMj1aqNuc6W4X31PojT7WMjEw5m15cdtiiL lKCURu3mZO9ph5F7yR6vShuu1trhYOgXzpxqstDK3EURxd4NXPx8gIyyUp3NSoc32+cD1hUu18TSA o+sF+wjQ==; 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 1pG3hu-005P7h-G4; Thu, 12 Jan 2023 19:57:50 +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 3736830347E; Thu, 12 Jan 2023 20:57:14 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 725472CD066E4; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195542.274096325@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:44:02 +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 Subject: [PATCH v3 48/51] cpuidle,arch: Mark all ct_cpuidle_enter() callers __cpuidle References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 694391C0009 X-Rspamd-Server: rspam01 X-Stat-Signature: xrzp4uox4fzq8tbkjdnemwgs8wkthjo9 X-HE-Tag: 1673553462-980514 X-HE-Meta: U2FsdGVkX1/42b/94gPOVSmhHMoKSsdjao46NH5nEacMKiVbv438WccfFBaOfh7LYOf3SJAweLfX0u/Ru6GZjS2MFRp681gSUoi9ewAnu2cKbCfqhGw8+5TcVTdshBI/Gs/TTARBNR2Qqas+YHJd/RSNyslU2F5d+z34119//4jpwSqOTHHvqHLkqae7uL+JVa337UngDkBB1CwjounOAnDmwkLQx8OJTPeE5EkNUDp4h9eW0pzshIKajcKwX5qMqawiddIeAUThcHMKt8dmhxjHeTgMsZRuVkAoRev3ceAGzSWB3bj5GkpJwVV4B5Qn4Zbmly30+zq0SR9clH3EURrCXQ7FtmAN+g4wmfHxihQm7a8CIauup9iZqNaZRre7HfoxUhVlLcNu8Ry32pYD4vw7rL7lrRDgFvOhOOT71dsDuMhpw7WqrLvlVcLHZX56l9XepugH7N3785s/BsX7eoe3Bhb1DlA0OIKGX1sUvjLhTrzKBybHViw+fT9FwdrJ9Fp+Gm2HRhweBOBrRBY9VCqRZusNPQfAiju+/3R8T/TN5jQmRrief2VIb5cyRz3/UdZm3FAWEp+o/hnPSJCo/5lPaiFzYqcotG3Qpo/N1hDNJk8gDX+fxFrXxmP882HjT4Rshi+1Cg1pHbQ+XWgz3STsf8G6oFqEhwTlFlrO+wsECTpIMQwmtESTbo+8JJR3b3cGevJaTghtfO8Z2Mmmu/sG3wS/f5xH7tgv8uyblMbmVZvDoVt0ULFr+zyCFcbZB2fpDa9b/VDuKpbuYdE5fAwJMCjlJHdToMMu5UEIPqsqDKWnNX4N9aHyF7B5fhEJZ2naTbsbye34x4l4aedMVgzW4FO4v1QmyhACl9DFdfUXbYPcs07Tv5Ix70oh4EpQXpLbaO8tOhUhumS79agxPGQ8isclHux17fMAXnMsulioiXooIaV4MEI+PM409c5nbnN8VaFLQWSrTHe2q8H rDBwVc81 nEyYyd9nd9w9U4jnID+G4yc+xHl+EPDqsKi9dPHUUhO1vl+QBp35vB4hN83rDmYeUFx2j+3Y0nTTRQYyZjh9WE15UVzdDtAkECqcvr593QEp1kicBjZKtZEkBIB+bU+Rpe20Q2d6NnTxctJ0JLvC0PcQMFXTp9NurUIj1AkWWvOBBYE4Esce/2rCcELLLahYz4DXQx5uin3QYGCmOaUs1dWitnN2OUDRRr84D8U1kTNXJOA3NjFh6XzeKPWydaebUuNaEXLKGlArWbrwbCZWZPC+3z3mFRgVgLzvBQNk3PZCBV2pwlLzNwP6fUmghNcvSp38EEl8++rAhRSucsQIhH3wGv9x1B0rkglda9FQ6ffdx11NESnPSAQOAH0IaRyLVvioRNgPv5wANl5kKsEdg6rV/1vlC+MeIHlEmW9JgBU/wLHDQUXFBtdG4esVeST2m56n5kh4rrSPQxNXCUrEk5sPB1nDulANh5EMO/Q3gpEkqbvFLhrnOUSAxlJk2YGTBD7n+bIByhDIXr0Uua1W89UqaOS9fgwu4HZ2ita1qa4bBXQxkYnz/fl7OYmBIPLj87plLKlV+BH7LR5ECywmHDv1Wl4WL7toPrNgStSLMXUffyWkaF1D0+9rTz+17no15jLess91p8akruFV9ctpSgFHQ/h+a089c3z2+h0bj0XYoC8rawUkBQTeiJwSAzjjaiwxwp/BqavYRwGTb24zQRgZ5k9Gse4Fmz9LYHVvjUIOUarRjKjmjxd/1zGpWBKVloP4d9/Iz1aTfXoe9p7hM/CJgzES/HFO4H1rWz4vwDPEM1rLC4DQ0c4u9lc2kM59DSS8sN99gWu79sRUr7AzyoaLNgy+GRbiLKCHJ1tQgRpKkyeoeJhbI/KdP1GiBr53cQaSqvdN83vQPqHDYKkcgGUbbmme/QJ0THRS2eFAvOEUz//A4HhdnuEMnwbqujhtVdUiF7lo9OwNLxUxz0hwO7Hfdl+fK kSBe3fHO rwUTaI1/S0XI3mvuYmWgU03by+ur/cxn9Gl1UAWWHDLvzVjmoItXIlVSy3Wc2g8LI2KxHbP1/Drn0uCqbNV4Q4o5sx0+MhGgk8TWVc5uJhQZ/W7wD1h3lkIKXWZtD97LVEV26YcC7jMlFVEhwkAb2/+qEqCUTmuiJCItwcTmFBTgf+T3CBHUVICrL2LSXE0aTYCy1NQMQHVxgUwmqX/3c0t5Pnsgc42veYpqNp1tKWQ4RURKcTAPQLtcUfnC1f+gnWe8/yU44A/ccUyaGw1AUfnJwjQN+BpxuTnG7FpMJ0PeCgACnXoAzRYQ+X25X231qolhdt287eyRPQnaHZ/f2lkrHFC28t+DUj9fxnZ061OVQ0g0G5WXOWt672DHFCF6bTXkqNM5EnbzoQckpvDcB7OJw3sVWKM9YgzRtDKYHDBjnY7Elg7E5C/ALMqt2BNZnxY9LcqtcOLTIske2XGjyocfGjUbi48kZHPB71gGe6i6iQkKWV9Dgrf/8WkRAQ5R1xpzqF1sqPjNp2qN+rLYbWQld5B48cNkNIfeSJz5Z9iuI3gKgvDCR+2NoGn9X+DBvD5b+zA+OtE4+3MDyIowmRO2ylyEYX9Yfs5FHaCiONKizSyFeOesxSggserkJDb3EixjgIRLJcEmRJxaS175Z22QWHUF+mxhcGb8/dOQ6GNlIkccQMYEjo5a8cHy9z3KrZyYENkjT5lVQXG3EjC8jcojRnUbVgLWS+x/yNdPtCulN98Y4iAwZEoibHSrIzmYN7OAOkRHyCrekgxf6DwQSXPehEuxAKpXSEv9GiRC8LqAwbeISpxE8D/Hp+0f0A2BwpVLKPYItM64SZVayAhOzVXPOo+hVIYUeoNLG4iVrfFazHA5Oi+xLZ+PimgBbDNZhwrKRUeizVuI0EzEQv2yi6vOWhrwZhF4tTgkst9AqrmJHNGqg+QrTEVKrhrxZ5z8HR+jKxx4SbVtg0JQ6o7HhoFzRpG1A WdTJbrZC KBDcebfgg/k1j30K/PXC0MtOquIYo8kix/uBWHxEHtGu2FcQ3EPe+o/ut5bgsW1aNsyPD/wXKwaocTxob5sGhdTO8LVCR84epWqAVfbp79kz8zgU4YKH+qRZ6AWWM1dJFOIwFsVPvVpb1GYm6dsfGQfrMSOoyqRIu62knszrSNxzgKlLedE7Fgz/kIEOmY1K6kdpnYR+p1RutRXLsULaJs4vnHcqof1p6ndoUrfvY2NEU0YtjgWTN7taZpjsFbQqs1VLclCtWpXNGlknY71hg8p6DKSP1MnOWbJ9dAPUh1gZBwwrF8faRIzPofnuCY4aZXpV4oxlycGlIyZkYF6e4dBNuHo8H2ZUEaxjW1Ui5wBzx+CSLOMsm1gUI/mpZgzz90MZb9zl5PNZTCvHnYbuU7ynlZDWjmPtJD20T88UPTMWG7NlUu+Gpuz413g/TJWOF+ERRMBzLb31ZKEFZwQBufABaoA+Ygxjp3Y6oIsDl36hYgI/+bx0wvl8G3RO5Rn0NPF1u1/QbPLRErM9AfQvu+mRbGlm472kSwg+GGCJD+64vBQ2vEmA3lj8CXuxPy8IZ420yUeO3pgghEzLOUHDGlin9gv6/+kR72QiFOc/SD+2ZMFkC3JogEYHmAbB0pHk6r55DqrohpB1xj/niRxlE3p4eAnrj3qqiY7+s81712afbWEKYgoVyslWx5RBVUgNpFtTLhz4Dyx1dLNuL15zrZbD+CAdoNAN321HKm7lPPRRpOFHMEYQZGAGcPEQplgfgNk/HMeGkrGPkJsWiLaUjm6CgFiTBu6c1fVLUk5mtpbNSBbIFkMI/2qxuDnC9oMrbNv7CXa2MKub3zhw84IJ/xj8GVx7NVRZaEydYmJAPvA4S9JrwBi58DIRx8Hs66CRvpp1R7w6/dNiOSnr1ruvs3BQ6LgUQeMcJeV6UvkKWgKNCpNNHULwVc8P5xxWQMWWOtRwnnJ6+P/dafxb4FsbNIxPrgAuH gepxVsOT FDGtjCIjfSiEpVQ0d9xtfGYZuQfgFvlQ/PpczjdKgA3x9mrrORn4GnqSkEhcx+3ucDMmllVBMK5QsicoP2jpA52NQVdwY2acnpn1pauvf1BJ4a8LYGXsM81KhX2abV1VJ50ctNaiYRiG8h36fP/hLU 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: For all cpuidle drivers that use CPUIDLE_FLAG_RCU_IDLE, ensure that all functions that call ct_cpuidle_enter() are marked __cpuidle. ( due to lack of noinstr validation on these platforms it is entirely possible this isn't complete ) Signed-off-by: Peter Zijlstra (Intel) --- arch/arm/mach-imx/cpuidle-imx6q.c | 4 ++-- arch/arm/mach-imx/cpuidle-imx6sx.c | 4 ++-- arch/arm/mach-omap2/omap-mpuss-lowpower.c | 4 ++-- arch/arm/mach-omap2/pm34xx.c | 2 +- arch/arm64/kernel/cpuidle.c | 2 +- drivers/cpuidle/cpuidle-arm.c | 4 ++-- drivers/cpuidle/cpuidle-big_little.c | 4 ++-- drivers/cpuidle/cpuidle-mvebu-v7.c | 6 +++--- drivers/cpuidle/cpuidle-psci.c | 17 ++++++----------- drivers/cpuidle/cpuidle-qcom-spm.c | 4 ++-- drivers/cpuidle/cpuidle-riscv-sbi.c | 10 +++++----- drivers/cpuidle/cpuidle-tegra.c | 10 +++++----- 12 files changed, 33 insertions(+), 38 deletions(-) --- a/arch/arm/mach-imx/cpuidle-imx6q.c +++ b/arch/arm/mach-imx/cpuidle-imx6q.c @@ -17,8 +17,8 @@ static int num_idle_cpus = 0; static DEFINE_RAW_SPINLOCK(cpuidle_lock); -static int imx6q_enter_wait(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int index) +static __cpuidle int imx6q_enter_wait(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int index) { raw_spin_lock(&cpuidle_lock); if (++num_idle_cpus == num_online_cpus()) --- a/arch/arm/mach-imx/cpuidle-imx6sx.c +++ b/arch/arm/mach-imx/cpuidle-imx6sx.c @@ -30,8 +30,8 @@ static int imx6sx_idle_finish(unsigned l return 0; } -static int imx6sx_enter_wait(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int index) +static __cpuidle int imx6sx_enter_wait(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int index) { imx6_set_lpm(WAIT_UNCLOCKED); --- a/arch/arm/mach-omap2/omap-mpuss-lowpower.c +++ b/arch/arm/mach-omap2/omap-mpuss-lowpower.c @@ -224,8 +224,8 @@ static void __init save_l2x0_context(voi * 2 - CPUx L1 and logic lost + GIC lost: MPUSS OSWR * 3 - CPUx L1 and logic lost + GIC + L2 lost: DEVICE OFF */ -int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state, - bool rcuidle) +__cpuidle int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state, + bool rcuidle) { struct omap4_cpu_pm_info *pm_info = &per_cpu(omap4_pm_info, cpu); unsigned int save_state = 0, cpu_logic_state = PWRDM_POWER_RET; --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -175,7 +175,7 @@ static int omap34xx_do_sram_idle(unsigne return 0; } -void omap_sram_idle(bool rcuidle) +__cpuidle void omap_sram_idle(bool rcuidle) { /* Variable to tell what needs to be saved and restored * in omap_sram_idle*/ --- a/arch/arm64/kernel/cpuidle.c +++ b/arch/arm64/kernel/cpuidle.c @@ -62,7 +62,7 @@ int acpi_processor_ffh_lpi_probe(unsigne return psci_acpi_cpu_init_idle(cpu); } -int acpi_processor_ffh_lpi_enter(struct acpi_lpi_state *lpi) +__cpuidle int acpi_processor_ffh_lpi_enter(struct acpi_lpi_state *lpi) { u32 state = lpi->address; --- a/drivers/cpuidle/cpuidle-arm.c +++ b/drivers/cpuidle/cpuidle-arm.c @@ -31,8 +31,8 @@ * Called from the CPUidle framework to program the device to the * specified target state selected by the governor. */ -static int arm_enter_idle_state(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int idx) +static __cpuidle int arm_enter_idle_state(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int idx) { /* * Pass idle state index to arm_cpuidle_suspend which in turn --- a/drivers/cpuidle/cpuidle-big_little.c +++ b/drivers/cpuidle/cpuidle-big_little.c @@ -122,8 +122,8 @@ static int notrace bl_powerdown_finisher * Called from the CPUidle framework to program the device to the * specified target state selected by the governor. */ -static int bl_enter_powerdown(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int idx) +static __cpuidle int bl_enter_powerdown(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int idx) { cpu_pm_enter(); ct_cpuidle_enter(); --- a/drivers/cpuidle/cpuidle-mvebu-v7.c +++ b/drivers/cpuidle/cpuidle-mvebu-v7.c @@ -25,9 +25,9 @@ static int (*mvebu_v7_cpu_suspend)(int); -static int mvebu_v7_enter_idle(struct cpuidle_device *dev, - struct cpuidle_driver *drv, - int index) +static __cpuidle int mvebu_v7_enter_idle(struct cpuidle_device *dev, + struct cpuidle_driver *drv, + int index) { int ret; bool deepidle = false; --- a/drivers/cpuidle/cpuidle-psci.c +++ b/drivers/cpuidle/cpuidle-psci.c @@ -49,14 +49,9 @@ static inline u32 psci_get_domain_state( return __this_cpu_read(domain_state); } -static inline int psci_enter_state(int idx, u32 state) -{ - return CPU_PM_CPU_IDLE_ENTER_PARAM(psci_cpu_suspend_enter, idx, state); -} - -static int __psci_enter_domain_idle_state(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int idx, - bool s2idle) +static __cpuidle int __psci_enter_domain_idle_state(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int idx, + bool s2idle) { struct psci_cpuidle_data *data = this_cpu_ptr(&psci_cpuidle_data); u32 *states = data->psci_states; @@ -192,12 +187,12 @@ static void psci_idle_init_cpuhp(void) pr_warn("Failed %d while setup cpuhp state\n", err); } -static int psci_enter_idle_state(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int idx) +static __cpuidle int psci_enter_idle_state(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int idx) { u32 *state = __this_cpu_read(psci_cpuidle_data.psci_states); - return psci_enter_state(idx, state[idx]); + return CPU_PM_CPU_IDLE_ENTER_PARAM(psci_cpu_suspend_enter, idx, state[idx]); } static const struct of_device_id psci_idle_state_match[] = { --- a/drivers/cpuidle/cpuidle-qcom-spm.c +++ b/drivers/cpuidle/cpuidle-qcom-spm.c @@ -58,8 +58,8 @@ static int qcom_cpu_spc(struct spm_drive return ret; } -static int spm_enter_idle_state(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int idx) +static __cpuidle int spm_enter_idle_state(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int idx) { struct cpuidle_qcom_spm_data *data = container_of(drv, struct cpuidle_qcom_spm_data, cpuidle_driver); --- a/drivers/cpuidle/cpuidle-riscv-sbi.c +++ b/drivers/cpuidle/cpuidle-riscv-sbi.c @@ -93,8 +93,8 @@ static int sbi_suspend(u32 state) return sbi_suspend_finisher(state, 0, 0); } -static int sbi_cpuidle_enter_state(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int idx) +static __cpuidle int sbi_cpuidle_enter_state(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int idx) { u32 *states = __this_cpu_read(sbi_cpuidle_data.states); u32 state = states[idx]; @@ -106,9 +106,9 @@ static int sbi_cpuidle_enter_state(struc idx, state); } -static int __sbi_enter_domain_idle_state(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int idx, - bool s2idle) +static __cpuidle int __sbi_enter_domain_idle_state(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int idx, + bool s2idle) { struct sbi_cpuidle_data *data = this_cpu_ptr(&sbi_cpuidle_data); u32 *states = data->states; --- a/drivers/cpuidle/cpuidle-tegra.c +++ b/drivers/cpuidle/cpuidle-tegra.c @@ -160,8 +160,8 @@ static int tegra_cpuidle_coupled_barrier return 0; } -static int tegra_cpuidle_state_enter(struct cpuidle_device *dev, - int index, unsigned int cpu) +static __cpuidle int tegra_cpuidle_state_enter(struct cpuidle_device *dev, + int index, unsigned int cpu) { int err; @@ -226,9 +226,9 @@ static int tegra_cpuidle_adjust_state_in return index; } -static int tegra_cpuidle_enter(struct cpuidle_device *dev, - struct cpuidle_driver *drv, - int index) +static __cpuidle int tegra_cpuidle_enter(struct cpuidle_device *dev, + struct cpuidle_driver *drv, + int index) { bool do_rcu = drv->states[index].flags & CPUIDLE_FLAG_RCU_IDLE; unsigned int cpu = cpu_logical_map(dev->cpu); From patchwork Thu Jan 12 19:44:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098783 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 A52D2C678D8 for ; Thu, 12 Jan 2023 19:58:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EACF080017; Thu, 12 Jan 2023 14:57:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D9BFC8001D; Thu, 12 Jan 2023 14:57:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6E19A80017; Thu, 12 Jan 2023 14:57:43 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 450F58001B for ; Thu, 12 Jan 2023 14:57:43 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 09F34140E12 for ; Thu, 12 Jan 2023 19:57:43 +0000 (UTC) X-FDA: 80347207206.09.DA8BE23 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf15.hostedemail.com (Postfix) with ESMTP id B04ADA0011 for ; Thu, 12 Jan 2023 19:57:40 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=ATlfmILW; spf=none (imf15.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=1673553461; 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=53PdPXBrlefs7aSWYtbVMctVqERBXlbNfkzlUyuHUdw=; b=ZgC0BHTLMfQiL2PtNEolPqMAxXSwc3us0Es1uVYOCususw8Bp9bWJRjyHUmzATGnvrTlVg MwcnDPoet+YXP7JTJ57AqOh62BvGCjOwDcoS4SCiSeJjxoEu34lUsj3GHgH6tPlPOVaV/1 /0QIuyR30G7HfuENtofofi/jpugi434= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=ATlfmILW; spf=none (imf15.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=1673553461; a=rsa-sha256; cv=none; b=o3vpQoBZEb0lnxqwaF+W97uRK06gQs1kSCXF+y7lZrB0IFl2akktvKvvlrkJ1fLwa5moyN 4aoZmuxTnhsIFPjc+JcvtgSFuRVT3AJFxrWJo171I2jEuU0MlTLg2zzealDVGjgr6JlRvZ rF2QpxbQnbiHZ/8CK/0VL1q/sfUCrWE= 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=53PdPXBrlefs7aSWYtbVMctVqERBXlbNfkzlUyuHUdw=; b=ATlfmILWtdBMS162SLdQ7satXH lRrHA+Oo8xPovKk8FQq7RK98sDcnma5GRSfOFtLwNMoVkAXDXisud5eoVVLDZihpqE49vRJxWIbw2 /Y9OujIMxZk1pbjWaqUFjWo75kJhYQD0AKKQKJ+8CiSaiG3IgyCVvD8TMNqCScPpUugqNp41+I7do 5xU2L9cP7LTkQIolwptF5b7/KAQ9UdyvdXN5gS5y15We2Sa4zjrnXtrvDhbcZWdaP3QN6BMMn3InU Lq/+IhZFycZWB1LH1o2Fy8Qq8PGKdb6bDkxa8FbpQ30yPWc9p7g6EIAFIzA6F77JVZkL+nzT6pZrb 3DJjl/xg==; 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 1pG3hu-005P7G-BC; Thu, 12 Jan 2023 19:57:50 +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 41FAD303481; Thu, 12 Jan 2023 20:57:14 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 767D32CD066F4; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195542.335211484@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:44:03 +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 Subject: [PATCH v3 49/51] cpuidle,arch: Mark all regular cpuidle_state::enter methods __cpuidle References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspamd-Queue-Id: B04ADA0011 X-Stat-Signature: swfs97qa4r7186qjm3ja6c164r49satw X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1673553460-929535 X-HE-Meta: U2FsdGVkX1+/cGn9JC1fzXqAVLEV1cQmDakHyDjGR3sVzPRi7c5Qpww/7MyRGvLatmrrtPOgSzVj3Nl4AkdSJtFfQ9v5MS5hjpUF1XMXnV57RVTxhdRTe6HOCMdM2pTiwKdP5S3fJHFp56I3lP7uy0BYYT9ZizL1oa5kA866a/2ZumRYMn3YzvKLsOByCaT2YSUM8JrX+Bl7UnQZHazuOuuApdE0k1bFUzUL0cy5+GGBblYju3svslUFk44ZtbLLmC9Lh5D7ND9+Qc+ioUmQjSjbihzMWV1MOkHWXG0g+UKDPEAhwYlmUunc3gT/yYQ+iu5j5T5NdXlZJUNPUZpuH/Er77B/nJW70fP03KpbmtAF47Ov5CBRm2VLeLKjDqNmm+8/C1v4ImUkuTcGPwITIFzSbldzTXv+6jHccJ0siH+RwB9aYiOIl1SMNZpT3IKnGEjm26S+fsh1FnS+x0Le4AUta4uteQbKgcWHX0LImuyqdfxJPC3kLlmTZ4yht5s7HlPVAZelaFbbO8w2yzxOG9DgGboPOmR7seGWTVzYNEow+2LfG2m/3rFfX52HxNiLRw0+jQsla75R9RT67nx/wmGpWZK5H/hB/8518yynVTcJqKlT61j/jNx8zM/JRuwALUPhL/OWVZZEeHJiD7xTISxmhN05SntEhMU05JQeqkKLu8lFWNaDa7C7o0uNFSLSic4o+jcr6RW+8xB3TCISCKuJaCxGfOoiz1ArVzSHkBUFPDf8InHJ/4Va09b7PvAxUap/cgucXIfSOUm0VQ3q4goe3Ll/IOykOILrxPzIUwbj9yUrSoP5UtICVMFID+MrbbN61RAOB9P5masZiAuZbZ+LDtn8DajnQkzKm+0UWRqJuAubafWqwf/BhTAu/se3/7BJ6ON2rf/r1pSK+eKjBe43Awl0KM8TrWziXpY0KDY8dMQ4rg3lxJNOl7pbMew7uf6u2XL7lQFM2pNbUwm IpgKr6k1 ivrKPwxXq1JzSy26yr2fBNLUiSwUhGsUtDBGVl9JVg7zYzrhEGg9KrUpiy8o5vIxvjiJAce3VQPcd0mFlgQrwRWP4bAtArKyv77q/2oB4hAfYyBwB9RQLAZasPwmTeHIDOocxaCyhig+v/NbyfvCT/Gxk2zbyaTykiiqrIPyYjq8+RnITKZMfjeogGVulkpULnUMhjb/bvx08PxEXdVP/hHvc8FF/puQ5i4GKx0tH543JsYdZ5/rbRtJ5lkGTedAGNakGaVhhOmc6TUr8L/+nQ1ZOzqDrmnm08lkGjyFL19ENtlpP0QgAMRKmE9b+OZ5NR3bvMari8/gnZ30ykK9fJgrwtpMnX5Hz64CGkevFNz5buZDwPh5YjGArANaL1xlxelADcR31sv4QDN40FErg5JvAVBxG1nX2CthE9yBBKF5TWsk+im5x++T4i7PioXRgNAvKhoP0C8C4zgROUpFhQ+5wXPinI0bz0mewr9I2yQkKX77UukupACYXQjoTTimEhqco93h9M6DcBtQ6rKKR8vuST4ud09F7nriSqf7oJNT7dCQ62orZV+TvpBYPSN+g/uKrjcs75hlkBJzErMPQsRnzcrE3wPi9Ynr+m2ObmwnYa6L+QGTeh/r4WuqOpMNJvaghut1WC6imDcQDeRpkhTQnyey4JAVl2blOBmmFdWFI0qKSFmbp3HtO+Jd+LJXoW+Papq7thbh2WhhvsdKRqMTkYKf8d0yIYtjeUTvVCrLXWLcGGf5rMa3Lr8XAm8Pqao7WMzUVxUahGnooS1bidbEKJ1wCrKLSFTn8wYaoy/6YHtVXgWDQ06uUH4QUTBKDuaQXtiuwil+fcNj53tjOge8OXmGqP4mVHdVvcAYXYwQa2uul0CFZZKgDkH0Ch1Oppug8J9mNI3KuArW1BAnu+7T2Eic/AgnZoQISL32aXUR75nRp45A6rYQp+Xntb/Q5qL99+DiRMWvy9tUWiVg5KoEnV7/y vz1J6ysp gHFwVhNvqyjvBXun49RLXNAIi01omMNUxqJyhTu49uCbyWowzjUaUwD0p8yKzfpb/AaW18mgfNNLnizAncuy2LTkOsvjVznreF7nH0cSkK+qkt9efSxg1nBZhm57nqSQ9/EoaycRPEoAkb8ErFyVhIE7xqXsXwis36tD8aZOXTuRNrih0gYk9kTTzZSkgcL/TkW/ogGkK8W4IIsrQaPXJDuipz3OSV8RoaFDvtrIniPuE0vkkW0m6ynv4EE2Ij3Yzer1xd2ImIy/6jtoW8maKRMPYxq/J7khDVVydYM+GidQ+u4ZKbQeQJWaV4l7lhvumFqlYCTkFpK8sXCSYy95m3K6nG8ZhJlKfQKeJtWjb1if5D7+80oqTTz2I49pt2GongDpT8NGgraj/IaXcktDO/7h70AVwzrV4oLUKd+GyqkOFKtgxmyP+T4hGk5+K4LHCyFn3ZMcpzW8BM8hew9E9N5wsiejfwaTXyAP7MUfUT+lR4XT97tNJ8TTNBib1gfF0lgaTrHN+RnfLM0CEQDosJvnVlYZs5aL0Aemp1QcwqtBOw2drXRt56MTWvIJeavCQ9K6AzR/c0/LTfFcLzDbGPPpc5FFkHiuhFo7avtnKzDvzsCBPyuYkcQViIYnAdq9dz4bFligqPwI1hZxoDQ+KNSHsKFLgvTx0U8YkJnEV8OsxUOQVvwG3GpcKTdzFNIQRtfzqvZdNmPj+ogDEwpj5Ol3BsHfdKRxxd/UZA55wUJC4nmX1TmusYFdUGHZY6c3rAcj26DjvsOkpNP2zfA0+gn3PUvT7Tj4gJ0MR2hj/BE182dRaYMUsutOEaRUDe+M/vyiqoT1DjUUAbo80XzaoVPh6M/mjvljCkXYkHj7PCBKqOHQwGFiDhO+OCKYS9gqKeAI/mXDtEDJFahSBaDMAiEOT85duGmeKztaO+Co4Ptnozw19EcAdACudKijUVD3YnkoXZRvyT/c0FBekCka1jycK2I8z Gi8Cv+pG ecbXu/yTH6hfh7G3OMdgptcVFnQpKAJ+mXNCJR7nkxCK3SE7XDNCtAinCjNEX1Noa6VfXoeMmuQFOfXsdkm/OwERbsGSvqzAYNLri6LVz0wP/8UUa8huZdUuALSrSl0hBpD/xXgF6lK73D9FkJbxN+U984YIBDSm9E4Q6lMSpx73YyZ0WMEbMRYkyCduEjTTSVOBe4dGLKcqtpPwAhmFLt2Y6ernOdCilRzeaOysMgEPwx6/N8c7NSNNFBH6MVFllEE408UREDdjDFbyX3yiBcdl6Es840CeoT6+odeU9e3og2EGUflPdineDPZZt+c0RmtSUwerPk6U7Gw4XowcxDoZfZHtX9K5+jJ0BerCLgDr27lBZXkxrdKAwiGOMZP/8Gcr0kHZao2/3+8dihy0qE2Dk0WRWYPmdq2dcIsYujH8wbgMZ3XFcuRuBoYr4Q2JjcS33UNfkWUTTHG2NFXNrLxazdajWJj4iyouNqQfupzMq9Z7gama964c+3Xb7pV7GpOX3wBGuNRTX96JT5YMCEALVr5cERzKlZYza1xS7BMmoC2aJvCTD3gnATBqUY5zmqEgIAtW8yn2aSfsAPQ5eW2fqgDgNMzJaCiBJUvSqWFr7T4L0PsofSMI+lFHjq/YggfTE9zFtvs8O36QrJMNfER6P4z7MViH1wLn6CBYW0cdRoYrZGRqWhte+41DTVQN+zX3YgPyjeRzg4mMdEiBsTR9sZnNEq26XkUMxhEakWn/WKXfAsQtbuwQ4SpfzXv6AzIFMKY8zvw+wfi2MzliAdMVy0mRShh49RSwgQzbzBZVaYXR4BR9UTi4RXiPXGn7jcRUIp0kPeTLCN0FJrOssa/+Ww2UX0gQvUesNgxTgnZwBHu2TCTcLdhPqrP+a/nKt2Mf24qqOCsjVdBnFwQ1YLIa88nyd77cRw07Mj2D06xAOFdOaHv4IroftKN9NzqoghU+JMqfNIjEy66VJt02CT1uaKuGy wwhhv/MV 8jqnA7UVqqcKnf2G1cRi9nOkABaTevq41ufkmNqLZm2kYbLtcRTv/kkDoKb/AP7uyZSzPjHK7qCq+ErDp9r3KmKU3fKJL5OQGzBhrpg1m08CjDKY2LnSZDD1R0ncRKvlMWMlZu+89oyzlGZQXGk/Co 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: For all cpuidle drivers that do not use CPUIDLE_FLAG_RCU_IDLE (iow, the simple ones) make sure all the functions are marked __cpuidle. ( due to lack of noinstr validation on these platforms it is entirely possible this isn't complete ) Signed-off-by: Peter Zijlstra (Intel) --- arch/arm/kernel/cpuidle.c | 4 ++-- arch/arm/mach-davinci/cpuidle.c | 4 ++-- arch/arm/mach-imx/cpuidle-imx5.c | 4 ++-- arch/arm/mach-imx/cpuidle-imx6sl.c | 4 ++-- arch/arm/mach-imx/cpuidle-imx7ulp.c | 4 ++-- arch/arm/mach-s3c/cpuidle-s3c64xx.c | 5 ++--- arch/mips/kernel/idle.c | 6 +++--- 7 files changed, 15 insertions(+), 16 deletions(-) --- a/arch/arm/kernel/cpuidle.c +++ b/arch/arm/kernel/cpuidle.c @@ -26,8 +26,8 @@ static struct cpuidle_ops cpuidle_ops[NR * * Returns the index passed as parameter */ -int arm_cpuidle_simple_enter(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int index) +__cpuidle int arm_cpuidle_simple_enter(struct cpuidle_device *dev, struct + cpuidle_driver *drv, int index) { cpu_do_idle(); --- a/arch/arm/mach-davinci/cpuidle.c +++ b/arch/arm/mach-davinci/cpuidle.c @@ -44,8 +44,8 @@ static void davinci_save_ddr_power(int e } /* Actual code that puts the SoC in different idle states */ -static int davinci_enter_idle(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int index) +static __cpuidle int davinci_enter_idle(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int index) { davinci_save_ddr_power(1, ddr2_pdown); cpu_do_idle(); --- a/arch/arm/mach-imx/cpuidle-imx5.c +++ b/arch/arm/mach-imx/cpuidle-imx5.c @@ -8,8 +8,8 @@ #include #include "cpuidle.h" -static int imx5_cpuidle_enter(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int index) +static __cpuidle int imx5_cpuidle_enter(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int index) { arm_pm_idle(); return index; --- a/arch/arm/mach-imx/cpuidle-imx6sl.c +++ b/arch/arm/mach-imx/cpuidle-imx6sl.c @@ -11,8 +11,8 @@ #include "common.h" #include "cpuidle.h" -static int imx6sl_enter_wait(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int index) +static __cpuidle int imx6sl_enter_wait(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int index) { imx6_set_lpm(WAIT_UNCLOCKED); /* --- a/arch/arm/mach-imx/cpuidle-imx7ulp.c +++ b/arch/arm/mach-imx/cpuidle-imx7ulp.c @@ -12,8 +12,8 @@ #include "common.h" #include "cpuidle.h" -static int imx7ulp_enter_wait(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int index) +static __cpuidle int imx7ulp_enter_wait(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int index) { if (index == 1) imx7ulp_set_lpm(ULP_PM_WAIT); --- a/arch/arm/mach-s3c/cpuidle-s3c64xx.c +++ b/arch/arm/mach-s3c/cpuidle-s3c64xx.c @@ -19,9 +19,8 @@ #include "regs-sys-s3c64xx.h" #include "regs-syscon-power-s3c64xx.h" -static int s3c64xx_enter_idle(struct cpuidle_device *dev, - struct cpuidle_driver *drv, - int index) +static __cpuidle int s3c64xx_enter_idle(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int index) { unsigned long tmp; --- a/arch/mips/kernel/idle.c +++ b/arch/mips/kernel/idle.c @@ -241,7 +241,7 @@ void __init check_wait(void) } } -void arch_cpu_idle(void) +__cpuidle void arch_cpu_idle(void) { if (cpu_wait) cpu_wait(); @@ -249,8 +249,8 @@ void arch_cpu_idle(void) #ifdef CONFIG_CPU_IDLE -int mips_cpuidle_wait_enter(struct cpuidle_device *dev, - struct cpuidle_driver *drv, int index) +__cpuidle int mips_cpuidle_wait_enter(struct cpuidle_device *dev, + struct cpuidle_driver *drv, int index) { arch_cpu_idle(); return index; From patchwork Thu Jan 12 19:44:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098842 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 81A05C54EBE for ; Thu, 12 Jan 2023 19:58:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5D1348001D; Thu, 12 Jan 2023 14:57:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4E4FD80022; Thu, 12 Jan 2023 14:57:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2C1FF8001D; Thu, 12 Jan 2023 14:57:49 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E8C3480022 for ; Thu, 12 Jan 2023 14:57:48 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id CC303C08E5 for ; Thu, 12 Jan 2023 19:57:48 +0000 (UTC) X-FDA: 80347207416.29.3C00F1D Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf13.hostedemail.com (Postfix) with ESMTP id 50CA620010 for ; Thu, 12 Jan 2023 19:57:47 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=Cm0cZvx6; dmarc=none; spf=none (imf13.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=1673553467; 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=Un035BTYhsjREpZ4dpy/MHkkoifcKtLiH3nYidAuKL8=; b=sGPwI9n6FO6zWkc23YhDVrVDqHXOzgYmDQqBXTZnTUetqkoweONVaRKBIzv6d7Z/KTnyac Qx56uTC5QgNbQG5PISLZz2DTOi7oHWItqugQCn+mr/LyxgURQDkJJNoCcAopLYtICP2VBp GrCdAdQI3vicQ58WKdsnymZ6M6hxPCw= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=Cm0cZvx6; dmarc=none; spf=none (imf13.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=1673553467; a=rsa-sha256; cv=none; b=TzhhBhDaq9v9gVkwAONBqkobzp0NZSRDFRxBN71FeiYQeGqoG82IWAqLP0zsOhvPQzgu0w 6MMXeZlGtf7pgR/gRXdYj5Z1VkFnnK7a0UAE1i9SikW/b2zDZuM3wIBplVXTcnZ5tLilCb HhQO/INwmCE19mFDxmhD7/UD/keBB54= 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=Un035BTYhsjREpZ4dpy/MHkkoifcKtLiH3nYidAuKL8=; b=Cm0cZvx68fOfy3spcfZv1mTyVN I+8nrlfsPTd1YX3ddHPT1tHDaXW6BjutPk9wWpEkW/bLt/CWl0wIYVqUtY/RdgLL1CXyaqx22TN13 FVZ1Pu0U/vSbCFKDZV31A7dnMTEMlJVmC5JGl3kdM1NWuU5ROH7eP9w1vfRDaocn4JsSLc4YrPw5Q 92CcZo9NDx6pgppJhIre9PG6+hEZcTjM22p8n4v6T0CGJXpMaxOqy0BIl6Hi1HTM4//PS/Q9GRA+r r+JvkRTeh7iePDi9/CdHQ2TT4CowIVH97n1vCAGs/Zkz6o47jhi7eL2nyxXG48k7aP4oDQHY9NYIK bJ7NrLVg==; 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 1pG3hZ-0045wj-2V; Thu, 12 Jan 2023 19:57:33 +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 4DBD1300293; Thu, 12 Jan 2023 20:57:14 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 7C19A2CD066F8; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195542.397238052@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:44:04 +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 Subject: [PATCH v3 50/51] cpuidle: Comments about noinstr/__cpuidle References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 50CA620010 X-Stat-Signature: i1kyz1a9pai8jg6gfiiswx14whxbp39h X-HE-Tag: 1673553467-953152 X-HE-Meta: U2FsdGVkX19H4UiXBa0GaKvzEBCdlFBUrB2NMvu3JstFy0fMKnmShkIAR5JelsCWONoeIKzbqrz0jwgT1YfuQXNpMjez7gwF17eOQ9UR68gBuYcaCAPXJ4l0i0vbbOVtNIsu4scB9BOYbq5wSlqKgzmUUPM9PPybuY84QV/ZFnFyycD5r/KI7DshsXqYGSIo0xwYyTuOGD0rSmfeYR00KZecOE/OWddA0WWRmrhbgkBGBlHmvF1ZxWwEeQ/JvM/XlLoJPI3XipHs6hyBY2RwNHyGD54W1qFZG6Y785Tm7FSuqERU5dMEj33flDFkGM4WOt4EMohctXiIwrnGwn28eoZf87Pq2FobapfvLviJvw6p1x7by7ywx63rd/Xc2TlWrlVErYNYhPDzFOE5k/eAF/ZKo0nKf4vM/UnkX9nuu3u+RkdtBawF/lpW3UGkfQTjKsjv9qBm5xNjszrddTH4+/WlMRbfuN+urToe+dlreGW84/ypqto9eJ4eg0XCbd+lAESS5i7LtPa/S+hclw8F9qztV/LSoJqnxxzjWZJWSzEvQ0HcMJGFkm3XbxBRGVrca9njgdTcR9f1BAlFXOvBx84bPT8qDIHGXztK4cQyxb2Clh5SBAYLR+nVq+QMI+TX53FwqMuS85XvE8bPgpFZVOj5B+T3/dkafT5yR6gOc3+R1OKZ9m7thSVYxL01CvTqTMRX1yIAZVB1BSFcKgEsyegcLoDVfDpWJL1lu/pAp0b2DOn4IevFNu8Uva5xMZy1e5U24LSmifsnWtSXKNSRznd71crbQsSJRRC9TOUoDY8qK2xrhyO0sKY+dRkoF9GtN4g5pe7/Ax6sTNQbNIawWitThHnvE1tpB8GPVHJNjGX4hsl/NJG7Qjq5n6JrXwQD2UYXCOeqN+0LwdCQiAcN4vKFo9E8Dy25Zm5+43Bgia2M9lg8dnQL8ODhGkG/7upNpf1MSZl5S5h6nt54SMa 9d0AtDGn EQJA7QLXoekZtlHgvvUcKN7eR1fkp11HGpk3lKk2C2e/SCnVGiTeMJNjUGWSpbx/s3oMEG7JNF/IKYb40b0zbJ/ZOG6VeYw+uRm5ESfyzKNBtxxXnom1np9HHIDKgtAqAtxJA7mK17iQzchu293PYiuhEIfflroozHbXyAqxxZU+Lf6n3IMwWPX/FdJWettYbt463iXwh/lkW0cSJeh5boLDbTAor/cRt6/IgCithW5l6OL4wLEPP3nX+eCeNtNECV1J8dEkPK5y+DGYPWdmWmJsKocT9hrlWIFJkQOOQuyKuJ7WouFjRAZc7R3N7QebO9pLqAg1jn3lMWyBlqNUJ9NLMPzVK2jG9Qroq8SlUdIyCFEGH9GNbNdddGRuRAApEVtFBea11J2j0SbcUjWhb/PIMHblCPxdga3vkUMLivSfbTw+LDYlYCKLexnEFDxsdcyeBGeGIdUteuLq5Pnd36d3zXxdlXOm8eVzYacfKSpzaim+AokwdW7G8uFDCvoJaNd7nPTPjaa86D0/5D7MJ4JVJ7fmoGoQ2EGBbQV1mrSWo3VPS6eREgKYhN5CBaklWxZzUXH8TaAoVhYnbWFtPhXTH7vttdMZC/zz5jSq8+jJ2JELHoNbEyBvJeaE/CtAC9dFbE4u9yiKv42yWmwm8tlEvYp0h+YKe6SujynCkloMDraziepNUxkMIX6IFGcMuFGCF382AsbJmXqWJZk1OLdDioby+vVuEGaWAkaa/+etArN/+XCqCTlLLOKrZ4pgnLB8q00Q6SJT/uldBLBkU+jja9Am+eQsJ9WUd+nFwvWTuc9F0ibJ0ytTKQpz8Cf47DJzxvASdmB/URMdobLVUCaev63UICSUdlsXVGd4QGfPbcYxrwpitTqso00kb1wkGJhPbLoBPelPbZUSrkEx6I7qRnmQYlP9UW0zseZJkr+HWrUXYkKlMTHIF97E9PF4s2s7MzIZYcAakt7dA6VcufiEosZdI p0MZ9NpP tIqV9hdT500c7vESC7ALhvjjDfVa/tAlQlnjosU99mwGWUgrzPC/vP7OisfHjWQ2D8GR41EoZfwxWBuLKbe+sQkhIT+fsv+RQpIdcswKmz6aZzjChM0H6mqrcNFIb+TKr8a3Rr+iGHzJ9uqnBzXHzsAx0B2ZiAH0zYG1tsA7t3IvJAbxqaiqVJJLkaQESHjAoSkut2sbBcr0Dn0Ytf7lXQMvrJW7wvYVDxF33GELVoKIOuKaJuZg5+AlGB4bZCAHUruvlyNtO7YAhIamrpo7fLj8Ukcuh1lmgXbpdryOB1A6vp659j5TkgR/fkqpn52s4NZPpbZFF/s0OjGP9nOVrHMiYqGyplPWdlZfHCHNE4/6oEHyUo6iY+fhcQabjZTBoyVbnu64F1ZbloUoOBUgjBk47yRIotkaxFKkSP5jLRPObOErl4fSkwpffyc6IJXaHYtCkHPyGWIgShwU9F5Y6FkwIUcxv4SddZfv4IOWSLv+kISI3ET6HIxlMEyfpy2JGyRmlvWuDxAS1kvhj/OMkp3J0Oo653U/m+FRAluVFRqc82HbDnA9vEKL2nyzhBUxesNWJ2z7kUtUWyI7THeYjURWFZ9YpYvtylqaNbdlyJ0Stig472LILgTli9vkcRefR9/KLobxOwTHxILiHfRumDixHqym4pry2GKVULCwK6l9YLoCInlm+sbeNgFP9+n1E3LAmqlos+PusCj+Df76LcfhBrXNx81mh6ZgLM46941GAslYud9fmnXVYIcdPfqgYZsIEH+sskCsqTs+ndAphb56LFnqP0XbhWASLd3XCV023u9QUhDl2kXZ2ZULH+2JvQzAn2ume9A9lk1ymsCJkRBRJiXoGAKCk74BuKfrjuMUemZxdy/fntJwrmGhRWPGuWcHq8yFk08R3aAY5HcZgbQjT4DfdtqWa3WeKwVpOvcVJA9gvOOQX3EJ/NH2AtprfXe0M4RlGFrfHy//6EW4QK/uehtLt pQwcZJnq QAuIBz5A4ZZIP+hlysfgZoNmRpSzEuBpROhomOu2aguIbPLPbgyPMMNkbTT6o/58+CkJ4Ro8YLG65LOYMya4Ykb4MxbvMwKh/+wJSWC1bjux05A8rZC/5y8C2Tf7dV1ATVgXU/FiqUzK4roGdrXIYqhy8XbYq68WXfXakNjfHJlCUghmV1d3yyIjozMml2W3+v23xybCTKzUPhoH/wuFJ+SnFkzlnFNJ6CNWRkp0RppENuXYMssA9E31JW5laEpf/Qe1R0MqWEmI3MyEp/mDNP3SlXLkhtU+jTVvTxCa/2hY/6zdzyO3HZUJCiryITu3h0HUAz69rx9//DA3eDo1EgrgU15KiYgvJ344o4PbWgD45gpmM2jgXsmF5HprJ1VRbWkcCcasgxann3VBbq5j2sEEGQN4CVsP6OB22QcPIqF/1yDhAzWmGHcKlBjHQ+5E+mJpDRPKewcfWrCu8J9QfffAJt5i/R3mjvlpnmJ9Ypo5oQO+a/JjCcPwYUds5V8suqy/M0j+aVdYdzumbx+YUtV9kfZU1vjso4f/NeHMvsbx8DLI/4hlcv3n4l0Fe4KVN9czI5VhHYIGx1vgn2rHhrUZ3Y3Y44VKi6Ei9om6CuUBJZU3FarkS3aKh4QApdvREMH97peIOXfpnp0LSLywxN0dmaUyLNoclXMx7N5ub4Ki/nKtBNH8gbluSRPPRmgqa/1IJte/LPIe6vJFJJMlT/QOfGAUfT+erlk9Ski84Vmz4TYRRzTaMQ4rfUuAkPEHdeXZ7gzW7dYE3cRrN2h6B/Cj4apD2XnX9q0bfuAhDLY8Gl2r9j0asKJsaAdUoG/AkXkYAPJ9QcNM51vfM26P3L7b6aGVS8plKxPrir/YHnybvUj+J0RSGDqaXLbf1hDaQRHmkI5WuHRNIGAEUF6xUDGkdkHBzhcN94esd6FTNhm7PWYqBAcx1t4aMNYSEOLISYTl4D2NP9x+Q8NPKdLshPyQ7RtoZ ukL47xj+ apx09Iaqk4DTqwVqLKMm4GAk/Ya9kas9VBYkIIJw22/PEOJ+zrIGhvAOq1xiXUzKucM+4RRDya55jFPx+CPlnEpHYMzrfJ4SO4YquSekb1DR0ss7Paj2hqyp/bX8D5xni2outPtu+8nb1RCsYykqeK 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: Add a few words on noinstr / __cpuidle usage. Signed-off-by: Peter Zijlstra (Intel) --- drivers/cpuidle/cpuidle.c | 12 ++++++++++++ include/linux/compiler_types.h | 10 ++++++++++ 2 files changed, 22 insertions(+) --- a/drivers/cpuidle/cpuidle.c +++ b/drivers/cpuidle/cpuidle.c @@ -252,6 +252,18 @@ noinstr int cpuidle_enter_state(struct c instrumentation_begin(); } + /* + * NOTE!! + * + * For cpuidle_state::enter() methods that do *NOT* set + * CPUIDLE_FLAG_RCU_IDLE RCU will be disabled here and these functions + * must be marked either noinstr or __cpuidle. + * + * For cpuidle_state::enter() methods that *DO* set + * CPUIDLE_FLAG_RCU_IDLE this isn't required, but they must mark the + * function calling ct_cpuidle_enter() as noinstr/__cpuidle and all + * functions called within the RCU-idle region. + */ entered_state = target_state->enter(dev, drv, index); if (WARN_ONCE(!irqs_disabled(), "%ps leaked IRQ state", target_state->enter)) --- a/include/linux/compiler_types.h +++ b/include/linux/compiler_types.h @@ -233,6 +233,16 @@ struct ftrace_likely_data { #define noinstr __noinstr_section(".noinstr.text") +/* + * The __cpuidle section is used twofold: + * + * 1) the original use -- identifying if a CPU is 'stuck' in idle state based + * on it's instruction pointer. See cpu_in_idle(). + * + * 2) supressing instrumentation around where cpuidle disables RCU; where the + * function isn't strictly required for #1, this is interchangeable with + * noinstr. + */ #define __cpuidle __noinstr_section(".cpuidle.text") #endif /* __KERNEL__ */ From patchwork Thu Jan 12 19:44:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Zijlstra X-Patchwork-Id: 13098841 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 DA366C61DB3 for ; Thu, 12 Jan 2023 19:58:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E5E5F80021; Thu, 12 Jan 2023 14:57:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D95EE8001D; Thu, 12 Jan 2023 14:57:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B4C4880021; Thu, 12 Jan 2023 14:57:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9D3F98001D for ; Thu, 12 Jan 2023 14:57:48 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 5FBF9120DCC for ; Thu, 12 Jan 2023 19:57:48 +0000 (UTC) X-FDA: 80347207416.03.4D45374 Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) by imf29.hostedemail.com (Postfix) with ESMTP id B16FF12000D for ; Thu, 12 Jan 2023 19:57:46 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=HX4zIGc7; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) 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=1673553466; 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=g+drg6uUsP6YHX5z1pA/AishyJbSIL0Ic60jCQj0FKI=; b=YRgmsLs3+cggN2zGyo7WiBSMwnXeREbXqHwpVdek0Z7soVp20dvMDIyU7BhvcGO3BzLmAr mSROoamohNkGOo1mKFrt8bVktWNKQDsykC3iM+gkKp439IMirNfY41Wr7BDWScJBH2mjBN 3neLXqVzcdN2aQdAHaue1AqrNBfK7Y8= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=infradead.org header.s=desiato.20200630 header.b=HX4zIGc7; spf=none (imf29.hostedemail.com: domain of peterz@infradead.org has no SPF policy when checking 90.155.92.199) smtp.mailfrom=peterz@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673553466; a=rsa-sha256; cv=none; b=vBNMNkaVuHN36xARDLTpBI74oEidixoT84ZNmmVIjM8iemWnyBndGj2gSdS1ffxo7w5Um9 W91EaZx1SXuullDlk/6lcQuof10JGsfw7Vo7D1byVjg7ltdRV+GVs3Vs6xV6pWUxpaUAD0 eDAoUVebQg9qduWBvr6n9Bxj+Yfvfa0= 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=g+drg6uUsP6YHX5z1pA/AishyJbSIL0Ic60jCQj0FKI=; b=HX4zIGc7CNEnvS4rGn7W0D9vH+ BqXSKBVzbOjdJmVjwKxM7CErrgFVSVz/1+bUhTtJLxqBqKUls/dfAKcxdlM/GqAKIZgPcyyvtiYC/ xNsvs3jEkA3Tc7wTD9dKX7AqQVMoK3zZGnoIRVPe2/ByXxJkmUGz2mgC+xq8GzDIl2mMQh/SS0wBb n8VTeRISnPcLdiCi2mz8Xah5kZu27M2Y+yFi7mr7Ut1y4VkoQunAEfDpTHMkZnAblbze/EQp4/W3m gMbvO683icMip+ILGDnrJ2cs/cFkJS4BJyY9lEGJ3v9cTLztSTyffVlb60q8QCxYTmdvnOk8RO/+K ZD1kTYwg==; 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 1pG3ha-0045wt-0G; Thu, 12 Jan 2023 19:57:33 +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 51C39300C50; Thu, 12 Jan 2023 20:57:14 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 0) id 810012CD066F0; Thu, 12 Jan 2023 20:57:08 +0100 (CET) Message-ID: <20230112195542.458034262@infradead.org> User-Agent: quilt/0.66 Date: Thu, 12 Jan 2023 20:44:05 +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 Subject: [PATCH v3 51/51] context_tracking: Fix noinstr vs KASAN References: <20230112194314.845371875@infradead.org> MIME-Version: 1.0 X-Stat-Signature: fi45xmsgqqxgxbsci759sgu31533i6c7 X-Rspam-User: X-Rspamd-Queue-Id: B16FF12000D X-Rspamd-Server: rspam06 X-HE-Tag: 1673553466-581464 X-HE-Meta: U2FsdGVkX18d87HKrg151qc9giJtUk38k7GbAid6Q+V5YZ/OhSO5tnV9OplGyA4wBAp4livY/u9WLw7BY3UwamIrvNKajrQvk6bOS8jwZVGg4K3Y/iV3Fssl6sSTr7WehRplc0eP8wxuu6iboD6jvSMyoP50QEwm/XpfulqMs+WNeO4nktg989UqfAcMH3OSUmoBz844OLDWTaEYJqwacW3/RRNWjLMmeqi/iscSzwa3Kqb29f9xpM8xtDHzGKsmhDZLuA6cLPTv8nmahM2vEObFy6jzFBl9D5MLlZIgv7nqRyC7BihPBVB99+UvWrkyy5dXFxq2/k7PLAbKt9wjFdExDGXkcjc2AmFTu6ofmGVAH3aTrwtpYEobIzaCZMLP1rTpV6EtEEGg8eTHNqlN84Hk/5Rl+jJ/1ZSj3phkYH9Sx+yt5MEIJaGPtFubAazvCwhoT47i4k6P4fegLA6sLB3NfSES/S9Et3gbQ2MWNZtnIJaSx0v3EFWslibQbyjgLZO4KVh2gGda6h8lBt35TzmBWhNOSdMnSHapnM2t2EONUCnHk92JUeHSlCwDTY1DdzOLnC5OhQEMD5XIGwYedwwwsCfw/YheaCi+iPhyetHuMuW+lTK7XftBqphn46vOv9qJQBAJvxeK/FZzCsI5a8ORvEsp3cjGwrynmvjAbSIoUHJj9T+vqGU8pbPdJwhooXb1fWoOp+dpgF2jlsWrEP4+Rmo0skzfp1ai+rtAIwzZI8DbYUb+FETNUwviH5tCb1X0muwQsHjJeEti8QzVfvtb7vZOrX7dWUU8HF7ghNDORYXrIJeHDQOxxoZEBQ2Svl2Ifi2m2IiuPT90SQMgG+L4E+xcxT+4286cxsJ14ZwNlEVQTsBQZU8Q63kn/RSNw210cj9R04vF5OH4Tj3LNGYxtHQqnMeyOqT3oWKzgxVfVumCFTrwWVj94TAlfMKRxjdBfA6a0wG5udINfdd ruFk9sTd rIz+qqyE9qnQBSkZ1u4A4IceHSMGz3D79FfbtZg6HM6qKbJHytj3155mqViIgd28o0kgWQNw/65aeqJcjNv0UT4EXUl5QgILaoc2B44xgyb4TyUvPBqWjTTisQ9uGPFud1Cxc3VilLWTLxqJOtGJnRzMNb/OIsJRHkWXQlHUrGKj1pJK5DI1cV+RTlgAc2bMi2cdUaTXPnF4+dNVx3WO4s5SsaliUwnVn6a51F+wkKw6TFcUikmkbS7yGjSva9iPBuScueXJAkmvROtVYiYJwnCCjfOQKWidEuly7J0ZONmuN6iba0kuhD3xTYyR1XwJfaqlQol2SEeA1+lALZ+j4RUjQF/ExejZvHxZapO8gzAR3Go4loSXeBRX5mm7VPvgd3ZtuCIoZXUSftL80kM2QI1H97IlU+hDnikDmkE4B/eESlxX/g4qVg7ySUxykRie9gsBZvlhRfifQJYNG4B4b/eHhg5enHEsjseshJIXuc5IZi21yZY/cRfWf84pdpEaymsDDOCtVYZGSLXsx9LxGphsLV414wyqUGAm93ldjb7RYAMznWecSt/Zldk2OiOz+Y+pWA9ISdIrbhKsqN4+UEYWRvgb9BQTpBfl5S8fwhS75NQaEcTyCGSISD4EipX/q7UxP4Ac4P/fS2JqUuFtkKvSpIUcSd0jVaK1tuUMTK5nK+vAKzWIsRPobEPZGK4sA0gGl8YpuWTRWGK1yG+xFuo/GfGN5FUXSy3mNPm1fkX6e6AKVyENCIrmLiKRLNoSO4zwP4Hz9pdxWhypOM/GG7BEJNs5im7phC2d4Zt0MNDRNMaUE2CNpv9V2UKdbUWl72iYDcTQkBCu/LFcAgpNpMitaxn5aTPUlzjryytLydbcHOGHsKaVQunmSTKEoqcva/OFKG2NNWNcauMesljJ49fcwlYAIg1SnNZntVir8RcGW0Tx6G3BLelqFWogITsR3WKmLgQQ+D91cb9kDV7zMZOkRrA1Z 64In9SbQ rFBE4WmILQhNtyYs3bmZfdc2klEJG/djBb5PKbigHlIBjmyfRGQz6Z8WYv3iUIEwxB8/hN2sRiHWFH/hyb8O6XPSTtGrApF036GeopRUYMAOg6E/ATkU4t48NQj4XWOo0mo99ndGBrjSJFOFOIDvKjafgRz0JHhXXNW8T+5p2zVZ2QKW3h1VF8jSLgYVlkRUGzif39Bz329ArGkcO9H/CUGt1Wboy5CIkQhb2nS4S2X2WBqdRk8C923enbdPs6h93wtPFpwtP8at8nF5NjckfFOzxSSE3KTuAi/rhIEuIZunvu1zxmX6ykeu/H3eCeCd5vvk4qxwgEVvG4xhsd5Zj9xtGK2JmJeRFxzDgsEFOYxg3OJ/l3vF2ErV+sk/71xp9MEEu/f3sE+1iHcYKSuIpWZ0yk9IA1YVZARD1iQL3X6OMVkn66K4DtqMJrZu3qeZSlfK3dAUcwZyxu1M3gBUdVscjyyIBhyRBv0+bX/2ofI6MpSd1EPf+O0piYuKafAFa4Qwmg7t6zI5l3moeNLBhPQqW51J3SabCaUgIOIUk0Z6qCl51dJwZdpk2AmmBmh+qa4bHf4PQTKZ7TTcHcw37G8JKWD/9fERVWZEBM+4uvR0QdB1S4r2fgijyLaWg3Ajo5NSsoszfFR5Tvx0G1EbUZT09llB6VggWXZ8Yg6kiMZhYTT+LY7kGpECn1gGfuXINwKQ6S3dPwxlopDMjWc0RQQKAUn50gB+5BZl4u3mNhqNV8m8wSY2GC/WMF10rhYCDVSS+AX/AOEJt6FUzLN25LYC2I7JNtDgfwYI52rheaoVISWFGgWjd3Z1i/DD8tSiHNNfbMfmbHEI+4THBBKEnz3kFon1lvQlDErqdOLdfkw57wnnq/Y+a6/xDTR6O9HeeavgNvtu4ugi9rrrMBulek1qcXU7RQHamjGVMcJUrUnnA9dFnCgn7lzoWHPufGAsNPXUuf2X7sOl9ZoeYC7MVuOWWUHPD wBK5Cv9X QUJRaxDBzw02ECbiRtSH27h0KePw9bHjGEoNJ1QlYPQuvY40tdwkjMRHANYd07eYUuQPogpn+X/ZD+AwwAUb95e2vBiOB6+U17TOs3mfea1vNStnuYEl7fn7+OrPttz3HDFBficovir5OJdc1xDmDtI3Jc3lgQQK1/vBfv1khdBT+fYviYNBjB5aRekOjZ+hTsuEq2HXHHXXh1xcuhcBVEXzQ9mVUnoqtHE0j/c+GlydkN/4TGMEx4jjqPMS5ifoU9sZJkrbllCCvmrAUPZy5sdij/hv/9h3bYrbI1U6vGEZLG/61szK2noq63/cjW8kdim8888xW+5QmeUl+Pq9d90us7561BtcLHrpHdze1JfRgeCB/bRVE1rhXfw8U7paxJGeaCxIEZcdC7BNJwBCeAVxUHNPAs2Dih09ZQ0WArKFNgWhBgClkPOjH7xrmcw5RrZ14/QNI8mSK6Dq7m5hkPQIzldvDADOZI16lgPfqXSLnqrKT5/gpryvlFByaTm50F7jZw1Lkr/mMb01N4GxS9nVJIgQDjk3tLPtWlOYdY7Thft2gmD9gfn42u4li04Ed2xJ0Jgj+XYYW7VjIOeW5GDxWRpzxG07ZA/UZqXRjBz7ai9+YbyH7/qQwgR5VtfCL0lCtpKtDxqy3AJJCatDqDGhtsMcKWOQWZv6rGlIytOCKAGHZZMKiXaRm6rrHVl8lZ9PBB4uXAI5qY5tGSsjolwfbsabHe9GQlPiUoXnqlxdAx7muN/igFAgNjmOGu5OkmGuT8JFWPqfF/i9bRoM6ncdTkhQJxJDfVGhLdBidBPgqbrTWMQ8O07I1KrVQoWB850trI2foeif/X7vIAb8WZ6UbNC5laK5dewtUN8lHpCveWatfIcK8KZsxlzJE95Ip51vc/38BV7rbQ+VBU3sDwFvtSOxKK4m97HzKToAZ9wbjdy7UkL0gngm/a/lj+JuKAbdEHvu8HjJ+kfvpjuuS1AXQVWvr Xf9MHvUP i1TZd+kdehW/+73FYwLu7CsLP9IUR2PtOqq+wu9nB8Y3e6sqOGWBK0r0Cd8oUiuAY153payCFvHOnL/S841T/hpn47Vbyd5YPNViX3TrvojbNFNGeuMPJlvlSa0Vspz8yKjTAvSxb+1qSFTyM0E1Iz 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: vmlinux.o: warning: objtool: __ct_user_enter+0x72: call to __kasan_check_write() leaves .noinstr.text section vmlinux.o: warning: objtool: __ct_user_exit+0x47: call to __kasan_check_write() leaves .noinstr.text section Signed-off-by: Peter Zijlstra (Intel) --- kernel/context_tracking.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) --- a/kernel/context_tracking.c +++ b/kernel/context_tracking.c @@ -510,7 +510,7 @@ void noinstr __ct_user_enter(enum ctx_st * In this we case we don't care about any concurrency/ordering. */ if (!IS_ENABLED(CONFIG_CONTEXT_TRACKING_IDLE)) - atomic_set(&ct->state, state); + arch_atomic_set(&ct->state, state); } else { /* * Even if context tracking is disabled on this CPU, because it's outside @@ -527,7 +527,7 @@ void noinstr __ct_user_enter(enum ctx_st */ if (!IS_ENABLED(CONFIG_CONTEXT_TRACKING_IDLE)) { /* Tracking for vtime only, no concurrent RCU EQS accounting */ - atomic_set(&ct->state, state); + arch_atomic_set(&ct->state, state); } else { /* * Tracking for vtime and RCU EQS. Make sure we don't race @@ -535,7 +535,7 @@ void noinstr __ct_user_enter(enum ctx_st * RCU only requires RCU_DYNTICKS_IDX increments to be fully * ordered. */ - atomic_add(state, &ct->state); + arch_atomic_add(state, &ct->state); } } } @@ -630,12 +630,12 @@ void noinstr __ct_user_exit(enum ctx_sta * In this we case we don't care about any concurrency/ordering. */ if (!IS_ENABLED(CONFIG_CONTEXT_TRACKING_IDLE)) - atomic_set(&ct->state, CONTEXT_KERNEL); + arch_atomic_set(&ct->state, CONTEXT_KERNEL); } else { if (!IS_ENABLED(CONFIG_CONTEXT_TRACKING_IDLE)) { /* Tracking for vtime only, no concurrent RCU EQS accounting */ - atomic_set(&ct->state, CONTEXT_KERNEL); + arch_atomic_set(&ct->state, CONTEXT_KERNEL); } else { /* * Tracking for vtime and RCU EQS. Make sure we don't race @@ -643,7 +643,7 @@ void noinstr __ct_user_exit(enum ctx_sta * RCU only requires RCU_DYNTICKS_IDX increments to be fully * ordered. */ - atomic_sub(state, &ct->state); + arch_atomic_sub(state, &ct->state); } } }