[PATCH] riscv: enable GENERIC_FIND_FIRST_BIT

Kefeng Wang wangkefeng.wang at huawei.com
Wed Sep 8 17:58:31 PDT 2021


On 2021/9/8 23:04, Jisheng Zhang wrote:
> Hi Palmer,
>
> On Sun, 18 Jul 2021 00:14:23 +0800
> Jisheng Zhang wrote:
>
>> From: Jisheng Zhang <jszhang at kernel.org>
>>
>> riscv doesn't implement architecture-optimized bitsearching functions
>> such as find_first_{zero}_bit() etc.
>>
>> When GENERIC_FIND_FIRST_BIT=n, find_first_bit() is implemented with
>> find_next_bit() which is less efficient. Enable GENERIC_FIND_FIRST_BIT
>> for riscv to get more optimized find_first_bit() implementation, an
>> initial test(lib/find_bit_benchmark) shows find_first_bit() performance
>> is improved by nearly 32%.
> It seems this patch is missed. Is it possible to pick it up for 2nd 5.15-rc1 PR?
>
> Thanks

It is enabled unconditionally by following commit

commit dbbccfe505ef8fae804677abf0564c1e07479102

Author: Yury Norov <yury.norov at gmail.com>
Date:   Tue Aug 24 09:59:56 2021 +1000

     arch: remove GENERIC_FIND_FIRST_BIT entirely

>
>> Signed-off-by: Jisheng Zhang <jszhang at kernel.org>
>> ---
>>   arch/riscv/Kconfig | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
>> index 8fcceb8eda07..7ebc54c5c245 100644
>> --- a/arch/riscv/Kconfig
>> +++ b/arch/riscv/Kconfig
>> @@ -47,6 +47,7 @@ config RISCV
>>   	select GENERIC_ATOMIC64 if !64BIT
>>   	select GENERIC_CLOCKEVENTS_BROADCAST if SMP
>>   	select GENERIC_EARLY_IOREMAP
>> +	select GENERIC_FIND_FIRST_BIT
>>   	select GENERIC_GETTIMEOFDAY if HAVE_GENERIC_VDSO
>>   	select GENERIC_IOREMAP
>>   	select GENERIC_IRQ_MULTI_HANDLER
>
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
> .
>



More information about the linux-riscv mailing list