get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.2/patches/2235040/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2235040,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2235040/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260508131647.43868-5-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-5-frederic@kernel.org>",
    "list_archive_url": "https://lore.kernel.org/linuxppc-dev/20260508131647.43868-5-frederic@kernel.org/",
    "date": "2026-05-08T13:16:36",
    "name": "[04/15] sched/cputime: Correctly support generic vtime idle time",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "277baebb6033f792511793f88ed193cb99b556fd",
    "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-5-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/2235040/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2235040/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "\n <linuxppc-dev+bounces-20614-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=uT3EcJA9;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-20614-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)",
            "lists.ozlabs.org;\n arc=none smtp.remote-ip=172.105.4.254",
            "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=uT3EcJA9;\n\tdkim-atps=neutral",
            "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org\n (client-ip=172.105.4.254; helo=tor.source.kernel.org;\n envelope-from=frederic@kernel.org; receiver=lists.ozlabs.org)"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\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 4gBqRX2l8Yz1yJq\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 08 May 2026 23:17:44 +1000 (AEST)",
            "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4gBqRW4D5Qz3bV5;\n\tFri, 08 May 2026 23:17:43 +1000 (AEST)",
            "from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254])\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 lists.ozlabs.org (Postfix) with ESMTPS id 4gBqRV4Qk6z2xdb\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 08 May 2026 23:17:42 +1000 (AEST)",
            "from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby tor.source.kernel.org (Postfix) with ESMTP id 91BC96024D;\n\tFri,  8 May 2026 13:17:40 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPSA id 2D116C2BCB0;\n\tFri,  8 May 2026 13:17:32 +0000 (UTC)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1778246263;\n\tcv=none;\n b=Oljhkbl36ehf1Q4xCa3SZ7E9G9wIFLrAjE3ql13LStIKlk6oGp9CbVAcrfQiamT06g9qlrREjEHJ95FoYCHvDYkVzLQzeu74EpQjbFgXjaWPNtFINpIBXTBbonOvvC6m1w5HAqNeixuEbXeg8ouVIfCf1+iv3KwiT9+dPv+ecFqlKvc6KlnDbHw6qp161AdEDO0QsAvBFuBNzSMTFVdG8s6aepl+zUAtk/jUgA1+PAbaUjY+dDYLBrXa9H4kd7Dksu1JRAhqiizVBSvXDL6UiyTczxEPNDz8YF30RYwVhkETKvnK9DscS7QTHb0SzuQXIbmjwSbcUN3+88DT1dFXjA==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1778246263; c=relaxed/relaxed;\n\tbh=56dl7piEt5W49y7P1/6xFZhTBQW5YngM5leAsFyZCwU=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=Ggqyz9NydBhqsnB/HyXOLYTjhlhEROTPKAkcaUtreCSiBlEwBS/7JxlzX9Dma/j3BRppOxzcJ3GIexbJLxgqG8gdWUQMA3v3kNHybANpsxfueCl2B9QM4qRiHErmP76IFTIEZjV+U7QzEBIGa9PAx35wudbjexhpEKpAVe/JVizC1v4YWG5UZuo7R0Nuf+VPIIGvY1+2Y8qs+eJ0565EPa4mmn0dgDt/9IWCtDOsnROTikP3/SRb85EvfV8DL3WToXpwiVAsVtu6tgUNezqnzO8rueLwNTmJmqaq/OeBE3IX8K/8Sy5noUrnPTlg1rF/8dMv0mC6Q7kpGp5rTtVT2w==",
        "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=uT3EcJA9; dkim-atps=neutral;\n spf=pass (client-ip=172.105.4.254; helo=tor.source.kernel.org;\n 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=1778246260;\n\tbh=TbrPEhVX/igEs+MmhrIy+VCqGKhF6VfpvSeULGAx7Zw=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=uT3EcJA90TiTnl3rNvUncTFnfvsRldHnfNR1WH6NNeS/EcuBpU31PQq0Zp8ja1vbf\n\t p3A4NETSsjVQ2TL3XtTBr2wUJH/E+/TxRa8YDKaVFAapbHZuJDkvXKT85rYG4kAsY2\n\t hXoksiMA6fivRBEnXkuMYQnbeg6CYYtJMVqGJE7gxvH2eF/yirfzt5S8jM9wT18hf1\n\t B2Bm2dS5EUO5CixP7OaC/SnPpacWDjJRSo0BuAI2bPjsMtkRvtpEOAyH4Lfqs8XYzD\n\t RmUA7nhNm2jdM6MwCuFOr7THD2/yWDMmZ+/FejbJHFLhUX55jHqQa5n0zuKR5S+lI3\n\t N0bBPKLOm7qvw==",
        "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 04/15] sched/cputime: Correctly support generic vtime idle\n time",
        "Date": "Fri,  8 May 2026 15:16:36 +0200",
        "Message-ID": "<20260508131647.43868-5-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": "Currently whether generic vtime is running or not, the idle cputime is\nfetched from the nohz accounting.\n\nHowever generic vtime already does its own idle cputime accounting. Only\nthe kernel stat accessors are not plugged to support it.\n\nRead the idle generic vtime cputime when it's running, this will allow\nto later more clearly split nohz and vtime cputime accounting.\n\nSigned-off-by: Frederic Weisbecker <frederic@kernel.org>\nTested-by: Shrikanth Hegde <sshegde@linux.ibm.com>\n---\n include/linux/vtime.h    |  9 +++++++--\n kernel/sched/cputime.c   | 38 +++++++++++++++++++++++++++++---------\n kernel/time/tick-sched.c | 12 +++++++++---\n 3 files changed, 45 insertions(+), 14 deletions(-)",
    "diff": "diff --git a/include/linux/vtime.h b/include/linux/vtime.h\nindex 29dd5b91dd7d..336875bea767 100644\n--- a/include/linux/vtime.h\n+++ b/include/linux/vtime.h\n@@ -10,7 +10,6 @@\n  */\n #ifdef CONFIG_VIRT_CPU_ACCOUNTING\n extern void vtime_account_kernel(struct task_struct *tsk);\n-extern void vtime_account_idle(struct task_struct *tsk);\n #endif /* !CONFIG_VIRT_CPU_ACCOUNTING */\n \n #ifdef CONFIG_VIRT_CPU_ACCOUNTING_GEN\n@@ -27,7 +26,13 @@ static inline void vtime_guest_exit(struct task_struct *tsk) { }\n static inline void vtime_init_idle(struct task_struct *tsk, int cpu) { }\n #endif\n \n+static inline bool vtime_generic_enabled_cpu(int cpu)\n+{\n+\treturn context_tracking_enabled_cpu(cpu);\n+}\n+\n #ifdef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE\n+extern void vtime_account_idle(struct task_struct *tsk);\n extern void vtime_account_irq(struct task_struct *tsk, unsigned int offset);\n extern void vtime_account_softirq(struct task_struct *tsk);\n extern void vtime_account_hardirq(struct task_struct *tsk);\n@@ -74,7 +79,7 @@ static inline bool vtime_accounting_enabled(void)\n \n static inline bool vtime_accounting_enabled_cpu(int cpu)\n {\n-\treturn context_tracking_enabled_cpu(cpu);\n+\treturn vtime_generic_enabled_cpu(cpu);\n }\n \n static inline bool vtime_accounting_enabled_this_cpu(void)\ndiff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c\nindex caaaf0a04ced..815d0f772cae 100644\n--- a/kernel/sched/cputime.c\n+++ b/kernel/sched/cputime.c\n@@ -773,9 +773,9 @@ void vtime_guest_exit(struct task_struct *tsk)\n }\n EXPORT_SYMBOL_GPL(vtime_guest_exit);\n \n-void vtime_account_idle(struct task_struct *tsk)\n+static void __vtime_account_idle(struct vtime *vtime)\n {\n-\taccount_idle_time(get_vtime_delta(&tsk->vtime));\n+\taccount_idle_time(get_vtime_delta(vtime));\n }\n \n void vtime_task_switch_generic(struct task_struct *prev)\n@@ -784,7 +784,7 @@ void vtime_task_switch_generic(struct task_struct *prev)\n \n \twrite_seqcount_begin(&vtime->seqcount);\n \tif (vtime->state == VTIME_IDLE)\n-\t\tvtime_account_idle(prev);\n+\t\t__vtime_account_idle(vtime);\n \telse\n \t\t__vtime_account_kernel(prev, vtime);\n \tvtime->state = VTIME_INACTIVE;\n@@ -926,6 +926,7 @@ static int kcpustat_field_vtime(u64 *cpustat,\n \t\t\t\tint cpu, u64 *val)\n {\n \tstruct vtime *vtime = &tsk->vtime;\n+\tstruct rq *rq = cpu_rq(cpu);\n \tunsigned int seq;\n \n \tdo {\n@@ -967,6 +968,14 @@ static int kcpustat_field_vtime(u64 *cpustat,\n \t\t\tif (state == VTIME_GUEST && task_nice(tsk) > 0)\n \t\t\t\t*val += vtime->gtime + vtime_delta(vtime);\n \t\t\tbreak;\n+\t\tcase CPUTIME_IDLE:\n+\t\t\tif (state == VTIME_IDLE && !atomic_read(&rq->nr_iowait))\n+\t\t\t\t*val += vtime_delta(vtime);\n+\t\t\tbreak;\n+\t\tcase CPUTIME_IOWAIT:\n+\t\t\tif (state == VTIME_IDLE && atomic_read(&rq->nr_iowait) > 0)\n+\t\t\t\t*val += vtime_delta(vtime);\n+\t\t\tbreak;\n \t\tdefault:\n \t\t\tbreak;\n \t\t}\n@@ -1029,8 +1038,8 @@ static int kcpustat_cpu_fetch_vtime(struct kernel_cpustat *dst,\n \t\t*dst = *src;\n \t\tcpustat = dst->cpustat;\n \n-\t\t/* Task is sleeping, dead or idle, nothing to add */\n-\t\tif (state < VTIME_SYS)\n+\t\t/* Task is sleeping or dead, nothing to add */\n+\t\tif (state < VTIME_IDLE)\n \t\t\tcontinue;\n \n \t\tdelta = vtime_delta(vtime);\n@@ -1039,15 +1048,17 @@ static int kcpustat_cpu_fetch_vtime(struct kernel_cpustat *dst,\n \t\t * Task runs either in user (including guest) or kernel space,\n \t\t * add pending nohz time to the right place.\n \t\t */\n-\t\tif (state == VTIME_SYS) {\n+\t\tswitch (state) {\n+\t\tcase VTIME_SYS:\n \t\t\tcpustat[CPUTIME_SYSTEM] += vtime->stime + delta;\n-\t\t} else if (state == VTIME_USER) {\n+\t\t\tbreak;\n+\t\tcase VTIME_USER:\n \t\t\tif (task_nice(tsk) > 0)\n \t\t\t\tcpustat[CPUTIME_NICE] += vtime->utime + delta;\n \t\t\telse\n \t\t\t\tcpustat[CPUTIME_USER] += vtime->utime + delta;\n-\t\t} else {\n-\t\t\tWARN_ON_ONCE(state != VTIME_GUEST);\n+\t\t\tbreak;\n+\t\tcase VTIME_GUEST:\n \t\t\tif (task_nice(tsk) > 0) {\n \t\t\t\tcpustat[CPUTIME_GUEST_NICE] += vtime->gtime + delta;\n \t\t\t\tcpustat[CPUTIME_NICE] += vtime->gtime + delta;\n@@ -1055,6 +1066,15 @@ static int kcpustat_cpu_fetch_vtime(struct kernel_cpustat *dst,\n \t\t\t\tcpustat[CPUTIME_GUEST] += vtime->gtime + delta;\n \t\t\t\tcpustat[CPUTIME_USER] += vtime->gtime + delta;\n \t\t\t}\n+\t\t\tbreak;\n+\t\tcase VTIME_IDLE:\n+\t\t\tif (atomic_read(&cpu_rq(cpu)->nr_iowait) > 0)\n+\t\t\t\tcpustat[CPUTIME_IOWAIT] += delta;\n+\t\t\telse\n+\t\t\t\tcpustat[CPUTIME_IDLE] += delta;\n+\t\t\tbreak;\n+\t\tdefault:\n+\t\t\tWARN_ON_ONCE(1);\n \t\t}\n \t} while (read_seqcount_retry(&vtime->seqcount, seq));\n \ndiff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c\nindex 171393367b5c..597c3a0682e7 100644\n--- a/kernel/time/tick-sched.c\n+++ b/kernel/time/tick-sched.c\n@@ -783,9 +783,10 @@ static void tick_nohz_start_idle(struct tick_sched *ts)\n \tsched_clock_idle_sleep_event();\n }\n \n-static u64 get_cpu_sleep_time_us(struct tick_sched *ts, ktime_t *sleeptime,\n+static u64 get_cpu_sleep_time_us(int cpu, enum cpu_usage_stat idx, ktime_t *sleeptime,\n \t\t\t\t bool compute_delta, u64 *last_update_time)\n {\n+\tstruct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu);\n \tktime_t now, idle;\n \tunsigned int seq;\n \n@@ -796,6 +797,11 @@ static u64 get_cpu_sleep_time_us(struct tick_sched *ts, ktime_t *sleeptime,\n \tif (last_update_time)\n \t\t*last_update_time = ktime_to_us(now);\n \n+\tif (vtime_generic_enabled_cpu(cpu)) {\n+\t\tidle = kcpustat_field(idx, cpu);\n+\t\treturn ktime_to_us(idle);\n+\t}\n+\n \tdo {\n \t\tktime_t delta = 0;\n \n@@ -834,7 +840,7 @@ u64 get_cpu_idle_time_us(int cpu, u64 *last_update_time)\n {\n \tstruct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu);\n \n-\treturn get_cpu_sleep_time_us(ts, &ts->idle_sleeptime,\n+\treturn get_cpu_sleep_time_us(cpu, CPUTIME_IDLE, &ts->idle_sleeptime,\n \t\t\t\t     !nr_iowait_cpu(cpu), last_update_time);\n }\n EXPORT_SYMBOL_GPL(get_cpu_idle_time_us);\n@@ -860,7 +866,7 @@ u64 get_cpu_iowait_time_us(int cpu, u64 *last_update_time)\n {\n \tstruct tick_sched *ts = &per_cpu(tick_cpu_sched, cpu);\n \n-\treturn get_cpu_sleep_time_us(ts, &ts->iowait_sleeptime,\n+\treturn get_cpu_sleep_time_us(cpu, CPUTIME_IOWAIT, &ts->iowait_sleeptime,\n \t\t\t\t     nr_iowait_cpu(cpu), last_update_time);\n }\n EXPORT_SYMBOL_GPL(get_cpu_iowait_time_us);\n",
    "prefixes": [
        "04/15"
    ]
}