Re: [PATCH v9 3/4] perf: xgene: Add APM X-Gene SoC Performance Monitoring Unit driver

From: Joe Perches
Date: Thu Jul 14 2016 - 13:47:18 EST


On Thu, 2016-07-14 at 10:27 -0700, Tai Nguyen wrote:
> This patch adds a driver for the SoC-wide (AKA uncore) PMU hardware
> found in APM X-Gene SoCs.

trivia:

> diff --git a/drivers/perf/xgene_pmu.c b/drivers/perf/xgene_pmu.c
[]
> +struct xgene_pmu_dev_ctx {
> + char *name;
> + struct list_head next;
> + struct xgene_pmu_dev *pmu_dev;
> + struct hw_pmu_info inf;
> +};

Probably better to use something like
char name[20];
as the kasprintf can fail and this doesn't
seem to be freed anywhere.
> +static char *xgene_pmu_dev_name(u32 type, int id)
> +{
> + switch (type) {
> + case PMU_TYPE_L3C:
> + return kasprintf(GFP_KERNEL, "l3c%d", id);
> + case PMU_TYPE_IOB:
> + return kasprintf(GFP_KERNEL, "iob%d", id);
> + case PMU_TYPE_MCB:
> + return kasprintf(GFP_KERNEL, "mcb%d", id);
> + case PMU_TYPE_MC:
> + return kasprintf(GFP_KERNEL, "mc%d", id);
> + default:
> + return kasprintf(GFP_KERNEL, "unknown");
> + }
> +}

[]

> +static struct
> +xgene_pmu_dev_ctx *acpi_get_pmu_hw_inf(struct xgene_pmu *xgene_pmu,
> +        struct acpi_device *adev, u32 type)
> +{
[]
> + ctx->name = xgene_pmu_dev_name(type, enable_bit);
>