RE: [Intel-wired-lan] [PATCH net v3] ice: use proper macro for testing bit
From: Pucha, HimasekharX Reddy
Date: Mon Jun 24 2024 - 02:48:04 EST
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of Petr Oros
> Sent: Tuesday, June 18, 2024 4:41 PM
> To: netdev@xxxxxxxxxxxxxxx
> Cc: ivecera <ivecera@xxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Kitszel, Przemyslaw <przemyslaw.kitszel@xxxxxxxxx>; open list <linux-kernel@xxxxxxxxxxxxxxx>; Joyner, Eric <eric.joyner@xxxxxxxxx>; Lobakin, Aleksander <aleksander.lobakin@xxxxxxxxx>; Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; horms@xxxxxxxxxx; Marcin Domagala <marcinx.domagala@xxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; moderated list:INTEL ETHERNET DRIVERS <intel-wired-lan@xxxxxxxxxxxxxxxx>
> Subject: [Intel-wired-lan] [PATCH net v3] ice: use proper macro for testing bit
>
> Do not use _test_bit() macro for testing bit. The proper macro for this is one without underline.
>
> _test_bit() is what test_bit() was prior to const-optimization. It directly calls arch_test_bit(), i.e. the arch-specific implementation (or the generic one). It's strictly _internal_ and shouldn't be used anywhere outside the actual test_bit() macro.
>
> test_bit() is a wrapper which checks whether the bitmap and the bit number are compile-time constants and if so, it calls the optimized function which evaluates this call to a compile-time constant as well.
> If either of them is not a compile-time constant, it just calls _test_bit().
> test_bit() is the actual function to use anywhere in the kernel.
>
> IOW, calling _test_bit() avoids potential compile-time optimizations.
>
> The sensors is not a compile-time constant, thus most probably there are no object code changes before and after the patch.
> But anyway, we shouldn't call internal wrappers instead of the actual API.
>
> Fixes: 4da71a77fc3b ("ice: read internal temperature sensor")
> Acked-by: Ivan Vecera <ivecera@xxxxxxxxxx>
> Reviewed-by: Alexander Lobakin <aleksander.lobakin@xxxxxxxxx>
> Signed-off-by: Petr Oros <poros@xxxxxxxxxx>
> ---
> drivers/net/ethernet/intel/ice/ice_hwmon.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@xxxxxxxxx> (A Contingent worker at Intel)