Received: by 2002:a05:7208:9594:b0:7e:5202:c8b4 with SMTP id gs20csp182287rbb; Fri, 23 Feb 2024 17:07:59 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVoP6Ko6S9XdtG9BMwjK7IZLsa9N2uxeY6GDbOIUMSXOJSmUuzu6fGI8HUu8u4Lb6A3sk3LCGa4Uq6B3h/B3+4TyuSGCkI8uesButeszQ== X-Google-Smtp-Source: AGHT+IEkLybMDIceSnBJTQaWKs/OSxGYdgtTOW86kkL9iSI/2XqdfG0oUrBDswIHCIBgakejev7Q X-Received: by 2002:a05:6a20:ce4a:b0:19e:9a59:20df with SMTP id id10-20020a056a20ce4a00b0019e9a5920dfmr1668093pzb.9.1708736879036; Fri, 23 Feb 2024 17:07:59 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708736879; cv=pass; d=google.com; s=arc-20160816; b=IE7yv0ygsrEqfUpwPQlL1IjsF4QJ58bCkmaJfUt6BCICg5N4GjExBEGpzzdjG1q8aY Bxb+XSSOwcvn40JsOIgC7pp5S6q0MxFrSrzOStllA+rfP7zfxecXwdqfgArN38APUDH4 SEHeJIwkjU8Bkf4jOljb1SQwo5XtkkCHQT5JTzmrxNnuVZ+PXY+tZbm9WI7lCAtWCQen 8zFDmHW20JZewHXWfcYn2/GT3Be/VXTwdVCn14Xy9l/+IFDuJTLuoSsFfo0MlD3krP75 dxrh+GpR9k5G8yvMrXGhF7Zu3u0sAHYl6jXetjiMsND2NIwIztLDSta0YH2mgffb5GcE W1Lg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:user-agent:references:in-reply-to :message-id:cc:to:from:subject:date:dkim-signature; bh=UFJVKB0jO2kF2PdIkatz+9LgII0tprNiLFYQnozArLo=; fh=LtukpPI3/zeE2EzBfl7MJLkcfkNyRPwFPCQaU/tQMP8=; b=0eAB2d8OvjNbcOZrqNQmS+hUiYOrOa42pG2yY1OXYNSM7Cs4Yq9UoSKusF8SvnlJyL 7J+bVgonBo8SrPT6MRInXkC+1MUA6Vj1vVAdDXQmTkm8UL2Ob7QxBQzniXeQqUozD3ht pRzignK39T0umWNteQV+wGu+JIaYMOIQQgevtnCqwAe7IgUxj3ZzhOynQ12jg2CWA8Nm OgAKGJL41Qf57Bc+kBOIT2iw80CADMs4XaXQHz1h+LFg66zaD0d5MIpjRYB9aEGIsxEj b62bxDPlAE8bMaxPKi73clD0C3bi3sw8nONw3CHiZNSEfemoILsO69yJ6eSu4Ofp0NmB /b2Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PQGKCpn5; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79382-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79382-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id d14-20020a056a00198e00b006e45dd17e7csi126560pfl.311.2024.02.23.17.07.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Feb 2024 17:07:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-79382-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PQGKCpn5; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79382-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79382-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 5A89BB22C0F for ; Sat, 24 Feb 2024 01:07:56 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 98C454439; Sat, 24 Feb 2024 01:07:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PQGKCpn5" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA42E15A4; Sat, 24 Feb 2024 01:07:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708736865; cv=none; b=C6sMwRdqAOlP4UhKfguiEMEGbfKXrcd+ka3cfBSMBs3l9zyBhqMThuqvKzjkbrNF4jTK+MalrZHkBo9sJrvaOEUzxQBji4BA2bBv40pzCVyjfd4MYxx1wkBonFlEE59pyw/1MQSoGSLjPc57ekQa2voFVW5whhxLDYujsi95p9c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708736865; c=relaxed/simple; bh=WoZFoJDWEXQaGSjeUf5+KJsz6UfuL++KLHOFzZuC9OE=; h=Date:Subject:From:To:Cc:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=eBz1ipx7d1DjqfZ7sXs9ypCRibc6kZMGjlLCzUw6EW+71kjC5Mcmy22ALGRGu60FLCcG8bP57o9gtx+YbrhAld9byDZHuy5RF9RdgrDSlxE2bAEGk5RkILhjO+2sR8rOA/w656jt8XVOraj3NJNAwkA4kO0bLZeFMQVmPGpNHSU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PQGKCpn5; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41A12C433C7; Sat, 24 Feb 2024 01:07:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708736865; bh=WoZFoJDWEXQaGSjeUf5+KJsz6UfuL++KLHOFzZuC9OE=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=PQGKCpn5EWJSf0I2nMRHHok36LaJQBXJdsAkO2Vz/4gXBwPYDex5wJVIM3rttRBfp w9jhMkdsJVRRTH73itm0iSgxrohA3MoSy64qWV0BycFoMRMmsCjvtF620tJfWlRYP1 MWpE/ZOQU9O26uVN+d6K2JZdLhSX/qSgJI0z2rUtKimqfDWKUvqpwQRha4PKL0IPwN wawskSC4fY/rEH2ePMFcv/CtFwTdjRjY7tRXNGKW7YYKAoN4BDlUEG9nSgEFauNPFs zFTQkBMRT5HpTXdrIgKOqXhhGdUmqnUhDso9UWrk/KQCgFU6OS866SWUI5tl2lZ2k/ syzI1iU/2fwrQ== Date: Fri, 23 Feb 2024 17:07:44 -0800 Subject: [PATCHSET 1/6] time_stats: promote to lib/ From: "Darrick J. Wong" To: akpm@linux-foundation.org, daniel@gluo.nz, kent.overstreet@linux.dev, djwong@kernel.org Cc: Dave Chinner , Theodore Ts'o , Coly Li , linux-xfs@vger.kernel.org, linux-bcachefs@vger.kernel.org, linux-kernel@vger.kernel.org Message-ID: <170873667479.1860799.16660964083961996807.stgit@frogsfrogsfrogs> In-Reply-To: <20240224010017.GM6226@frogsfrogsfrogs> References: <20240224010017.GM6226@frogsfrogsfrogs> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Hi all, This is Kent Overstreet's series to lift the mean and variance computation code, as well as the time statistics code, to become generic library code. If you're going to start using this code, I strongly recommend pulling from my git trees, which are linked below. This has been running on the djcloud for months with no problems. Enjoy! Comments and questions are, as always, welcome. --D kernel git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=timestats-hoist --- Commits in this patchset: * mean and variance: Promote to lib/math * eytzinger: Promote to include/linux/ * bcachefs: bch2_time_stats_to_seq_buf() * time_stats: Promote to lib/ --- MAINTAINERS | 22 ++ fs/bcachefs/Kconfig | 10 - fs/bcachefs/Makefile | 3 fs/bcachefs/alloc_foreground.c | 13 - fs/bcachefs/bcachefs.h | 11 + fs/bcachefs/bset.c | 2 fs/bcachefs/btree_cache.c | 2 fs/bcachefs/btree_gc.c | 2 fs/bcachefs/btree_io.c | 8 - fs/bcachefs/btree_iter.c | 8 - fs/bcachefs/btree_locking.h | 2 fs/bcachefs/btree_update_interior.c | 8 - fs/bcachefs/io_read.c | 4 fs/bcachefs/io_write.c | 4 fs/bcachefs/journal.c | 5 - fs/bcachefs/journal_io.c | 9 - fs/bcachefs/journal_reclaim.c | 9 - fs/bcachefs/journal_seq_blacklist.c | 6 - fs/bcachefs/journal_types.h | 11 - fs/bcachefs/nocow_locking.c | 2 fs/bcachefs/replicas.c | 19 +- fs/bcachefs/replicas.h | 3 fs/bcachefs/super-io.h | 2 fs/bcachefs/super.c | 14 + fs/bcachefs/util.c | 339 ++-------------------------------- fs/bcachefs/util.h | 86 --------- include/linux/eytzinger.h | 58 +++--- include/linux/mean_and_variance.h | 0 include/linux/time_stats.h | 134 +++++++++++++ lib/Kconfig | 4 lib/Kconfig.debug | 9 + lib/Makefile | 2 lib/math/Kconfig | 3 lib/math/Makefile | 2 lib/math/mean_and_variance.c | 3 lib/math/mean_and_variance_test.c | 3 lib/sort.c | 89 +++++++++ lib/time_stats.c | 271 +++++++++++++++++++++++++++ 38 files changed, 662 insertions(+), 520 deletions(-) rename fs/bcachefs/eytzinger.h => include/linux/eytzinger.h (77%) rename fs/bcachefs/mean_and_variance.h => include/linux/mean_and_variance.h (100%) create mode 100644 include/linux/time_stats.h rename fs/bcachefs/mean_and_variance.c => lib/math/mean_and_variance.c (99%) rename fs/bcachefs/mean_and_variance_test.c => lib/math/mean_and_variance_test.c (99%) create mode 100644 lib/time_stats.c