On Tue, May 23, 2017 at 12:48:50AM -0700, David Carrillo-Cisneros wrote:

SNIP

> @@ -795,11 +831,19 @@ static int write_pmu_mappings(struct feat_fd *fd,
>                             struct perf_evlist *evlist __maybe_unused)
>  {
>       struct perf_pmu *pmu = NULL;
> -     off_t offset = lseek(fd->fd, 0, SEEK_CUR);
> -     __u32 pmu_num = 0;
> +     u32 pmu_num = 0;
>       int ret;
>  
> -     /* write real pmu_num later */
> +     /*
> +      * Do a first pass to count number of pmu to avoid lseek so this
> +      * works in pipe mode as well.
> +      */
> +     while ((pmu = perf_pmu__scan(pmu))) {
> +             if (!pmu->name)
> +                     continue;
> +             pmu_num++;
> +     }

please put this functionality into preceeding separate patch

thanks,
jirka

Reply via email to