Re: [PATCH] oprofile: perf: use NR_CPUS instead or nr_cpumask_bitsfor static array

From: Will Deacon
Date: Fri Jun 15 2012 - 11:44:03 EST


Robert,

On Fri, Jun 08, 2012 at 04:16:04PM +0100, Will Deacon wrote:
> The OProfile perf backend uses a static array to keep track of the
> perf events on the system. When compiling with CONFIG_CPUMASK_OFFSTACK=y
> && SMP, nr_cpumask_bits is not a compile-time constant and the build
> will fail with:
>
> oprofile_perf.c:28: error: variably modified 'perf_events' at file scope
>
> This patch uses NR_CPUs instead of nr_cpumask_bits for the array
> initialisation. If this causes space problems in the future, we can
> always move to dynamic allocation for the events array.
>
> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxx>
> Cc: Robert Richter <robert.richter@xxxxxxx>
> Reported-by: Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx>
> Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
> ---
> drivers/oprofile/oprofile_perf.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/oprofile/oprofile_perf.c b/drivers/oprofile/oprofile_perf.c
> index da14432..efc4b7f 100644
> --- a/drivers/oprofile/oprofile_perf.c
> +++ b/drivers/oprofile/oprofile_perf.c
> @@ -25,7 +25,7 @@ static int oprofile_perf_enabled;
> static DEFINE_MUTEX(oprofile_perf_mutex);
>
> static struct op_counter_config *counter_config;
> -static struct perf_event **perf_events[nr_cpumask_bits];
> +static struct perf_event **perf_events[NR_CPUS];
> static int num_counters;
>
> /*
> --
> 1.7.4.1

Given both the lack of feedback and the trivial nature of this patch would
you be able to pick this up please? I'd rather not push it via the ARM tree
as the change is under drivers/.

Thanks,

Will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/