diff options
Diffstat (limited to 'tools/perf/util/namespaces.c')
| -rw-r--r-- | tools/perf/util/namespaces.c | 20 | 
1 files changed, 19 insertions, 1 deletions
diff --git a/tools/perf/util/namespaces.c b/tools/perf/util/namespaces.c index 46d3a7754897..285d6f30d912 100644 --- a/tools/perf/util/namespaces.c +++ b/tools/perf/util/namespaces.c @@ -17,9 +17,27 @@  #include <string.h>  #include <unistd.h>  #include <asm/bug.h> +#include <linux/kernel.h>  #include <linux/zalloc.h> -struct namespaces *namespaces__new(struct namespaces_event *event) +static const char *perf_ns__names[] = { +	[NET_NS_INDEX]		= "net", +	[UTS_NS_INDEX]		= "uts", +	[IPC_NS_INDEX]		= "ipc", +	[PID_NS_INDEX]		= "pid", +	[USER_NS_INDEX]		= "user", +	[MNT_NS_INDEX]		= "mnt", +	[CGROUP_NS_INDEX]	= "cgroup", +}; + +const char *perf_ns__name(unsigned int id) +{ +	if (id >= ARRAY_SIZE(perf_ns__names)) +		return "UNKNOWN"; +	return perf_ns__names[id]; +} + +struct namespaces *namespaces__new(struct perf_record_namespaces *event)  {  	struct namespaces *namespaces;  	u64 link_info_size = ((event ? event->nr_namespaces : NR_NAMESPACES) *  |