[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <adc3b013-d39b-a183-dfce-86ca857949b8@linux.ibm.com>
Date: Tue, 29 Jun 2021 12:45:20 +0530
From: kajoljain <kjain@...ux.ibm.com>
To: will@...nel.org, hao.wu@...el.com, mark.rutland@....com
Cc: trix@...hat.com, yilun.xu@...el.com, mdf@...nel.org,
linux-fpga@...r.kernel.org, maddy@...ux.vnet.ibm.com,
atrajeev@...ux.vnet.ibm.com, linux-kernel@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org, rnsastry@...ux.ibm.com,
linux-perf-users@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH] fpga: dfl: fme: Fix cpu hotplug issue in performance
reporting
On 6/28/21 3:47 PM, Kajol Jain wrote:
> The performance reporting driver added cpu hotplug
> feature but it didn't add pmu migration call in cpu
> offline function.
> This can create an issue incase the current designated
> cpu being used to collect fme pmu data got offline,
> as based on current code we are not migrating fme pmu to
> new target cpu. Because of that perf will still try to
> fetch data from that offline cpu and hence we will not
> get counter data.
>
> Patch fixed this issue by adding pmu_migrate_context call
> in fme_perf_offline_cpu function.
>
Adding stable@...r.kernel.org in cc list as suggested by Moritz Fischer.
Thanks,
Kajol Jain
> Fixes: 724142f8c42a ("fpga: dfl: fme: add performance reporting support")
> Tested-by: Xu Yilun <yilun.xu@...el.com>
> Signed-off-by: Kajol Jain <kjain@...ux.ibm.com>
> ---
> drivers/fpga/dfl-fme-perf.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> ---
> Changelog:
> - Remove RFC tag
> - Did nits changes on subject and commit message as suggested by Xu Yilun
> - Added Tested-by tag
> - Link to rfc patch: https://lkml.org/lkml/2021/6/28/112
> ---
> diff --git a/drivers/fpga/dfl-fme-perf.c b/drivers/fpga/dfl-fme-perf.c
> index 4299145ef347..b9a54583e505 100644
> --- a/drivers/fpga/dfl-fme-perf.c
> +++ b/drivers/fpga/dfl-fme-perf.c
> @@ -953,6 +953,10 @@ static int fme_perf_offline_cpu(unsigned int cpu, struct hlist_node *node)
> return 0;
>
> priv->cpu = target;
> +
> + /* Migrate fme_perf pmu events to the new target cpu */
> + perf_pmu_migrate_context(&priv->pmu, cpu, target);
> +
> return 0;
> }
>
>
Powered by blists - more mailing lists