All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yury Norov <yury.norov@gmail.com>
To: Alexander Lobakin <aleksander.lobakin@intel.com>
Cc: linux-s390@vger.kernel.org, ntfs3@lists.linux.dev,
	Przemek Kitszel <przemyslaw.kitszel@intel.com>,
	David Ahern <dsahern@kernel.org>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	dm-devel@redhat.com, linux-kernel@vger.kernel.org,
	Eric Dumazet <edumazet@google.com>,
	netdev@vger.kernel.org, Alexander Potapenko <glider@google.com>,
	Simon Horman <simon.horman@corigine.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	linux-btrfs@vger.kernel.org
Subject: Re: [dm-devel] [PATCH 05/14] s390/cio: rename bitmap_size() -> idset_bitmap_size()
Date: Mon, 9 Oct 2023 09:35:20 -0700	[thread overview]
Message-ID: <ZSQryML6+uySSQ55@yury-ThinkPad> (raw)
In-Reply-To: <20231009151026.66145-6-aleksander.lobakin@intel.com>

On Mon, Oct 09, 2023 at 05:10:17PM +0200, Alexander Lobakin wrote:
> bitmap_size() is a pretty generic name and one may want to use it for
> a generic bitmap API function. At the same time, its logic is not
> "generic", i.e. it's not just `nbits -> size of bitmap in bytes`
> converter as it would be expected from its name.
> Add the prefix 'idset_' used throughout the file where the function
> resides.

At the first glance, this custom implementation just duplicates the
generic one that you introduce in the following patch. If so, why
don't you switch idset to just use generic bitmap_size()?

> 
> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>
> ---
> idset_new() really wants its vmalloc() + memset() pair to be replaced
> with vzalloc().
> ---
>  drivers/s390/cio/idset.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/s390/cio/idset.c b/drivers/s390/cio/idset.c
> index 45f9c0736be4..0a1105a483bf 100644
> --- a/drivers/s390/cio/idset.c
> +++ b/drivers/s390/cio/idset.c
> @@ -16,7 +16,7 @@ struct idset {
>  	unsigned long bitmap[];
>  };
>  
> -static inline unsigned long bitmap_size(int num_ssid, int num_id)
> +static inline unsigned long idset_bitmap_size(int num_ssid, int num_id)
>  {
>  	return BITS_TO_LONGS(num_ssid * num_id) * sizeof(unsigned long);
>  }
> @@ -25,11 +25,12 @@ static struct idset *idset_new(int num_ssid, int num_id)
>  {
>  	struct idset *set;
>  
> -	set = vmalloc(sizeof(struct idset) + bitmap_size(num_ssid, num_id));
> +	set = vmalloc(sizeof(struct idset) +
> +		      idset_bitmap_size(num_ssid, num_id));
>  	if (set) {
>  		set->num_ssid = num_ssid;
>  		set->num_id = num_id;
> -		memset(set->bitmap, 0, bitmap_size(num_ssid, num_id));
> +		memset(set->bitmap, 0, idset_bitmap_size(num_ssid, num_id));
>  	}
>  	return set;
>  }
> @@ -41,7 +42,8 @@ void idset_free(struct idset *set)
>  
>  void idset_fill(struct idset *set)
>  {
> -	memset(set->bitmap, 0xff, bitmap_size(set->num_ssid, set->num_id));
> +	memset(set->bitmap, 0xff,
> +	       idset_bitmap_size(set->num_ssid, set->num_id));
>  }
>  
>  static inline void idset_add(struct idset *set, int ssid, int id)
> -- 
> 2.41.0

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel


WARNING: multiple messages have this Message-ID (diff)
From: Yury Norov <yury.norov@gmail.com>
To: Alexander Lobakin <aleksander.lobakin@intel.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Alexander Potapenko <glider@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	David Ahern <dsahern@kernel.org>,
	Przemek Kitszel <przemyslaw.kitszel@intel.com>,
	Simon Horman <simon.horman@corigine.com>,
	netdev@vger.kernel.org, linux-btrfs@vger.kernel.org,
	dm-devel@redhat.com, ntfs3@lists.linux.dev,
	linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 05/14] s390/cio: rename bitmap_size() -> idset_bitmap_size()
Date: Mon, 9 Oct 2023 09:35:20 -0700	[thread overview]
Message-ID: <ZSQryML6+uySSQ55@yury-ThinkPad> (raw)
In-Reply-To: <20231009151026.66145-6-aleksander.lobakin@intel.com>

On Mon, Oct 09, 2023 at 05:10:17PM +0200, Alexander Lobakin wrote:
> bitmap_size() is a pretty generic name and one may want to use it for
> a generic bitmap API function. At the same time, its logic is not
> "generic", i.e. it's not just `nbits -> size of bitmap in bytes`
> converter as it would be expected from its name.
> Add the prefix 'idset_' used throughout the file where the function
> resides.

At the first glance, this custom implementation just duplicates the
generic one that you introduce in the following patch. If so, why
don't you switch idset to just use generic bitmap_size()?

> 
> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>
> ---
> idset_new() really wants its vmalloc() + memset() pair to be replaced
> with vzalloc().
> ---
>  drivers/s390/cio/idset.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/s390/cio/idset.c b/drivers/s390/cio/idset.c
> index 45f9c0736be4..0a1105a483bf 100644
> --- a/drivers/s390/cio/idset.c
> +++ b/drivers/s390/cio/idset.c
> @@ -16,7 +16,7 @@ struct idset {
>  	unsigned long bitmap[];
>  };
>  
> -static inline unsigned long bitmap_size(int num_ssid, int num_id)
> +static inline unsigned long idset_bitmap_size(int num_ssid, int num_id)
>  {
>  	return BITS_TO_LONGS(num_ssid * num_id) * sizeof(unsigned long);
>  }
> @@ -25,11 +25,12 @@ static struct idset *idset_new(int num_ssid, int num_id)
>  {
>  	struct idset *set;
>  
> -	set = vmalloc(sizeof(struct idset) + bitmap_size(num_ssid, num_id));
> +	set = vmalloc(sizeof(struct idset) +
> +		      idset_bitmap_size(num_ssid, num_id));
>  	if (set) {
>  		set->num_ssid = num_ssid;
>  		set->num_id = num_id;
> -		memset(set->bitmap, 0, bitmap_size(num_ssid, num_id));
> +		memset(set->bitmap, 0, idset_bitmap_size(num_ssid, num_id));
>  	}
>  	return set;
>  }
> @@ -41,7 +42,8 @@ void idset_free(struct idset *set)
>  
>  void idset_fill(struct idset *set)
>  {
> -	memset(set->bitmap, 0xff, bitmap_size(set->num_ssid, set->num_id));
> +	memset(set->bitmap, 0xff,
> +	       idset_bitmap_size(set->num_ssid, set->num_id));
>  }
>  
>  static inline void idset_add(struct idset *set, int ssid, int id)
> -- 
> 2.41.0

  reply	other threads:[~2023-10-10  7:03 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-09 15:10 [dm-devel] [PATCH 00/14] ip_tunnel: convert __be16 tunnel flags to bitmaps Alexander Lobakin
2023-10-09 15:10 ` Alexander Lobakin
2023-10-09 15:10 ` [dm-devel] [PATCH 01/14] bitops: add missing prototype check Alexander Lobakin
2023-10-09 15:10   ` Alexander Lobakin
2023-10-09 15:10 ` [dm-devel] [PATCH 02/14] bitops: make BYTES_TO_BITS() treewide-available Alexander Lobakin
2023-10-09 15:10   ` Alexander Lobakin
2023-10-09 15:10 ` [dm-devel] [PATCH 03/14] bitops: let the compiler optimize __assign_bit() Alexander Lobakin
2023-10-09 15:10   ` Alexander Lobakin
2023-10-09 16:18   ` [dm-devel] " Yury Norov
2023-10-09 16:18     ` Yury Norov
2023-10-11  7:25     ` Alexander Lobakin
2023-10-11  7:25       ` Alexander Lobakin
2023-10-09 15:10 ` [dm-devel] [PATCH 04/14] linkmode: convert linkmode_{test, set, clear, mod}_bit() to macros Alexander Lobakin
2023-10-09 15:10   ` [PATCH 04/14] linkmode: convert linkmode_{test,set,clear,mod}_bit() " Alexander Lobakin
2023-10-09 15:10 ` [dm-devel] [PATCH 05/14] s390/cio: rename bitmap_size() -> idset_bitmap_size() Alexander Lobakin
2023-10-09 15:10   ` Alexander Lobakin
2023-10-09 16:35   ` Yury Norov [this message]
2023-10-09 16:35     ` Yury Norov
2023-10-11  7:28     ` Alexander Lobakin
2023-10-11  7:28       ` Alexander Lobakin
2023-10-09 15:10 ` [dm-devel] [PATCH 06/14] fs/ntfs3: rename bitmap_size() -> ntfs3_bitmap_size() Alexander Lobakin
2023-10-09 15:10   ` Alexander Lobakin
2023-10-09 16:50   ` [dm-devel] " Yury Norov
2023-10-09 16:50     ` Yury Norov
2023-10-11  7:36     ` Alexander Lobakin
2023-10-11  7:36       ` Alexander Lobakin
2023-10-09 15:10 ` [dm-devel] [PATCH 07/14] btrfs: rename bitmap_set_bits() -> btrfs_bitmap_set_bits() Alexander Lobakin
2023-10-09 15:10   ` Alexander Lobakin
2023-10-09 15:23   ` [dm-devel] " David Sterba
2023-10-09 15:23     ` David Sterba
2023-10-09 15:10 ` [dm-devel] [PATCH 08/14] bitmap: introduce generic optimized bitmap_size() Alexander Lobakin
2023-10-09 15:10   ` Alexander Lobakin
2023-10-09 17:04   ` [dm-devel] " Yury Norov
2023-10-09 17:04     ` Yury Norov
2023-10-09 15:10 ` [dm-devel] [PATCH 09/14] bitmap: extend bitmap_{get, set}_value8() to bitmap_{get, set}_bits() Alexander Lobakin
2023-10-09 15:10   ` [PATCH 09/14] bitmap: extend bitmap_{get,set}_value8() to bitmap_{get,set}_bits() Alexander Lobakin
2023-10-09 16:31   ` [dm-devel] [PATCH 09/14] bitmap: extend bitmap_{get, set}_value8() to bitmap_{get, set}_bits() Yury Norov
2023-10-09 16:31     ` [PATCH 09/14] bitmap: extend bitmap_{get,set}_value8() to bitmap_{get,set}_bits() Yury Norov
2023-10-11  9:33     ` Alexander Lobakin
2023-10-11  9:33       ` Alexander Lobakin
2023-10-11 10:36       ` Andy Shevchenko
2023-10-11 10:36         ` Andy Shevchenko
2023-10-15  2:20       ` Yury Norov
2023-10-15  2:20         ` Yury Norov
2023-10-09 15:10 ` [dm-devel] [PATCH 10/14] ip_tunnel: use a separate struct to store tunnel params in the kernel Alexander Lobakin
2023-10-09 15:10   ` Alexander Lobakin
2023-10-09 15:10 ` [dm-devel] [PATCH 11/14] ip_tunnel: convert __be16 tunnel flags to bitmaps Alexander Lobakin
2023-10-09 15:10   ` Alexander Lobakin
2023-10-09 15:10 ` [dm-devel] [PATCH 12/14] lib/bitmap: add compile-time test for __assign_bit() optimization Alexander Lobakin
2023-10-09 15:10   ` Alexander Lobakin
2023-10-09 15:10 ` [dm-devel] [PATCH 13/14] lib/bitmap: add tests for bitmap_{get, set}_bits() Alexander Lobakin
2023-10-09 15:10   ` [PATCH 13/14] lib/bitmap: add tests for bitmap_{get,set}_bits() Alexander Lobakin
2023-10-09 15:10 ` [dm-devel] [PATCH 14/14] lib/bitmap: add tests for IP tunnel flags conversion helpers Alexander Lobakin
2023-10-09 15:10   ` Alexander Lobakin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZSQryML6+uySSQ55@yury-ThinkPad \
    --to=yury.norov@gmail.com \
    --cc=aleksander.lobakin@intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=dm-devel@redhat.com \
    --cc=dsahern@kernel.org \
    --cc=edumazet@google.com \
    --cc=glider@google.com \
    --cc=kuba@kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=netdev@vger.kernel.org \
    --cc=ntfs3@lists.linux.dev \
    --cc=przemyslaw.kitszel@intel.com \
    --cc=simon.horman@corigine.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.