Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2235038/?format=api
{ "id": 2235038, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2235038/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260508131647.43868-3-frederic@kernel.org/", "project": { "id": 2, "url": "http://patchwork.ozlabs.org/api/1.2/projects/2/?format=api", "name": "Linux PPC development", "link_name": "linuxppc-dev", "list_id": "linuxppc-dev.lists.ozlabs.org", "list_email": "linuxppc-dev@lists.ozlabs.org", "web_url": "https://github.com/linuxppc/wiki/wiki", "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git", "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/", "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/", "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}" }, "msgid": "<20260508131647.43868-3-frederic@kernel.org>", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20260508131647.43868-3-frederic@kernel.org/", "date": "2026-05-08T13:16:34", "name": "[02/15] sched/idle: Handle offlining first in idle loop", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "0346d39f4ea2d5e1b792a46a440a359a07e29b7e", "submitter": { "id": 79411, "url": "http://patchwork.ozlabs.org/api/1.2/people/79411/?format=api", "name": "Frederic Weisbecker", "email": "frederic@kernel.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260508131647.43868-3-frederic@kernel.org/mbox/", "series": [ { "id": 503389, "url": "http://patchwork.ozlabs.org/api/1.2/series/503389/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=503389", "date": "2026-05-08T13:16:32", "name": "tick/sched: Refactor idle cputime accounting", "version": 4, "mbox": "http://patchwork.ozlabs.org/series/503389/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2235038/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2235038/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linuxppc-dev+bounces-20612-incoming=patchwork.ozlabs.org@lists.ozlabs.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linuxppc-dev@lists.ozlabs.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=HWkHfw6j;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-20612-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)", "lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2600:3c04:e001:324:0:1991:8:25\"", "lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org", "lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=HWkHfw6j;\n\tdkim-atps=neutral", "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org\n (client-ip=2600:3c04:e001:324:0:1991:8:25; helo=tor.source.kernel.org;\n envelope-from=frederic@kernel.org; receiver=lists.ozlabs.org)" ], "Received": [ "from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4gBqRG5Zklz1yJq\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 08 May 2026 23:17:30 +1000 (AEST)", "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4gBqRC2DpCz30Vn;\n\tFri, 08 May 2026 23:17:27 +1000 (AEST)", "from tor.source.kernel.org (tor.source.kernel.org\n [IPv6:2600:3c04:e001:324:0:1991:8:25])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4gBqRB2k9Pz30Tp\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 08 May 2026 23:17:26 +1000 (AEST)", "from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby tor.source.kernel.org (Postfix) with ESMTP id 7F7FD60052;\n\tFri, 8 May 2026 13:17:23 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPSA id 985AFC2BCC7;\n\tFri, 8 May 2026 13:17:15 +0000 (UTC)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1778246247;\n\tcv=none;\n b=DV2H8+RH34muciobvGvyakKWPRz6Y/M1pe2xtOTjw04s6Q39Hi28lwsvKCDwXkHzsIYk/ZqL2/1AWMUFTQy7WNbw7QYnAFAnVOU4FgoRRfZ4Nnz/TeXRxO7hg/rk3X6LKdSj6mK6aKrLBzhDexPe43DW5x5QssSjahzXLMJsK3GPG9F7tGaWJXWVCj4+72HzLj/Q2J4B3kUU+i5bwyw18doD3mwaGa0WQcjFPt/0xWEQdDoWDme/EtX0CK+0/VqAjacSwewLWYeUVNWk0tdcxE5uhAoaVET4N4eqe1Ub5FIEqCjejb7RTJYkIM15xzHJPhT8Nl0LsBJEiArY/2Sn0A==", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1778246247; c=relaxed/relaxed;\n\tbh=0E0o3HVbwghmLFn1IRbz0gC1uLQ710iByXEyo7VAdt4=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=OqG0U2Wlc3KQr3c95nnspDuFomNxEkorXJj0EkFsQTGAnsSc8CsKcSo+lwfVk0QWLGRdM/Ih7e8P5hujsKekEMVIfx5Pr4fiD3xUg/FphJ/yLCAiXwEySHysLRFNLx7kAIuZmrQzXusXPDApUgYhFlAU/xsgDnL/wkIjgtoD0kRcx5nq4NmVlHlBBG1paYGZpHlK799OgwO9LETrrEnjU2SC9Cn58BtplvZSMtsC/Lo3Fl3WUK9veaEFZ0I4oTfwkkKud2Kl6LroKvg6O3nukunyxFo9iEZtRooLTBiezRSZEiFEMNY5PTEt166VugCTPTZcjqhNmAS5t0JGT5zhaw==", "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=HWkHfw6j; dkim-atps=neutral;\n spf=pass (client-ip=2600:3c04:e001:324:0:1991:8:25;\n helo=tor.source.kernel.org; envelope-from=frederic@kernel.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=kernel.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1778246243;\n\tbh=UeCeMdJXLMsqcLiyE7L6BjEm2BBFQStG53xrIqv/KCw=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=HWkHfw6jK75cNMzAAZKQ5+/l6MQMArstvk7RP/tFCMfz1+R6CNXzwQ3L0ZyjukjaW\n\t 0uyIzp+bWzVXPIlYleMk1IZZD7hH0tto03sYlMgkIkkouJZt7q9EatrTk/zPWIdMq2\n\t NihSRoDrT0G0J7hUFIithGrluCdjOPrWuIJyxPvZVeAZHZpJJFDYPkIUFJ+5LaAPEA\n\t 4HiPOFmjN8qjLPKmjUuPfz+KrRUCy11VGrzeX571pG2Wrc/Ql8CU5O0Y2ldbRSTgKK\n\t xyPyr6dHzCFJb7Bcu1S9kcPxV2uY4hoIYSRtyG8CBqKhj51y1CXnCOZA2CKC6q4tty\n\t wyUJbfcdYY/Vg==", "From": "Frederic Weisbecker <frederic@kernel.org>", "To": "LKML <linux-kernel@vger.kernel.org>", "Cc": "Frederic Weisbecker <frederic@kernel.org>,\n\t\"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>,\n\t\"Rafael J. Wysocki\" <rafael@kernel.org>,\n\tAlexander Gordeev <agordeev@linux.ibm.com>,\n\tAnna-Maria Behnsen <anna-maria@linutronix.de>,\n\tBen Segall <bsegall@google.com>, Boqun Feng <boqun.feng@gmail.com>,\n\tChristian Borntraeger <borntraeger@linux.ibm.com>,\n\tDietmar Eggemann <dietmar.eggemann@arm.com>,\n\tHeiko Carstens <hca@linux.ibm.com>, Ingo Molnar <mingo@kernel.org>,\n\tIngo Molnar <mingo@redhat.com>, Jan Kiszka <jan.kiszka@siemens.com>,\n\tJoel Fernandes <joelagnelf@nvidia.com>,\n\tJuri Lelli <juri.lelli@redhat.com>,\n\tKieran Bingham <kbingham@kernel.org>,\n\tMadhavan Srinivasan <maddy@linux.ibm.com>,\n\tMel Gorman <mgorman@suse.de>, Michael Ellerman <mpe@ellerman.id.au>,\n\tNeeraj Upadhyay <neeraj.upadhyay@kernel.org>,\n\tNicholas Piggin <npiggin@gmail.com>,\n\t\"Paul E . McKenney\" <paulmck@kernel.org>,\n\tPeter Zijlstra <peterz@infradead.org>, Sashiko@lists.ozlabs.org,\n\tShrikanth Hegde <sshegde@linux.ibm.com>,\n\tSteven Rostedt <rostedt@goodmis.org>,\n\tSven Schnelle <svens@linux.ibm.com>,\n\tThomas Gleixner <tglx@linutronix.de>,\n\tUladzislau Rezki <urezki@gmail.com>,\n\tValentin Schneider <vschneid@redhat.com>,\n\tVasily Gorbik <gor@linux.ibm.com>,\n\tVincent Guittot <vincent.guittot@linaro.org>,\n\tViresh Kumar <viresh.kumar@linaro.org>,\n\tXin Zhao <jackzxcui1989@163.com>, linux-pm@vger.kernel.org,\n\tlinux-s390@vger.kernel.org, linuxppc-dev@lists.ozlabs.org", "Subject": "[PATCH 02/15] sched/idle: Handle offlining first in idle loop", "Date": "Fri, 8 May 2026 15:16:34 +0200", "Message-ID": "<20260508131647.43868-3-frederic@kernel.org>", "X-Mailer": "git-send-email 2.53.0", "In-Reply-To": "<20260508131647.43868-1-frederic@kernel.org>", "References": "<20260508131647.43868-1-frederic@kernel.org>", "X-Mailing-List": "linuxppc-dev@lists.ozlabs.org", "List-Id": "<linuxppc-dev.lists.ozlabs.org>", "List-Help": "<mailto:linuxppc-dev+help@lists.ozlabs.org>", "List-Owner": "<mailto:linuxppc-dev+owner@lists.ozlabs.org>", "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>", "List-Archive": "<https://lore.kernel.org/linuxppc-dev/>,\n <https://lists.ozlabs.org/pipermail/linuxppc-dev/>", "List-Subscribe": "<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>", "List-Unsubscribe": "<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>", "Precedence": "list", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-Spam-Status": "No, score=-0.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8", "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org" }, "content": "Offline handling happens from within the inner idle loop,\nafter the beginning of dyntick cputime accounting, nohz idle\nload balancing and TIF_NEED_RESCHED polling.\n\nThis is not necessary and even buggy because:\n\n* There is no dyntick handling to do. And calling tick_nohz_idle_enter()\n messes up with the struct tick_sched reset that was performed on\n tick_sched_timer_dying().\n\n* There is no nohz idle balancing to do.\n\n* Polling on TIF_RESCHED is irrelevant at this stage, there are no more\n tasks allowed to run.\n\n* No need to check if need_resched() before offline handling since\n stop_machine is done and all per-cpu kthread should be done with\n their job.\n\nTherefore move the offline handling at the beginning of the idle loop.\nThis will also ease the idle cputime unification later by not elapsing\nidle time while offline through the call to:\n\n\ttick_nohz_idle_enter() -> tick_nohz_start_idle()\n\nReviewed-by: Rafael J. Wysocki (Intel) <rafael@kernel.org>\nReviewed-by: Shrikanth Hegde <sshegde@linux.ibm.com>\nTested-by: Shrikanth Hegde <sshegde@linux.ibm.com>\nSigned-off-by: Frederic Weisbecker <frederic@kernel.org>\n---\n kernel/sched/idle.c | 13 ++++++++-----\n 1 file changed, 8 insertions(+), 5 deletions(-)", "diff": "diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c\nindex a83be0c834dd..aa7e3dc59856 100644\n--- a/kernel/sched/idle.c\n+++ b/kernel/sched/idle.c\n@@ -280,6 +280,14 @@ static void do_idle(void)\n \tint cpu = smp_processor_id();\n \tbool got_tick = false;\n \n+\tif (cpu_is_offline(cpu)) {\n+\t\tlocal_irq_disable();\n+\t\t/* All per-CPU kernel threads should be done by now. */\n+\t\tWARN_ON_ONCE(need_resched());\n+\t\tcpuhp_report_idle_dead();\n+\t\tarch_cpu_idle_dead();\n+\t}\n+\n \t/*\n \t * Check if we need to update blocked load\n \t */\n@@ -331,11 +339,6 @@ static void do_idle(void)\n \t\t */\n \t\tlocal_irq_disable();\n \n-\t\tif (cpu_is_offline(cpu)) {\n-\t\t\tcpuhp_report_idle_dead();\n-\t\t\tarch_cpu_idle_dead();\n-\t\t}\n-\n \t\tarch_cpu_idle_enter();\n \t\trcu_nocb_flush_deferred_wakeup();\n \n", "prefixes": [ "02/15" ] }