[{"id":3675887,"web_url":"http://patchwork.ozlabs.org/comment/3675887/","msgid":"<CANpmjNO1vsO1LT6xijhz3nsjQa+_A=9omfgOSz=aGn293-LqTg@mail.gmail.com>","list_archive_url":null,"date":"2026-04-10T13:39:30","subject":"Re: [patch 19/38] kcsan: Replace get_cycles() usage","submitter":{"id":77293,"url":"http://patchwork.ozlabs.org/api/people/77293/","name":"Marco Elver","email":"elver@google.com"},"content":"On Fri, 10 Apr 2026 at 14:20, Thomas Gleixner <tglx@kernel.org> wrote:\n>\n> KCSAN uses get_cycles() for two purposes:\n>\n>   1) Seeding the random state with get_cycles() is a historical leftover.\n>\n>   2) The microbenchmark uses get_cycles(), which provides an unit less\n>      counter value and is not guaranteed to be functional on all\n>      systems/platforms.\n>\n> Use random_get_entropy() for seeding the random state and ktime_get() which\n> is universaly functional and provides at least a comprehensible unit.\n>\n> This is part of a larger effort to remove get_cycles() usage from\n> non-architecture code.\n>\n> Signed-off-by: Thomas Gleixner <tglx@kernel.org>\n> Cc: Marco Elver <elver@google.com>\n> Cc: Dmitry Vyukov <dvyukov@google.com>\n> Cc: kasan-dev@googlegroups.com\n\nReviewed-by: Marco Elver <elver@google.com>\n\n> ---\n>  kernel/kcsan/core.c    |    2 +-\n>  kernel/kcsan/debugfs.c |    8 ++++----\n>  2 files changed, 5 insertions(+), 5 deletions(-)\n>\n> --- a/kernel/kcsan/core.c\n> +++ b/kernel/kcsan/core.c\n> @@ -798,7 +798,7 @@ void __init kcsan_init(void)\n>         BUG_ON(!in_task());\n>\n>         for_each_possible_cpu(cpu)\n> -               per_cpu(kcsan_rand_state, cpu) = (u32)get_cycles();\n> +               per_cpu(kcsan_rand_state, cpu) = (u32)random_get_entropy();\n>\n>         /*\n>          * We are in the init task, and no other tasks should be running;\n> --- a/kernel/kcsan/debugfs.c\n> +++ b/kernel/kcsan/debugfs.c\n> @@ -58,7 +58,7 @@ static noinline void microbenchmark(unsi\n>  {\n>         const struct kcsan_ctx ctx_save = current->kcsan_ctx;\n>         const bool was_enabled = READ_ONCE(kcsan_enabled);\n> -       u64 cycles;\n> +       ktime_t nsecs;\n>\n>         /* We may have been called from an atomic region; reset context. */\n>         memset(&current->kcsan_ctx, 0, sizeof(current->kcsan_ctx));\n> @@ -70,16 +70,16 @@ static noinline void microbenchmark(unsi\n>\n>         pr_info(\"%s begin | iters: %lu\\n\", __func__, iters);\n>\n> -       cycles = get_cycles();\n> +       nsecs = ktime_get();\n>         while (iters--) {\n>                 unsigned long addr = iters & ((PAGE_SIZE << 8) - 1);\n>                 int type = !(iters & 0x7f) ? KCSAN_ACCESS_ATOMIC :\n>                                 (!(iters & 0xf) ? KCSAN_ACCESS_WRITE : 0);\n>                 __kcsan_check_access((void *)addr, sizeof(long), type);\n>         }\n> -       cycles = get_cycles() - cycles;\n> +       nsecs = ktime_get() - nsecs;\n>\n> -       pr_info(\"%s end   | cycles: %llu\\n\", __func__, cycles);\n> +       pr_info(\"%s end   | nsecs: %llu\\n\", __func__, nsecs);\n>\n>         WRITE_ONCE(kcsan_enabled, was_enabled);\n>         /* restore context */\n>","headers":{"Return-Path":"\n <SRS0=ylww=CJ=vger.kernel.org=linux-ext4+bounces-15774-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-ext4@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256\n header.s=20251104 header.b=hQz2S2eA;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=ylww=cj=vger.kernel.org=linux-ext4+bounces-15774-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=\"2600:3c04:e001:36c::12fc:5321\"\n arc.chain=\"subspace.kernel.org:google.com\"","gandalf.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=google.com","gandalf.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256\n header.s=20251104 header.b=hQz2S2eA;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15774-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=google.com header.i=@google.com\n header.b=\"hQz2S2eA\"","smtp.subspace.kernel.org;\n arc=pass smtp.client-ip=74.125.82.41","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=google.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=google.com"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fsdHs1jrkz1yGS\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 23:41:29 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4fsdHs1Sx9z4wJ7\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 23:41:29 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4fsdHs1HlJz4wCx; Fri, 10 Apr 2026 23:41:29 +1000 (AEST)","from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\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 gandalf.ozlabs.org (Postfix) with ESMTPS id 4fsdHn46zhz4wJ7\n\tfor <patchwork-incoming@ozlabs.org>; Fri, 10 Apr 2026 23:41:25 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id EC662303A3F0\n\tfor <patchwork-incoming@ozlabs.org>; Fri, 10 Apr 2026 13:40:19 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 35AB73C3BE8;\n\tFri, 10 Apr 2026 13:40:11 +0000 (UTC)","from mail-dl1-f41.google.com (mail-dl1-f41.google.com\n [74.125.82.41])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 6058F3C5552\n\tfor <linux-ext4@vger.kernel.org>; Fri, 10 Apr 2026 13:40:08 +0000 (UTC)","by mail-dl1-f41.google.com with SMTP id\n a92af1059eb24-1279eced0b9so3035219c88.0\n        for <linux-ext4@vger.kernel.org>;\n Fri, 10 Apr 2026 06:40:08 -0700 (PDT)"],"ARC-Seal":["i=3; a=rsa-sha256; d=ozlabs.org; s=201707; t=1775828489; cv=pass;\n\tb=A1pZ97rqbvA+zB6BqghzCg+S6hBFp7dv+XDIQHiAGmNUeVOftv8NKGp61T+Re/Euy/+D+cPthWZMKPiSO4iQTUxA/JHxfJiNORDPWhoPCMAMELLnkQ9iAMkwInX+H9oRlsL1xFU/YVGB3sR5Q5Hsc24HFrDis26slplS/dKsWIVmwj5wo+sKAyQDC4Gcb7+YjAyET71ik7deHIcENwnEkse0KdSaFwHVB1PKC8zisZJhn7CiTmjzlmzkGXgjnJ0ghwcAFL+ChCEF6c0hMD9kNzO4otXYA/LsNLdkUFAqUz22Byd5iwFBpvo1aOUR6igfDTCYbfZZbZ8sM9fTSNGsdg==","i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775828411; cv=pass;\n b=LOfm673BumB/E/CdJyzcMxXhQuzFXCG+lVlHRNtp2K5sfUfIROHk0Go2rEq5m1fJvU1AHzqtFbyurKbqbUKEnN122q08UkC+EKCg4Y097uH6lNS9ME8uaFM2R7LEZ04pwRM+Q5wYmts46crBtw6ykfd9i5Al8Fd/uCcewjQRqac=","i=1; a=rsa-sha256; t=1775828408; cv=none;\n        d=google.com; s=arc-20240605;\n        b=lGtPvNew2hPlFr7cWuaqgKHO2GIpffMQvlHZ+DynRIPIsxPOFpq/g20PYX50DmMnB4\n         dHR79NyW/+ofde0z4wvMhvwGZU+jPKxPBpsmgAfVoMjbVfDQsG0lmWhY9g16+7BQfvvX\n         Uzg0lrNhf0373k1M1RTkQr7IfPwZa5Pe50Vlqr4V9x30iNWoyyjXUHL/cNjgm2+NUeMk\n         57jOmgCRrrBzONU8p2n+f05tmsJTUsCwvbaBpr7pfCLzJUb8GA6aDAyRAAT3BaA5FElE\n         KhD2qlGOvAGTt9CNkUb1JeyI8TI3r0tY3UfyKBUCr1y8NW21pTveXNbwvjpDEner5FOF\n         2+/A=="],"ARC-Message-Signature":["i=3; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1775828489; c=relaxed/relaxed;\n\tbh=iCXB7w7ko4o+lkpt1Tfr/OwLPxl1m2l/vGRhYm7vF9w=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=AkVygfFEcsPuTmQDoPZsWfZ/tMp8o/Z6MhZfK6vPQLnJ2HoYF0DRs3nFgDt7CJ7/9gsnCRKU/dnTr/5zGPRxc1qthZfU0Z0F+qQpB9GeF34DZDS952anT5iGOQypEIkw9rXBIeuIB+iNlCaCbDY18dFM2Eo8GqYOL9c77ccUW18jFQBp8cJWOrdav2ln8K8DBU5Y94coMblA4rV6Fh78+zm6dHz0tUrZ9lHI5e8IzxsVsjzchpT3cLNNPsKM/01oVc11AJARomAgXZkCqUKh8D2zYbbzXHoW5O8mn2vHriPqQJfwgyG1M3RrS4EPUpkV4KkAuVniezWhQCb2wvJvbg==","i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775828411; c=relaxed/simple;\n\tbh=LSR04DrYd2CNPoGkLuzcgQfT1tMVn5ZfdEM6iihG19s=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=obs8HteX9wjK7FNsnuUkr6MHsAmzBo2q37gI1xmG8O8uCgcGZjbVC0IZTwykbYgXiN+slK/N4cgtMqkuokLsieZON6CuuJaeH8p+YMJga0Ijf4/C9afUxW+XXRt8qHaVa3agI2OrzboLyL9BRmmdobpyMrIjH7XV3Bcgm1eAXwA=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=cc:to:subject:message-id:date:from:in-reply-to:references\n         :mime-version:dkim-signature;\n        bh=iCXB7w7ko4o+lkpt1Tfr/OwLPxl1m2l/vGRhYm7vF9w=;\n        fh=BVV6BLScTTV90/rc2mWtXf5WOHQ29/DJ2qwbcgnIObA=;\n        b=Qsi67m2aA+kN4pNAVrerayPj8bSA2T4KTUOPu0oD7zvdiWc+UnP4uqAcg60npwMWyQ\n         Ug2glRzZ78qO5tvWHsCQWEMT/pPvWbyjCUOZyNDSI+22g27dyuCiLxQIWEbxOcWc/9W1\n         24TtWcrmLuRlAwikxm0UcBeU9I9jngy91I1hBHSsXnpNVSpwHMtc0Hh9PCvsPcQI6gD5\n         fn6Wu8/+Stk7S+2Qy9el27zXLXQMjlt3lUNitoeWq2I2saYJgeHIkBhhpOLNIqUzsMVx\n         WQjtfsOoxaZxUxQC0ZF5ED/SzG8RjYBskZWMGbuE+pBmzqMBwcB7Xu83jSVvJ+FDcCs+\n         o1Jw==;\n        darn=vger.kernel.org"],"ARC-Authentication-Results":["i=3; gandalf.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=google.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256\n header.s=20251104 header.b=hQz2S2eA; dkim-atps=neutral;\n spf=pass (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-ext4+bounces-15774-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=google.com;\n spf=pass smtp.mailfrom=google.com;\n dkim=pass (2048-bit key) header.d=google.com header.i=@google.com\n header.b=hQz2S2eA; arc=pass smtp.client-ip=74.125.82.41","i=1; mx.google.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=google.com; s=20251104; t=1775828408; x=1776433208;\n darn=vger.kernel.org;\n        h=cc:to:subject:message-id:date:from:in-reply-to:references\n         :mime-version:from:to:cc:subject:date:message-id:reply-to;\n        bh=iCXB7w7ko4o+lkpt1Tfr/OwLPxl1m2l/vGRhYm7vF9w=;\n        b=hQz2S2eA6fQgX48yk+tCvNgyGHkH3in9ICr9R3nNckPAigBowZqMfigKifcIhzYpCM\n         Q+/YIz+ysefRWSUnNmhglkj0Uhveycw+tEIWYFQHXT9E/nijwSZWr1cQc+EZruQV8Nqi\n         QlM5/4ipSL9yaXfzuXui19XftHId/rwiyyNmw82ZK3yAYnqe2Jsfa8+R82+XyDhnQS3w\n         +8Ezg845wN/IHF1oYswYrjIG7lZ4ovtGU2QXhbAMZuo6Qlo9MMBbjDUDxglBQyOFbF9M\n         eRD8OEU1VW9NMn724QtVr84bSl+ZKF7XRo5VntGTmOidFOeqDYcwXhUTx6IDcDAt/NAr\n         x57g==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775828408; x=1776433208;\n        h=cc:to:subject:message-id:date:from:in-reply-to:references\n         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=iCXB7w7ko4o+lkpt1Tfr/OwLPxl1m2l/vGRhYm7vF9w=;\n        b=KbKj8pBQuq6/HhDCJGYMYon7DTy29uFQidWHRpbZnSJe4S2drD61VKqfhPcYfHkvbw\n         /RsnTXmjq+bawiTfiJO1hqR9tYdhGgaaVz7i7XvRs8+RNPxG0fs3W+PJNWSo/Ej5QKJL\n         zBf50zaBLyN60TaopQW6F5pJlpqICpfMRTn7GL3dsfrcXZZ+BwFouE5kSZT+tWZUIwhI\n         kNEALedmDbRF30PJDDCoGTwJBK1OjUEwwaqTwuzPEGPxIW0lOgDsVkkYTuZlJ3KTZWEj\n         3xNbWQIWFS9bemmN++I5nqguAs3qPKpzrjxQbWmvEfWHZGG2G5ENvvnTpwGxTSPjI+kh\n         txQA==","X-Forwarded-Encrypted":"i=1;\n AJvYcCUn9M9H4+kOVkSgkd9T2FQm8nmiAto6zL9bNPTb+sqWLgvHXroSwiJbp9yJr13oVxKEXTnvgSnP59dO@vger.kernel.org","X-Gm-Message-State":"AOJu0YwXoqSTn5SsDWJc85zdeCKn/NJ6NY5ih4viC4zZIKelJ3iYWNEa\n\tSevSOd3umms8MAmVM2ZLAtvSslJDAyFhItGBZXIlJi86riqh+fdxL/U8WXqu6tZuw/CASI7QTWJ\n\tbZF2JvvppmtDgox+m2WmzAw/VBSxjbz/aavaDuqLa","X-Gm-Gg":"AeBDievWrDw/6VdmI+QM4GROHgctZVSQYiU186VF2jzLQZzQkOYLjfX5KavQV943A1d\n\teG13a6BXxQQUQ9l3YiPZU3j+kTT8AzIj2GY6iyw+dRWzz1gYlw5TyMcMrSY2BJc4OhczcdLr+KA\n\ty1zrFUuZGPvYwzbX3Zhwfuv9fZiDKn/0KdqqGxpOg2HxfEGMRfogrBYwGnJmtBnKNz8Pnl/vYz0\n\tlWU4O0vkdalqkNUosJhJLSEXso9+mhKa21TiBaZtmDv4xvBTZacpD0zDF/qHJ8G001//Urwfk0X\n\t418+QLmgPzUI+3CBKasSde5JsEU861jcGYuk3bnokV0wub5D","X-Received":"by 2002:a05:7022:fa04:b0:12c:2ed4:62fa with SMTP id\n a92af1059eb24-12c34ef907emr1882312c88.32.1775828406651; Fri, 10 Apr 2026\n 06:40:06 -0700 (PDT)","Precedence":"bulk","X-Mailing-List":"linux-ext4@vger.kernel.org","List-Id":"<linux-ext4.vger.kernel.org>","List-Subscribe":"<mailto:linux-ext4+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-ext4+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<20260410120044.031381086@kernel.org>\n <20260410120318.862164111@kernel.org>","In-Reply-To":"<20260410120318.862164111@kernel.org>","From":"Marco Elver <elver@google.com>","Date":"Fri, 10 Apr 2026 15:39:30 +0200","X-Gm-Features":"AQROBzBE-9UxDQG5mMJLgipEeL_Y5pwE-Y_PUrJGxDBLilqBu51b8lLzxdip708","Message-ID":"\n <CANpmjNO1vsO1LT6xijhz3nsjQa+_A=9omfgOSz=aGn293-LqTg@mail.gmail.com>","Subject":"Re: [patch 19/38] kcsan: Replace get_cycles() usage","To":"Thomas Gleixner <tglx@kernel.org>","Cc":"LKML <linux-kernel@vger.kernel.org>, Dmitry Vyukov <dvyukov@google.com>,\n\tkasan-dev@googlegroups.com, Arnd Bergmann <arnd@arndb.de>, x86@kernel.org,\n\tLu Baolu <baolu.lu@linux.intel.com>, iommu@lists.linux.dev,\n\tMichael Grzeschik <m.grzeschik@pengutronix.de>, netdev@vger.kernel.org,\n\tlinux-wireless@vger.kernel.org, Herbert Xu <herbert@gondor.apana.org.au>,\n\tlinux-crypto@vger.kernel.org, Vlastimil Babka <vbabka@kernel.org>,\n linux-mm@kvack.org,\n\tDavid Woodhouse <dwmw2@infradead.org>, Bernie Thompson <bernie@plugable.com>,\n linux-fbdev@vger.kernel.org,\n\tTheodore Tso <tytso@mit.edu>, linux-ext4@vger.kernel.org,\n\tAndrew Morton <akpm@linux-foundation.org>,\n Uladzislau Rezki <urezki@gmail.com>,\n\tAndrey Ryabinin <ryabinin.a.a@gmail.com>,\n Thomas Sailer <t.sailer@alumni.ethz.ch>,\n\tlinux-hams@vger.kernel.org, \"Jason A. Donenfeld\" <Jason@zx2c4.com>,\n\tRichard Henderson <richard.henderson@linaro.org>,\n linux-alpha@vger.kernel.org,\n\tRussell King <linux@armlinux.org.uk>, linux-arm-kernel@lists.infradead.org,\n\tCatalin Marinas <catalin.marinas@arm.com>,\n Huacai Chen <chenhuacai@kernel.org>,\n\tloongarch@lists.linux.dev, Geert Uytterhoeven <geert@linux-m68k.org>,\n\tlinux-m68k@lists.linux-m68k.org, Dinh Nguyen <dinguyen@kernel.org>,\n\tJonas Bonn <jonas@southpole.se>, linux-openrisc@vger.kernel.org,\n\tHelge Deller <deller@gmx.de>, linux-parisc@vger.kernel.org,\n\tMichael Ellerman <mpe@ellerman.id.au>, linuxppc-dev@lists.ozlabs.org,\n\tPaul Walmsley <pjw@kernel.org>, linux-riscv@lists.infradead.org,\n\tHeiko Carstens <hca@linux.ibm.com>, linux-s390@vger.kernel.org,\n\t\"David S. Miller\" <davem@davemloft.net>, sparclinux@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\"","X-Spam-Status":"No, score=-8.7 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIMWL_WL_MED,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,\n\tHEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,\n\tSPF_PASS,USER_IN_DEF_DKIM_WL autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}}]