perf tools: Add mem2node object
Adding mem2node object to allow the easy lookup of the node for the physical address. It has following interface: int mem2node__init(struct mem2node *map, struct perf_env *env); void mem2node__exit(struct mem2node *map); int mem2node__node(struct mem2node *map, u64 addr); The mem2node__toolsinit initialize object from the perf data file MEM_TOPOLOGY feature data. Following calls to mem2node__node will return node number for given physical address. The mem2node__exit function frees the object. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20180309101442.9224-3-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
e725920cdb
commit
4acf6142de
19
tools/perf/util/mem2node.h
Normal file
19
tools/perf/util/mem2node.h
Normal file
@@ -0,0 +1,19 @@
|
||||
#ifndef __MEM2NODE_H
|
||||
#define __MEM2NODE_H
|
||||
|
||||
#include <linux/rbtree.h>
|
||||
#include "env.h"
|
||||
|
||||
struct phys_entry;
|
||||
|
||||
struct mem2node {
|
||||
struct rb_root root;
|
||||
struct phys_entry *entries;
|
||||
int cnt;
|
||||
};
|
||||
|
||||
int mem2node__init(struct mem2node *map, struct perf_env *env);
|
||||
void mem2node__exit(struct mem2node *map);
|
||||
int mem2node__node(struct mem2node *map, u64 addr);
|
||||
|
||||
#endif /* __MEM2NODE_H */
|
||||
Reference in New Issue
Block a user