On Sun, 22 Feb 2015 20:24:14 +0300 Yury Norov <[email protected]> wrote:

> This patchset does rework find_bit functions family to achieve better
> performance, and decrease size of text. All rework is done in patch 1.
> Patches 2 and 3 are about code moving and renaming.
> 
> It was boot-tested on x86_64 and MIPS (big-endian) machines.
> Performance tests were ran on userspace with code like this:
> 
>       /* addr[] is filled from /dev/urandom */
>       start = clock();
>       while (ret < nbits)
>               ret = find_next_bit(addr, nbits, ret + 1);
> 
>       end = clock();
>       printf("%ld\t", (unsigned long) end - start);
> 
> On Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz measuremets are next:
> (for find_next_bit, nbits is 8M, for find_first_bit - 80K)
> 
>       find_next_bit:          find_first_bit:
>       new     current         new     current
>       26932   43151           14777   14925
>       26947   43182           14521   15423
>       26507   43824           15053   14705
>       27329   43759           14473   14777
>       26895   43367           14847   15023
>       26990   43693           15103   15163
>       26775   43299           15067   15232
>       27282   42752           14544   15121
>       27504   43088           14644   14858
>       26761   43856           14699   15193
>       26692   43075           14781   14681
>       27137   42969           14451   15061
>       ...                     ...
> 
> find_next_bit performance gain is 35-40%;
> find_first_bit - no measurable difference.
> 
> On ARM machine, there is arch-specific implementation for find_bit.
> To disable it, and use generic one, please apply next patch:

I avoid putting patches into changelogs because in some situations
patch(1) tries to apply it when you apply the real patch.  Maybe you
can share the userspace test harness with someone who has access to an
arm machine?

Patches 2 and 3 are missing your signed-off-by:.  I added it to my
copies of those patches.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to