HomeFreeBSD

libkern: add ilog2 macro

Description

libkern: add ilog2 macro

The kernel source contains several definitions of an ilog2 function;
some are slower than necessary, and one of them is incorrect.
Elimininate them all and define an ilog2 macro in libkern to replace
them, in a way that is fast, correct for all argument types, and, in a
GENERIC kernel, includes a check for an invalid zero parameter.

Folks at Microsoft have verified that having a correct ilog2
definition for their MANA driver doesn't break it.

Reviewed by: alc, markj, mhorne (older version), jhibbits (older version)
Differential Revision: https://reviews.freebsd.org/D45170
Differential Revision: https://reviews.freebsd.org/D45235

(cherry picked from commit b0056b31e90029553894d17c441cbb2c06d31412)

Details

Provenance
dougmAuthored on Jun 3 2024, 4:37 PM
Reviewer
alc
Differential Revision
D45170: libkern: add ilog2 helpers
Parents
rGf424cf5940d7: mlx4ib(4): Fix some typos in device messages
Branches
Unknown
Tags
Unknown