lkml.org 
[lkml]   [2024]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] bitops: Change function return types from long to int
From
On 4/21/2024 12:38 AM, Thorsten Blum wrote:
> Change the return types of bitops functions (ffs, fls, and fns) from
> long to int. The expected return values are in the range [0, 64], for
> which int is sufficient.
>
> Additionally, int aligns well with the return types of the corresponding
> __builtin_* functions, potentially reducing overall type conversions.
>
> Many of the existing bitops functions already return an int and don't
> need to be changed. The bitops functions in arch/ should be considered
> separately.
>
> Adjust some return variables to match the function return types.
>
> With GCC 13 and defconfig, these changes reduced the size of a test
> kernel image by 5,432 bytes on arm64 and by 248 bytes on riscv; there
> were no changes in size on x86_64, powerpc, or m68k.
>
> Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com>
> ---
> include/asm-generic/bitops/__ffs.h | 4 ++--
> include/asm-generic/bitops/__fls.h | 4 ++--
> include/asm-generic/bitops/builtin-__ffs.h | 2 +-
> include/asm-generic/bitops/builtin-__fls.h | 2 +-
> include/linux/bitops.h | 6 +++---
> tools/include/asm-generic/bitops/__ffs.h | 4 ++--
> tools/include/asm-generic/bitops/__fls.h | 4 ++--
> tools/include/linux/bitops.h | 2 +-
> 8 files changed, 14 insertions(+), 14 deletions(-)

I don't mind the idea, but in the past I've send some patches trying to
align some arch specific implementations with asm-generic ones. Now you
are changing only asm-generic implementation and leaving arch specific
ones untouched (that's probably why you see no size change on some of them).

For example on x86, there is:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/include/asm/bitops.h?id=ed30a4a51bb196781c8058073ea720133a65596f#n293
and you probably need to check all architectures for those implementations.

Thanks,
Amadeusz

\
 
 \ /
  Last update: 2024-05-27 17:55    [W:0.104 / U:0.148 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site