[{"id":3675885,"web_url":"http://patchwork.ozlabs.org/comment/3675885/","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=hV5G=CJ=vger.kernel.org=sparclinux+bounces-6687-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","sparclinux@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=WXkk7MjG;\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=hv5g=cj=vger.kernel.org=sparclinux+bounces-6687-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=172.232.135.74\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=WXkk7MjG;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.232.135.74; helo=sto.lore.kernel.org;\n envelope-from=sparclinux+bounces-6687-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=\"WXkk7MjG\"","smtp.subspace.kernel.org;\n arc=pass smtp.client-ip=74.125.82.49","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)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fsdGX5S5Bz1yGS\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 23:40:20 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4fsdGX4wdmz4wJ7\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 23:40:20 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4fsdGX4s1Rz4wSL; Fri, 10 Apr 2026 23:40:20 +1000 (AEST)","from sto.lore.kernel.org (sto.lore.kernel.org [172.232.135.74])\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 4fsdGS6RRvz4wJ7\n\tfor <patchwork-incoming@ozlabs.org>; Fri, 10 Apr 2026 23:40:16 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id B555130164AF\n\tfor <patchwork-incoming@ozlabs.org>; Fri, 10 Apr 2026 13:40:13 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id E2D443C5DA8;\n\tFri, 10 Apr 2026 13:40:09 +0000 (UTC)","from mail-dl1-f49.google.com (mail-dl1-f49.google.com\n [74.125.82.49])\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 3C1843C553F\n\tfor <sparclinux@vger.kernel.org>; Fri, 10 Apr 2026 13:40:08 +0000 (UTC)","by mail-dl1-f49.google.com with SMTP id\n a92af1059eb24-128e4d0cc48so9423203c88.1\n        for <sparclinux@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=1775828420; cv=pass;\n\tb=qhKaIll7lsIWmu/7tBJp5kHpb1dxW4EraUREumYdtAZ/s+ubN/P5LfVJ/TepwvB0VdDZ8ffIgWMTavog778V7wu7kpTfubIJS2UUBoibCscq0Ilz2src8mpY0L7u8BmhNsHgBOr+5uWxCIH9LJ1DJIv3X7JdesbSVVSXB3lrhboiEcjeuD1+qm79Y5u56OqtLOifjR3nBIWeiw6hN8QZX1dyzuFmefnDcl79wMUdAZ48vx8hE//+ks4UArDiAUjdaN7PrfPPcYe3gcqW9TJ1nW5ExZ0OCvA81bIrxQmSyTMoyHtiUei21rXlK4mbc4hAosg4ZRcN9LwQiY+ZSPQIgw==","i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775828409; cv=pass;\n b=HH6v797T/uxHwNEE2WiOvzCUBFYJ+q09P1n6+nvajVrvoGHw8/xoGYl+WZDuX1iXA9AHx1aw06PXawTP5fo301DHkYsZC3y4JqIhHN92840NaVIYAJNXFc5s9ous4SCLsiU7omNEzAbQllQLRA/Pg/qMdyXfcsxkPL5oDz5Ssn0=","i=1; a=rsa-sha256; t=1775828407; cv=none;\n        d=google.com; s=arc-20240605;\n        b=hLS9YNTnvwOBoJJEQpSJylZ+F5KEWwZ/FqH0RzhruFigEBBTeC73CHJhUTXJcXiZtY\n         3L4t/bdxC6gCY9szMnKV0H0ewY6CmQVHArt3dG8lD4Xia/flwvN29NV/BlUSR24HVD8W\n         u1xPSHCxgQwe0PKrPmz1xNIqdcljewgIqJFoKVKsIeI/wABCZ+3KUBAdCseDb2fnTLeL\n         PpK8uWwmXgckhMtSoid9gMBTHfspSnrPn7GT7x0SmNWAgC4ydBUp3ylrUDHWZYII6DzA\n         WrEFl90rN7G3Gkqur7mFqKTsKqew4aqUPwfLz+OlCKDPeceMHvLwTwOePHYKfqguTSdI\n         x4RQ=="],"ARC-Message-Signature":["i=3; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1775828420; 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=GSi+CIlT5DV+X56Flkugjm0nsckrwAQzi1E+Bx7NlMfvqIJO+x/UDDRufo8lYk2+dazuwGZM92pHI33sbjKUBXDsGZahRjGlfxTff/oOe3CK3dB2S4ET+y9WxgKIcS/sf6hTiIyL1vsATmvnfg4oU6MxESygZvMyflcGv9ymMFR7IojEY+cXra9JhuBp0ZQTT8PIZ3riFjZiFJgUaQ74xmvLrbZmSSK+NPlDsW3BtnZMoyLFnCnirOcS1UC5j3djOWYow8QNqcM+q+7yKlWsJR1pShKhIpOpp4r5gDf+0AKSi6LJQQc2I9I8Tkh4ti0dXkqWdEDRBKyLm8fDHs+3Lg==","i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775828409; 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=eIMaxW8jLtbWR3hVjZbpmw3t3q6EFnzQIl75U4063oGC2Npyu5WWRqgkCa323/nH46BXYPOEvL+bXgpl860GxmzFEUxSxrV9wR6/kKcLzKIUmmblcnlWo2uMVSk/+loI0hm0EnG/jOb1IJ7VEb2FYBAjUwropQOqmGGR+aqNEzo=","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=4DxECkPNyL6gIdHbw/uOOFjgFJa/IJmm3H1l5NX0uW4=;\n        b=NXNesniKCOsURpJrDMUi+iUhfEIRSopQDcrFiRyt2a3WHBeiBBGIkzW5CsdKd7aANT\n         2fgetNUbocRayY4eAPC+XjKnrPhu2obOpuI917szzUZvyAbArTHnzMyQ1OEBrjKtcjl4\n         T6ExzSg5aDifVrK+/jnx7Sf7QO3K28n9CZpOyUMKhmA2fPHpMbbrrdOrZxD2UXoiDldM\n         wJIR9gh1Z/oBU+ZS+y6bnDXGWC8b4o/Sw8+HmmUIYtJM/wK48WJg7ZF/fifBm9tGNDB+\n         LRLHgTut0HZOvITZkD+Uw/URg3VvdJpGbagVvs/QzfCHA5GACJfZVOUL+RT4CLL4Slad\n         RCXQ==;\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=WXkk7MjG; dkim-atps=neutral;\n spf=pass (client-ip=172.232.135.74; helo=sto.lore.kernel.org;\n envelope-from=sparclinux+bounces-6687-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=WXkk7MjG; arc=pass smtp.client-ip=74.125.82.49","i=1; mx.google.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=google.com; s=20251104; t=1775828407; x=1776433207;\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=WXkk7MjGsWCUHEg1iU7liVQxxmn76Z2Blc65Af4B1zix0M2rF8QfzApVNMifY6ss0I\n         o28bXJ2WoZKKs4P+RMYVL7Cyz5rTozkqN1LFEZKxQrY0UWy/+P4MTVZ7JlV/GmTfYw7g\n         BHdpmSI3dFIhezek0dIMEojwsl7VI9CpBDtWrVKxWRCyxE8FKu9tCx05MK1Z19mpDbLY\n         UAmVUcxpvcLdZE3bWKkeviuFv+z6weHemrn+Q1dbNj19BdhmlV3lYWFxMcZ5yjPYSXjG\n         1ICMvCFl+bVV4g0F5SiLzhG+oRaoJBenKb2hyA5tkvyV436rK7zq2Le6HAfSbviCkDzM\n         W8gA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775828407; x=1776433207;\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=bUDeOUVHU7dRcay5d9LCM7JDkVM6nucBDENc9HBcy+e/S+d0cxd8FwvdvV5fUuu8O1\n         lcnVC3D0O+3SkgBKz/vyIj22Rm3j7yBEM6078lGcllFvNN6sovSHQHeoC/dsf8csdlQn\n         ZsGDPz2p5tHCoetiQmfCvblgLb/eYXx1S0y/QQD8Lvl4CY4zDADQA8IL58VvchMR4OXl\n         xpKoTKzpXCAhFKqYASRvEp/P+3zEEfYv4lwE3Clqf6w/43WWfvdXU6NhYv8rRPCC3BOt\n         7lCHKwJfafry2r7QspJso5qvZ9V5Bh//Q7cKG7ciD9x8xbLEXftz9DB+ZHlI/21BYhYC\n         Ku5w==","X-Forwarded-Encrypted":"i=1;\n AJvYcCXnocfRQGoDrK1lX28WJaUqMQlQ9t8Hmjn6YHx4MES8mxgOjKK6ssb36UMy89IpL6dvQox2AnvfQNJm@vger.kernel.org","X-Gm-Message-State":"AOJu0YxdR0xDy0Ii3+IdLz4MbuE2CU3XrCtSwVNzkKdHH28RmkW29P26\n\t0X7EzPPerDVeu+u8OCQlIjUehNVUgsyrE6mB/FDl70ck8AUUEbqYbEBJL4VKLbMNIfBK9t8/Tyn\n\t+tYirceGUwU1OKNEK7xGlq7tXp7xbyXc5uEdffMEZ","X-Gm-Gg":"AeBDiev8O2nWzXbTpaWlpEIg0SRvPkTPOuqdNpyTmG3DGKBnZX78I4h0Io7nOFgwiQE\n\tfiH4YLY5KPWAWixD/7qHFpVhGvfSnSJUAv/qsjOIMk8i9v+zIn7v/PdP3tXKwzh5jjnmAwJysfB\n\tEJ8zjdt3KjcGdLrSQmlROMpHDSGGK6w/9B81zecABkIEDsrVziwzsFFPOsW5gkPUd9pK0WdzwkU\n\tDWVTv5o4U8+DcPmjOfjteOWyLyqcHLu9z62Wf1NMRj1beyZbtPZrthASMSKKYCUhZ+w8CNAi3uT\n\tuBYD2lW8CLGodgz/lmHW0z40ZnZ0AA4+FjJSDVQyfuVX6jeE","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":"sparclinux@vger.kernel.org","List-Id":"<sparclinux.vger.kernel.org>","List-Subscribe":"<mailto:sparclinux+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:sparclinux+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"}}]