From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00B2EC05027 for ; Fri, 20 Jan 2023 09:56:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 47E376B0072; Fri, 20 Jan 2023 04:56:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4061A6B0073; Fri, 20 Jan 2023 04:56:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 25A936B0074; Fri, 20 Jan 2023 04:56:57 -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 162B76B0072 for ; Fri, 20 Jan 2023 04:56:57 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id DAA3E160E37 for ; Fri, 20 Jan 2023 09:56:56 +0000 (UTC) X-FDA: 80374723632.05.96AD76C Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf27.hostedemail.com (Postfix) with ESMTP id 0D4F740003 for ; Fri, 20 Jan 2023 09:56:53 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=MUoDqsxA; 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=1674208614; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=5PCjUACeYMR6O3y/YgzV4vR8g0qeDy6mmRm0X3w+etU=; b=3sJ9Laq5gfwKzKLX8T0zLCvHHv0e0hob5zMPMmYXnHBo42/J0vmLKp6ocyd3qXv+sB4wZJ 053dWNv9F4s5bFNiKJANUbuJOelmyamJ9a5WqDSR9XEyk/rYzf0Twddstx0zh30bKhIwYH jeIVCZ5f8513Q3c93aDcdtECy9vCkbM= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=MUoDqsxA; 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=1674208614; a=rsa-sha256; cv=none; b=LKUidfdNlN02MG81bumh4qC5mEeo+YCuUmD/YGY6ASZLu3+F/lR1zwSwfqnjevruOLQgDF 5TKnFaN4qQBoiVoBIsBU77Nm7tY6Hb7AYM8lMML5cB1FnYMaSzbODuaTxxP9PIWXkZTVuc +AwGHoGmiIRIIQ5i9DjdLw14z6qQ7M0= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:To:From:Date:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description; bh=5PCjUACeYMR6O3y/YgzV4vR8g0qeDy6mmRm0X3w+etU=; b=MUoDqsxAueB3UC0X9DEpgPbNXn Tj5cnDaYzy266gE7W5G9bVl+xeWuvsanoCSSZvn8aXUXYk/++klaMAsPIpQl1jeuVnTW1saJccdK+ DdGoQPEvQqs9mymWjC4y513VtI8Jy4W+Sh477ud61/rXfxZpDUDwY2E2lLspwsfnWFNoW0i7KQ+T+ KRbX9/27/fD43hdnpwgYqN4HT+lbr4i/iKyZlqSTJA7tBGTGIRK5/91srIafoGrsXofd4dgMAzNuT W+pAcFw+grziVU17kyiULcfzMkW3d96+ovbjbRfqud5Nl4PuY1aCQOsAbjXg/VqEWhBkxNVtBGAX1 enGrU91w==; 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 1pIo8U-001qF2-HQ; Fri, 20 Jan 2023 09:56:39 +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 97C13300744; Fri, 20 Jan 2023 10:56:35 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id 739372133D202; Fri, 20 Jan 2023 10:56:35 +0100 (CET) Date: Fri, 20 Jan 2023 10:56:35 +0100 From: Peter Zijlstra To: 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: Re: [PATCH v3 16/51] cpuidle: Annotate poll_idle() Message-ID: References: <20230112194314.845371875@infradead.org> <20230112195540.312601331@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230112195540.312601331@infradead.org> X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 0D4F740003 X-Rspam-User: X-Stat-Signature: 54xdh4twtz7t59syag794uo5e3un174o X-HE-Tag: 1674208613-491687 X-HE-Meta: U2FsdGVkX19em7TNutuQ+gX4+4/l5Gg1SQoEG5UPWPc9mNRh+2fvei/zQZrinM5/pEM9DN55C/vT4JSt9WWeaEYdQIdAcUaF+jDxwDcn4WJPqzAkT0feOVdLDrENfZcB1l6eozcd91Kz4v+IaVewGuuuGUwsGXFmtmuZ5aj+Gh4FlchFmdP0ye10PtvQnMY2OLXvObJKwCRtLJN1icE/0HmxORDY2+H1t+NpkU1oQRNVTuKbCfLZpzqODay27R/lOuhJ6ruLmDE+HJvdVxBRXvXYfd9ZvkcysszMPjBSWAX6AfJJ4+qYp9p8eyyKKZGLEHUjaO7TNm/m7n1OttvmYXSlWUzKPmQUZaX311RucJsO3TJDfgcLRHDVX9Y7R37BmPFWBwtahofIKGo+L1S8zXefAOdAMXiUbpvyR8du5B8Cmap16AcVhphdHbqTQ5XYpVGqmlTqmU9cedMYsg4ly/pMMTfJ37LzugiTLiaMqicxI+5iPaYo9Vga8nOnNxu9KoAcArEi2cQUFYSR2y/zGdlY+70k1SBjhGzhq8S3RvcUtl8an+/3NqsYzCHdcncYMxs5acp5+aEwQn07hcGutWntxprxdAL0SdFVnq9iTOODhlSJFLSgqxzKlz2a+akl9unMYUwLdXfgOs15l/crzQfkJvoIxnP9uSMT7dM6KvMTvlIDsCOfPaolCxtREJEMbbVWwCBiC3ofDsYRNh3CUpodHh/gi9jqH+CDvPyiSur+iRkyfNtyyCvMPFzzng7Z/TFMJ4TDujOJM87ppnWzh+0kcmZmmvbjs/zsL0HmMFSekwuByjMSUZNZ4Ak75J6J0u7tbRqPgGNP+PFJIiVHltPZq4zskZBkjrntaSCKCHmgLd4D2dw/dQ5dVjsKGer3XO/CPkQMsrEA6kW7VwHEb9Bq+uFPcrCu6ulV7dwFFnyzHE54nRMCJf89aIlqyYqu6g/8t81qirTgO0GWws5 PvimaiPo 784yvz+Dm1CEKkX8gcLXlfACsnajyQwuy/RkS5cjaAWErfIR0Z60gUpS7i0plCKqhTlf/CIF0M6mBL8BRzKf6Pb/A98s/MEAS+vAXCk958+XGfx6uAYht4QRM8J0WkSKAXD+9cCb9iF4d7/sbCfPPRO/HAyp6mDfxGNlp24MPbI2GvYBYoSqhrEOgrWDZzhnqv/cu7mrwdkz3IPsGy6PE9XxiQhLP8aoiJKgqS+BfrixcfpunSWZrVVFci+Sg0T9mMQiS7rvqBMNmv/pTRxuRApYu4CPlPYC1ZRKwWPuTVsm7kw39zmIqzHa2U32hnzWeaAi2qQKGAladZhUDyQWEWdPqojeZoyIWYBMvgL4DAFFNe0DftF3Y712Kii+GCbM+DaPRyuqNzZ/2L1HC7zn5odbwVvAUrqe7haQRUWUBBB4aOLOOo/YewYUorSVBR01QxSdKehKrxQ3bjtgvIquPn7sLAN0iBw0BUu9Z6KAeHFKB6k/UINwdUrTaIL2sV/pXe8lTw3D3oJfix7t2FXpryiPPTedShbhWMVK9YUI0O6KZFHErQmteZZpwFV6lt8kWPx+KSetNL0d+EojxBaE69ta2kl/p+q7GtkmOKII/yaILUIT+BkyTljP8i5xi97v7HcSriEtDXFNBl+XFKjNOKI/hrQLg9eXrowR8foRJwSPRcdkkOm2beHfLstN98ZDR6xUJOar2GnHR8ycHXxNrU48mPGp6knbQ881kRHuAMdPV4+/+vgXjNuEcAkvitmI2hjpxr4X7Y32lCtLdf/JshNHh5+FIaPC09lVpZmw+sW2u2/iYDqlAI+7stf4QsP3Und/LZFYdWionv+OLum3Xp1nVEOtzeGtxuSNnYdXrQWZEblfHArMtu7IviHcL88HaDU9aiknf4pEpIYP8JxXlgc6PMauWgZ52RZfxn5s2cFuavqSLiqzLtiSmfs9O5SayrLrdMpHBt8Wt7Q8HjhGs9w4ycSWJ VaKaPHkU x5ubGf+c5DhfmHNoKOAL+obDOBvVAeB17+PHnvhiUvBcXjzX5YzFZqV+M9+JnixxK/2iekzM3aJmq4y2/kSRymS6/FweuqH2tlClOnPNt8bPIP85IagJax7mHZSk1f42DShaH4e0ZHCZAU5nm7FL8LVXQ5gzFQl7k7ccjeRYH00z4ThGYBUGrM0VLb9IYSEA7/XnWlxHy+60qB2rey2P1HasJant+UPM1wsxe80ItgoUpz4Tx1Ly8TuTvCF2q+3R1HEp6yJsk3H3/jtmPapK99kpVrKeohRvYguNS1lwUNPYKS9qGYTMhor/Zkesw+j77mmR64Tx3EFDy4f5NPspsxAN4WJZ8Slq6ez1Obre7xohal/i3QdZPRFltuusWIqQu17CzhysJpi4Xl6ycOaYEopHk7Bq0MLCkT5f3JIbWRQ5NZOUe6FjBsvQUo51I4fm++jUBMIeAt94Hi9fH+uCHArrrxhffDvsCqnTgYgHZ0h8teoO9dIfs7YWqOxTlbGTy08TeQ/VOT6CAE4B3sZXSD1Ua3XztUR00RdLOpSyHwKK6PHm7WubqpXCWAXggfi2pSGavZaWRXtoYW65iiegXAodWyFZ5TNaWhnh3e+Ns2BmvBQaMeNCbPnPZxxIYwImDLh5giIm8LQC/XoemnQrKv3oNUfuhKmFfg4eOUnMOc5ogaWKBi1JUzPXgV4TXBjkl06H65NNDn8OOcumWMQ4byNSGjqCtJLR4GokA8pm8LGO8VDsXGANQid9B86QWYz2G2syManSzYFAyDzdH8a6IpRQnQGo0wCUomfW6VGgJYOpAP/YSxmr6YZka2CuyyVFNO1mfGoI4KTMisLvgH2Emv08f0nnYgHE8ZfFgFtIRCbB6WbWdM1z390dFAqdRkenNGTQ+AGae8pBQ5sS4wdrS8OLwjUnH/wCdbkoVQfR8P+7e7dhtzGFiEkFmvNom6Niyepk7vVUqIITRScnyrS3kp2KPi+ax MPgVitoA DWIefMKlfyXAi81IBRhsZPJRybV3lGu3chgNl1HqdDtJzZJOWV71Jb3VDJ+ADpAYg7dVL8JxrjVvcSKwnhG1SJ51b0IoyiJQJf5auEHwoGR0qYeekbRCvxlwQ7p6REamI39jUYeNmjrnpx0sOELyuvFsZqKQYODcIYJLZwPKirbOeU/CPzC51kkfUhaDtVIE4FbahWWq7SVabqgUi5QfO4gnOPaqqIEfeTcrcesnxavHe3eINyI2AVCdRu68ThpOXbLuCbZNnYzBdLgDMwRRUWLmj43stnxp4OMReOPtpP3oi++yZiaai9uZ86ltBAhfyPK0ytA3cwfT8QIWGLubdtYo843txJ+wkVG/P3YmjuzahNBsIiG/pi6rNhiRrD96ivC4dzopu6yozKWt6j1iraHXYw/f9dcZvyLeL1ezucNhWeYGUvUSSAa31LLOC+uZ7jP45lkcm2Ru/6OefjKVfG3arOFh3MohYSLrqRqSgbRpzHmvBshU3zQIlu2wdvuEslFbPkYMzma9gTfsVh0Xax6BMY1vUEaK/GzphlnInM0vxMG0gGk7UdrIyjA7TeeZU9NL16/5YIKvEL5QDLOIaFLt5qBE+AWXiTX1I8YyaYfnE1y2CL9WIrDg/t6pHLEWicyXipj20qoyiwKvOQ2rKUX49gXp8K4HFYx4SR0TLKm3YpuBSX+zuIzPCrrVVmzb4XKcK7+QlDAA0wY9bryowwbPC24bmwYGYLbC69NArJBSM02RtEFOXtzAn8mKdbJjxDM6Z2ANWEt+U9h5LkpaX7tcmzivfa4chQnwGESif3vhRM+YyVas+Xll9yBuMuo7YXUh9wdEilowNvp7/HU/3246NGRx/1Hyjd1Oqevyeb8KJilLwQAOqHsjJz/8LQalbYi4N6LmqkpEI6YGdRFPmimIgMhuqDVlYOpRvNEe9FCNm2EbUhg7BVmU/NHtl+fv5ddam2l8Jw+nTZlb6kbQfGVgIu4ug k6Nx4HVW BwWQSDX+Hnwjx82ZOL2Su2/Tz7wc7jXyccmNNaifvGAR4XpJ/zonmsPoYaAkSF+bvj1zQMOvbTOrJOx42Jol5QNZ9Q/blLOf9uvsLx/Y9YHYINwH/7lNrzkYkS1yLwhIYJtIqW+JtC7y4uQaUWreMa3TWwBFY0pT/WF+SFUteTYoA7oxSqC0jU298sttWNZmJhi9VWLYlXZ3bINUX4YsEoq4+RcI7rPj9yojte7jGNF4gZVQgZ4FLCaCZAA1zzLOYg4Qv3E05fu+j6i+BgsFfNYoVmWT9DuYisYSVVoQQbYNd6siGhpWSQeAQf44c9puvilvUHwQNMQTWbPjFa+qlWF7nfDMKLq6B+wxckOJj8MI2JwYuBCbtfa+4PPyDntqJGDJvZOs2S7qa5pLfmj/GSX38JiGM6DROp1RsTfVCmuPyadj/PZRCW32AJUQyg1rtGWa3exgMhk+CnML0bEombHFI0ZoN/EX9pIWMrufphy7gKUVne3p1oeBhrgjAS3ioCBEjTzkM+FQx1BlpOHZQlAnkeMYAbB8GlYplFJdnGRza3KkzxT+uS8bWvypu2cXYq7iV4lLLHnzVKosYrZpwkcoZD1Adz4O9lXDgcrngdnrR56C33sI4J2jxE+TWY3J9ryg5eFkVbZw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Jan 12, 2023 at 08:43:30PM +0100, Peter Zijlstra wrote: > 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; > } Pff, this patch is garbage. However wrote it didn't have his brain engaged :/ Something like the below fixes it, but I still need to build me funny configs like ia64 and paravirt to see if I didn't wreck me something... diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index a78e73da4a74..70c07e11caa6 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -215,7 +215,7 @@ static void __init cyc2ns_init_secondary_cpus(void) /* * Scheduler clock - returns current time in nanosec units. */ -u64 native_sched_clock(void) +noinstr u64 native_sched_clock(void) { if (static_branch_likely(&__use_tsc)) { u64 tsc_now = rdtsc(); diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c index 500d1720421e..0b00f21cefe3 100644 --- a/drivers/cpuidle/cpuidle.c +++ b/drivers/cpuidle/cpuidle.c @@ -426,7 +426,7 @@ void cpuidle_reflect(struct cpuidle_device *dev, int index) * @dev: the cpuidle device * */ -u64 cpuidle_poll_time(struct cpuidle_driver *drv, +__cpuidle u64 cpuidle_poll_time(struct cpuidle_driver *drv, struct cpuidle_device *dev) { int i; diff --git a/drivers/cpuidle/poll_state.c b/drivers/cpuidle/poll_state.c index d25ec52846e6..bdcfeaecd228 100644 --- a/drivers/cpuidle/poll_state.c +++ b/drivers/cpuidle/poll_state.c @@ -15,7 +15,6 @@ static int __cpuidle poll_idle(struct cpuidle_device *dev, { u64 time_start; - instrumentation_begin(); time_start = local_clock(); dev->poll_time_limit = false; @@ -42,7 +41,6 @@ static int __cpuidle poll_idle(struct cpuidle_device *dev, raw_local_irq_disable(); current_clr_polling(); - instrumentation_end(); return index; } diff --git a/include/linux/sched/clock.h b/include/linux/sched/clock.h index 867d588314e0..7960f0769884 100644 --- a/include/linux/sched/clock.h +++ b/include/linux/sched/clock.h @@ -45,7 +45,7 @@ static inline u64 cpu_clock(int cpu) return sched_clock(); } -static inline u64 local_clock(void) +static __always_inline u64 local_clock(void) { return sched_clock(); } @@ -79,7 +79,7 @@ static inline u64 cpu_clock(int cpu) return sched_clock_cpu(cpu); } -static inline u64 local_clock(void) +static __always_inline u64 local_clock(void) { return sched_clock_cpu(raw_smp_processor_id()); } diff --git a/kernel/sched/clock.c b/kernel/sched/clock.c index e374c0c923da..6b3b0559e53c 100644 --- a/kernel/sched/clock.c +++ b/kernel/sched/clock.c @@ -260,7 +260,7 @@ notrace static inline u64 wrap_max(u64 x, u64 y) * - filter out backward motion * - use the GTOD tick value to create a window to filter crazy TSC values */ -notrace static u64 sched_clock_local(struct sched_clock_data *scd) +noinstr static u64 sched_clock_local(struct sched_clock_data *scd) { u64 now, clock, old_clock, min_clock, max_clock, gtod; s64 delta; @@ -287,7 +287,7 @@ notrace static u64 sched_clock_local(struct sched_clock_data *scd) clock = wrap_max(clock, min_clock); clock = wrap_min(clock, max_clock); - if (!try_cmpxchg64(&scd->clock, &old_clock, clock)) + if (!arch_try_cmpxchg64(&scd->clock, &old_clock, clock)) goto again; return clock; @@ -360,7 +360,7 @@ notrace static u64 sched_clock_remote(struct sched_clock_data *scd) * * See cpu_clock(). */ -notrace u64 sched_clock_cpu(int cpu) +noinstr u64 sched_clock_cpu(int cpu) { struct sched_clock_data *scd; u64 clock;