Re: [PATCH 12/13] perf thread_map: Change map entries into a struct

From: Jiri Olsa
Date: Thu Jun 25 2015 - 04:39:02 EST


On Tue, Jun 23, 2015 at 06:47:26PM -0300, Arnaldo Carvalho de Melo wrote:
> From: Jiri Olsa <jolsa@xxxxxxxxxx>
>
> We need to store command names with the pid. Changing map entries to be
> a struct holding pid. Process name is coming in shortly.
>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> Cc: David Ahern <dsahern@xxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Cc: Stephane Eranian <eranian@xxxxxxxxxx>
> Link: http://lkml.kernel.org/r/1435012588-9007-2-git-send-email-jolsa@xxxxxxxxxx
> [ Split providing the set/get accessors from transforming the entries structs ]

the comment in [] is wrong..

and you missed following hunk:

---
static struct thread_map *thread_map__realloc(struct thread_map *map, int nr)
{
- size_t size = sizeof(*map) + sizeof(pid_t) * nr;
+ size_t size = sizeof(*map) + sizeof(struct thread_map_data) * nr;
---

shouldn't be fatal, it probably has the same or biggger size ATM
I'll include the fix in the next version

jirka

> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> ---
> tools/perf/util/thread_map.h | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/util/thread_map.h b/tools/perf/util/thread_map.h
> index e22570390470..b9f40679f589 100644
> --- a/tools/perf/util/thread_map.h
> +++ b/tools/perf/util/thread_map.h
> @@ -4,9 +4,13 @@
> #include <sys/types.h>
> #include <stdio.h>
>
> +struct thread_map_data {
> + pid_t pid;
> +};
> +
> struct thread_map {
> int nr;
> - pid_t map[];
> + struct thread_map_data map[];
> };
>
> struct thread_map *thread_map__new_dummy(void);
> @@ -29,12 +33,12 @@ static inline int thread_map__nr(struct thread_map *threads)
>
> static inline pid_t thread_map__pid(struct thread_map *map, int thread)
> {
> - return map->map[thread];
> + return map->map[thread].pid;
> }
>
> static inline void
> thread_map__set_pid(struct thread_map *map, int thread, pid_t pid)
> {
> - map->map[thread] = pid;
> + map->map[thread].pid = pid;
> }
> #endif /* __PERF_THREAD_MAP_H */
> --
> 2.1.0
>
--
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/