For very small functions like this own modules are quite expensive. First
everything gets rounded up to at least one 4K page (or worse on architectures
with larger pages). That just wastes some memory.
But then since modules live in vmalloc space they also need an own
TLB entry, which are notouriously scarce in the kernel because often user space
wants to monopolize them all. So if you're unlucky and user space
is thrashing the TLB just a single call to this hash function will be an own
TLB miss and quite expensive.
It would be better to just always link it in for this case.
-Andi
--