[PATCHSET 1/6] time_stats: promote to lib/

From: Darrick J. Wong
Date: Fri Feb 23 2024 - 20:07:54 EST


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