[patch V3] lib: GCD: add binary GCD algorithm

James Bottomley James.Bottomley at HansenPartnership.com
Thu Apr 28 10:22:50 PDT 2016

On Thu, 2016-04-28 at 19:43 +0800, zengzhaoxiu at 163.com wrote:
> From: Zhaoxiu Zeng <zhaoxiu.zeng at gmail.com>
> Because some architectures (alpha, armv6, etc.) don't provide 
> hardware division, the mod operation is slow! Binary GCD algorithm 
> uses simple arithmetic operations, it replaces division with 
> arithmetic shifts, comparisons, and subtractions.
> I have compiled successfully with x86_64_defconfig and 
> i386_defconfig.

What's the reason for wanting to optimize this and thus have to
maintain (and test) two separate code paths, which is a significant
expense? As far as I can see, gcd() is mosly used in finding optimal
clocks for operations, which is usually done at start of day and not
time critical.


More information about the linux-arm-kernel mailing list