> Several of these call sites are also compiled in userspace in libxfs. It
> would
> be a good idea from that POV also to keep some level of abstraction so that
> these calls can be mapped to userspace routines as well.
Again the same argument applies -- there is no difference if you
map xfs_(high|low)bit or fls64/fls/find_find_bit() to something else.
> > The resulting xfs.ko is about 500 bytes smaller on x86-64
>
> Thats it?
It's probably a little faster too (admittedly unlikely to be really
measurable in a macro benchmark) and the source code is smaller.
> What testing was done? Changes to some of these routines has introuced
> subtle log recovery bugs in the past - has recovery been tested at all?
> The QA
> suite has some log recovery tests, it'd be a good idea to verify with
> those..
I had a simple separate unit test to verify the 32bit space gave the same
result. The only difference was the 0 case, but I checked all inputs
manually. Usually they had != 0 tests already or zero was impossible;
in the few cases were not I added ASSERTs -- so if i got it wrong it should
bomb out quickly.
I did also some simple tests using the QA suite -- i believe a few logs
were recovered -- but not the full tests.
> To be honest, this sounds like just code churn and risk
> introduction.
Ok I got the message. I retract the patch. Sorry for bothering you
with lowly cleanups.
-Andi
|