On Fri, Feb 7, 2025 at 7:56 PM Kent Overstreet kent.overstreet@linux.dev wrote:
On Tue, Jan 28, 2025 at 05:38:37PM +0100, Andreas Gruenbacher wrote:
Kent, to continue our discussion from last November, I've gone through more parts of the eytzinger code and as a result, here are some patches for you to consider.
What I've not looked at are the eytzinger_to_inorder and inorder_to_eytzinger functions, as well as the implementation of sort. Those functions could use a bit more documentation, but the code iself looks reasonable.
Shuah, I've also had a quick look at converting the tests into kernel selftests, but that hasn't gone very far because of the lack of support for basic functions like __fls(), __ffs(), ffz(), and rounddown_pow_of_two() in selftests. Are there any plans for making those kinds of primitives generally available to selftests?
Ping on this patchset - can you throw up a git repo that's ready to be applied directly, and have you run the test that failed yourself to confirm the fix?
Did you miss this message?
https://lore.kernel.org/linux-bcachefs/20250130103400.1899121-1-agruenba@red...
The test results at:
https://evilpiepirate.org/~testdashboard/ci?user=kmo&branch=eytzinger
are still for the initial version, but I've applied the fix right away:
https://git.kernel.org/pub/scm/linux/kernel/git/agruen/linux.git/log/?h=bcac...
On top of that, I've got a small patch that adds eytzinger0_find self tests. That patch still needs testing before I can post it, though.
Oh, and let me warn you about "bcachefs: Run the eytzinger tests on modprobe" again: this really is FOR DEBUGGING ONLY, so please do not merge.
Thanks, Andreas
Also, I'll make an exception for this patchset if need be, but fyi: in the future I'm getting out of the game of running tests for people.
Either run ktest locally, or get redhat to chip in on the cluster and I'll give you CI access (and I highly reccomend that option, it'll get you quick feedback with a nice dashboard and you can use it for non bcachefs work as well).