mbox series

[0/4] IB/mthca: Cleanup and optimize a few bitmap operation

Message ID cover.1637785902.git.christophe.jaillet@wanadoo.fr (mailing list archive)
Headers show
Series IB/mthca: Cleanup and optimize a few bitmap operation | expand

Message

Christophe JAILLET Nov. 24, 2021, 8:40 p.m. UTC
Patch 1 and 2 are just cleanups that uses 'bitmap_zalloc()' and 'bitmap_set()'
instead of hand-writing these functions.

Patch 3 and 4 are more questionable. They replace calls to '[set|clear]_bit()'
by their non-atomic '__[set|clear]_bit()' alternatives.
In both files, it looks safe to do so because accesses to the corresponding
bitmaps are protected by spinlocks.
However, these patches are compile tested only. It not sure it worth changing the
code just for saving a few atomic operations.
So review, test and apply only if it make sense.

Christophe JAILLET (4):
  IB/mthca: Use bitmap_zalloc() when applicable
  IB/mthca: Use bitmap_set() when applicable
  IB/mthca: Use non-atomic bitmap functions when possible in
    'mthca_allocator.c'
  IB/mthca: Use non-atomic bitmap functions when possible in
    'mthca_mr.c'

 drivers/infiniband/hw/mthca/mthca_allocator.c | 15 +++++--------
 drivers/infiniband/hw/mthca/mthca_mr.c        | 22 +++++++++----------
 2 files changed, 15 insertions(+), 22 deletions(-)

Comments

Jason Gunthorpe Nov. 25, 2021, 5:30 p.m. UTC | #1
On Wed, Nov 24, 2021 at 09:40:09PM +0100, Christophe JAILLET wrote:
> Patch 1 and 2 are just cleanups that uses 'bitmap_zalloc()' and 'bitmap_set()'
> instead of hand-writing these functions.
> 
> Patch 3 and 4 are more questionable. They replace calls to '[set|clear]_bit()'
> by their non-atomic '__[set|clear]_bit()' alternatives.
> In both files, it looks safe to do so because accesses to the corresponding
> bitmaps are protected by spinlocks.
> However, these patches are compile tested only. It not sure it worth changing the
> code just for saving a few atomic operations.
> So review, test and apply only if it make sense.
> 
> Christophe JAILLET (4):
>   IB/mthca: Use bitmap_zalloc() when applicable
>   IB/mthca: Use bitmap_set() when applicable
>   IB/mthca: Use non-atomic bitmap functions when possible in
>     'mthca_allocator.c'
>   IB/mthca: Use non-atomic bitmap functions when possible in
>     'mthca_mr.c'

Applied to for-next, thanks

Jason