Re: [GIT PULL] bcachefs for v6.7

From: Geert Uytterhoeven
Date: Tue Oct 31 2023 - 11:00:50 EST


Hi Kent,

On Tue, Oct 31, 2023 at 3:45 PM Kent Overstreet
<kent.overstreet@xxxxxxxxx> wrote:
> On Tue, Oct 31, 2023 at 01:47:02PM +0100, Geert Uytterhoeven wrote:
> > On Mon, Oct 30, 2023 at 3:56 PM Kent Overstreet
> > <kent.overstreet@xxxxxxxxx> wrote:
> > > The following changes since commit 0bb80ecc33a8fb5a682236443c1e740d5c917d1d:
> > >
> > > Linux 6.6-rc1 (2023-09-10 16:28:41 -0700)
> > >
> > > are available in the Git repository at:
> > >
> > > https://evilpiepirate.org/git/bcachefs.git tags/bcachefs-2023-10-30
> > >
> > > for you to fetch changes up to b827ac419721a106ae2fccaa40576b0594edad92:
> > >
> > > exportfs: Change bcachefs fid_type enum to avoid conflicts (2023-10-26 16:41:00 -0400)
> > >
> > > ----------------------------------------------------------------
> > > Initial bcachefs pull request for 6.7-rc1
> > >
> > > Here's the bcachefs filesystem pull request.
> > >
> > > One new patch since last week: the exportfs constants ended up
> > > conflicting with other filesystems that are also getting added to the
> > > global enum, so switched to new constants picked by Amir.
> > >
> > > I'll also be sending another pull request later on in the cycle bringing
> > > things up to date my master branch that people are currently running;
> > > that will be restricted to fs/bcachefs/, naturally.
> > >
> > > Testing - fstests as well as the bcachefs specific tests in ktest:
> > > https://evilpiepirate.org/~testdashboard/ci?branch=bcachefs-for-upstream
> > >
> > > It's also been soaking in linux-next, which resulted in a whole bunch of
> > > smatch complaints and fixes and a patch or two from Kees.
> > >
> > > The only new non fs/bcachefs/ patch is the objtool patch that adds
> > > bcachefs functions to the list of noreturns. The patch that exports
> > > osq_lock() has been dropped for now, per Ingo.
> >
> > Thanks for your PR!
> >
> > > fs/bcachefs/mean_and_variance.c | 159 ++
> > > fs/bcachefs/mean_and_variance.h | 198 ++
> > > fs/bcachefs/mean_and_variance_test.c | 240 ++
> >
> > Looking into missing dependencies for MEAN_AND_VARIANCE_UNIT_TEST and
> > failing mean_and_variance tests, this does not seem to match what was
> > submitted for public review?
> >
> > Lore only has:
> > "[PATCH 31/32] lib: add mean and variance module."
> > https://lore.kernel.org/all/20230509165657.1735798-32-kent.overstreet@xxxxxxxxx/
>
> It was later moved back into fs/bcachefs/, yes. I want to consolidate
> the time stats code in bcachefs and bcachefs, so I'll be sending a PR to
> move it back out at some point.

OK.

> Can you point me at what's failing?

MEAN_AND_VARIANCE_UNIT_TEST should depend on BCACHEFS_FS, as the actual
mean_and_variance code is only compiled if BCACHEFS_FS is enabled.

On m68k (ARAnyM), it fails with:

KTAP version 1
1..1
KTAP version 1
# Subtest: mean and variance tests
# module: mean_and_variance_test
1..9
ok 1 mean_and_variance_fast_divpow2
ok 2 mean_and_variance_u128_basic_test
ok 3 mean_and_variance_basic_test
ok 4 mean_and_variance_weighted_test
ok 5 mean_and_variance_weighted_advanced_test
ok 6 mean_and_variance_test_1
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 22 (0x16)
mean[i] == 10 (0xa)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 32 (0x20)
stddev[i] == 9 (0x9)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 21 (0x15)
mean[i] == 10 (0xa)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 29 (0x1d)
stddev[i] == 9 (0x9)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 20 (0x14)
mean[i] == 10 (0xa)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 28 (0x1c)
stddev[i] == 9 (0x9)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 19 (0x13)
mean[i] == 10 (0xa)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 27 (0x1b)
stddev[i] == 9 (0x9)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 18 (0x12)
mean[i] == 10 (0xa)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 26 (0x1a)
stddev[i] == 9 (0x9)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 17 (0x11)
mean[i] == 10 (0xa)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 25 (0x19)
stddev[i] == 9 (0x9)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 16 (0x10)
mean[i] == 10 (0xa)
# mean_and_variance_test_2: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 24 (0x18)
stddev[i] == 9 (0x9)
not ok 7 mean_and_variance_test_2
ok 8 mean_and_variance_test_3
# mean_and_variance_test_4: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 22 (0x16)
mean[i] == 10 (0xa)
# mean_and_variance_test_4: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 32 (0x20)
stddev[i] == 9 (0x9)
# mean_and_variance_test_4: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 32 (0x20)
mean[i] == 11 (0xb)
# mean_and_variance_test_4: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 39 (0x27)
stddev[i] == 13 (0xd)
# mean_and_variance_test_4: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 40 (0x28)
mean[i] == 12 (0xc)
# mean_and_variance_test_4: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 42 (0x2a)
stddev[i] == 15 (0xf)
# mean_and_variance_test_4: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 46 (0x2e)
mean[i] == 13 (0xd)
# mean_and_variance_test_4: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 44 (0x2c)
stddev[i] == 17 (0x11)
# mean_and_variance_test_4: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:111
Expected mean_and_variance_get_mean(mv) == mean[i], but
mean_and_variance_get_mean(mv) == 50 (0x32)
mean[i] == 14 (0xe)
# mean_and_variance_test_4: EXPECTATION FAILED at
fs/bcachefs/mean_and_variance_test.c:112
Expected mean_and_variance_get_stddev(mv) == stddev[i], but
mean_and_variance_get_stddev(mv) == 45 (0x2d)
stddev[i] == 19 (0x13)
not ok 9 mean_and_variance_test_4
# mean and variance tests: pass:7 fail:2 skip:0 total:9
# Totals: pass:7 fail:2 skip:0 total:9
not ok 1 mean and variance tests

Haven't tried the test on any other platform yet, so this could be a
big-endian, 32-bit, m68k-specific, or even a generic problem.

Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds