2022-07-09 16:20:19

by Christophe JAILLET

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

Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.

It is less verbose and it improves the semantic.

Signed-off-by: Christophe JAILLET <[email protected]>
---
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


2022-07-14 05:58:41

by Alexander Gordeev

[permalink] [raw]
Subject: Re: [PATCH] s390/pci: Use the bitmap API to allocate bitmaps

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).

2022-07-19 06:14:19

by Christophe JAILLET

[permalink] [raw]
Subject: Re: [PATCH] s390/pci: Use the bitmap API to allocate bitmaps

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