On Sat, Feb 8, 2025 at 12:53 PM Yury Norov [off-list ref] wrote:
[...]
Take over means that you'd at least add the Co-developed-by tag.
I didn't use their code - the thing being "taken over" is the work of
having these debates with the maintainers.
[...]
KUNIT is disabled in defconfig, at least on x86_64. It is also disabled
on my Ubuntu 24.04 machine. If I take your patches, I'll be unable to
boot-test bitmaps. Even worse, I'll be unable to build the standalone
test from sources as a module and load it later.
Or I misunderstand it, and there's a way to build some particular KUNIT
test without enabling KUNIT in config and/or re-compiling the whole kernel?
Please teach me, if so
Unless you give me a way to build and run the test in true
production environment, I'm not going with KUNITs. Sorry.
This is a question for David -- I don't know if this is possible.
[...]
This is my evidence: sometimes people report performance or whatever
issues on their systems, suspecting bitmaps guilty. I ask them to run
the bitmap or find_bit test to narrow the problem. Sometimes I need to
test a hardware I have no access to, and I have to (kindly!) ask people
to build a small test and run it. I don't want to ask them to rebuild
the whole kernel, or even to build something else.
https://lore.kernel.org/all/YuWk3titnOiQACzC@yury-laptop/ (local)
This is compelling evidence, and it was not previously raised. Thank you.
I notice that two things are true about the performance test part of
test_bitmap.c:
- It's a minority of the code in the file (48 lines out of 1462).
- There are no assertions in it.
Do you also find value in running the testing portion on other
people's machines, to which you don't have access?
[...]
Nice summary for the discussion. Unfortunately you missed my concerns.
Which are:
Pros:
- Now we switch to KUNITs because KUNITs are so good
Cons:
- Wipes git history;
I was very careful to minimize churn, and the result is 249 lines on
which I'd now own the blame (228 with `-w`). Still, it's a valid con.
- Bloats the test's source code;
The test is 74 lines shorter after this series.
- Adds dependencies;
- Doesn't run on most popular distros and defconfig;
Yep, I understand your concerns much better now - and I'm grateful for
your having taken the time to explain and show receipts. Still, I
wonder if we can get the best of both worlds - either by finding what
you need in KUnit, or by moving the testing bit to KUnit and keeping
the performance bit where it is.
Thanks.
Tamir