Re: [PATCH] drm/i915/gvt: use ARRAY_SIZE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



LGTM and Thanks for the patch!

Reviewed-by: Zhi Wang <zhi.a.wang@xxxxxxxxx>

-----Original Message-----
From: Jani Nikula [mailto:jani.nikula@xxxxxxxxxxxxxxx] 
Sent: Monday, October 16, 2017 12:35 PM
To: Jérémy Lefaure <jeremy.lefaure@xxxxxxxxxxxx>; Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx>; Wang, Zhi A <zhi.a.wang@xxxxxxxxx>; Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>; Vivi, Rodrigo <rodrigo.vivi@xxxxxxxxx>
Cc: Jérémy Lefaure <jeremy.lefaure@xxxxxxxxxxxx>; intel-gvt-dev@xxxxxxxxxxxxxxxxxxxxx; intel-gfx@xxxxxxxxxxxxxxxxxxxxx
Subject: Re: [PATCH] drm/i915/gvt: use ARRAY_SIZE


[dropped a number of lists and maintainers, please use common sense]

On Sun, 15 Oct 2017, Jérémy Lefaure <jeremy.lefaure@xxxxxxxxxxxx> wrote:
> Using the ARRAY_SIZE macro improves the readability of the code. Also, 
> it's useless to use a variable to store this constant calculated at 
> compile time.

I'll leave it up to Zhenyu and Zhi, but IMHO the variable is not useless. It improves the readability of the code by giving a name to the information, and the compiler will throw it away. Either way,

Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx>

(Up next, someone sends another patch to change the kzalloc to kcalloc... *sigh*)

>
> Found with Coccinelle with the following semantic patch:
> @r depends on (org || report)@
> type T;
> T[] E;
> position p;
> @@
> (
>  (sizeof(E)@p /sizeof(*E))
> |
>  (sizeof(E)@p /sizeof(E[...]))
> |
>  (sizeof(E)@p /sizeof(T))
> )
>
> Signed-off-by: Jérémy Lefaure <jeremy.lefaure@xxxxxxxxxxxx>
> ---
> This patch was part of a bigger patch [1].
>
> [1]: https://patchwork.kernel.org/patch/9979843/
>
>  drivers/gpu/drm/i915/gvt/vgpu.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gvt/vgpu.c 
> b/drivers/gpu/drm/i915/gvt/vgpu.c index 02c61a1ad56a..b32c1c889ea8 
> 100644
> --- a/drivers/gpu/drm/i915/gvt/vgpu.c
> +++ b/drivers/gpu/drm/i915/gvt/vgpu.c
> @@ -31,6 +31,7 @@
>   *
>   */
>  
> +#include <linux/kernel.h>
>  #include "i915_drv.h"
>  #include "gvt.h"
>  #include "i915_pvinfo.h"
> @@ -98,7 +99,6 @@ static struct {
>   */
>  int intel_gvt_init_vgpu_types(struct intel_gvt *gvt)  {
> -	unsigned int num_types;
>  	unsigned int i, low_avail, high_avail;
>  	unsigned int min_low;
>  
> @@ -116,15 +116,14 @@ int intel_gvt_init_vgpu_types(struct intel_gvt *gvt)
>  	 */
>  	low_avail = gvt_aperture_sz(gvt) - HOST_LOW_GM_SIZE;
>  	high_avail = gvt_hidden_sz(gvt) - HOST_HIGH_GM_SIZE;
> -	num_types = sizeof(vgpu_types) / sizeof(vgpu_types[0]);
>  
> -	gvt->types = kzalloc(num_types * sizeof(struct intel_vgpu_type),
> -			     GFP_KERNEL);
> +	gvt->types = kzalloc(ARRAY_SIZE(vgpu_types) *
> +			     sizeof(struct intel_vgpu_type), GFP_KERNEL);
>  	if (!gvt->types)
>  		return -ENOMEM;
>  
>  	min_low = MB_TO_BYTES(32);
> -	for (i = 0; i < num_types; ++i) {
> +	for (i = 0; i < ARRAY_SIZE(vgpu_types); ++i) {
>  		if (low_avail / vgpu_types[i].low_mm == 0)
>  			break;

--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux