[PATCH] s390/pci: Use the bitmap API to allocate bitmaps

Christophe JAILLET posted 1 patch 3 years, 9 months ago
arch/s390/pci/pci.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
[PATCH] s390/pci: Use the bitmap API to allocate bitmaps
Posted by Christophe JAILLET 3 years, 9 months ago
Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.

It is less verbose and it improves the semantic.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
I don't know why commit c506fff3d3a8 ("s390/pci: resize iomap") has turned
this bitmap from a statically defined bitmap to a runtime-allocated one.

Going back to a:
	static DECLARE_BITMAP(zpci_iomap_bitmap, ZPCI_IOMAP_ENTRIES);
would slightly simply code.
---
 arch/s390/pci/pci.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index bc980fd313d5..b965553de143 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -1059,8 +1059,7 @@ static int zpci_mem_init(void)
 	if (!zpci_iomap_start)
 		goto error_iomap;
 
-	zpci_iomap_bitmap = kcalloc(BITS_TO_LONGS(ZPCI_IOMAP_ENTRIES),
-				    sizeof(*zpci_iomap_bitmap), GFP_KERNEL);
+	zpci_iomap_bitmap = bitmap_zalloc(ZPCI_IOMAP_ENTRIES, GFP_KERNEL);
 	if (!zpci_iomap_bitmap)
 		goto error_iomap_bitmap;
 
@@ -1078,7 +1077,7 @@ static int zpci_mem_init(void)
 
 static void zpci_mem_exit(void)
 {
-	kfree(zpci_iomap_bitmap);
+	bitmap_free(zpci_iomap_bitmap);
 	kfree(zpci_iomap_start);
 	kmem_cache_destroy(zdev_fmb_cache);
 }
-- 
2.34.1
Re: [PATCH] s390/pci: Use the bitmap API to allocate bitmaps
Posted by Alexander Gordeev 3 years, 9 months ago
On Sat, Jul 09, 2022 at 06:11:28PM +0200, Christophe JAILLET wrote:
> I don't know why commit c506fff3d3a8 ("s390/pci: resize iomap") has turned
> this bitmap from a statically defined bitmap to a runtime-allocated one.

c506fff3d3a8 commit message:

    This reduces the size of the iomap from 256K to less than 4K
    (using the defconfig).
Re: [PATCH] s390/pci: Use the bitmap API to allocate bitmaps
Posted by Christophe JAILLET 3 years, 9 months ago
Le 14/07/2022 à 07:22, Alexander Gordeev a écrit :
> On Sat, Jul 09, 2022 at 06:11:28PM +0200, Christophe JAILLET wrote:
>> I don't know why commit c506fff3d3a8 ("s390/pci: resize iomap") has turned
>> this bitmap from a statically defined bitmap to a runtime-allocated one.
> 
> c506fff3d3a8 commit message:
> 
>      This reduces the size of the iomap from 256K to less than 4K
>      (using the defconfig).
> 

Hi,

IIUC, going from ZPCI_IOMAP_MAX_ENTRIES to ZPCI_IOMAP_ENTRIES reduced 
the size, not going from DECLARE_BITMAP() to kcalloc().

CJ