Commit c90d3bd1 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge tag 'perf-core-for-mingo-4.20-20180924' of...

Merge tag 'perf-core-for-mingo-4.20-20180924' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux

 into perf/core

Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

Hardware tracing changes:

 intel-pt:

 - Previously, the decoder would indicate begin / end by a branch from / to zero.
   That hides useful information, in particular when a trace ends with a call.
   Remove that limitation. (Adrian Hunter)

 - Better "callindent" output in 'perf script', improving intel-PT output (Andi Kleen)

Arch specific changes:

 - Split the PMU events into meaningful functional groups for the ARM eMAG arch (Sean V Kelley)

Fixes:

 perf help:

 - Add missing subcommand `version` (Sangwon Hong)

Miscellaneous:

 - More patches renaming of structs, enums, functions to make libbtraceevent
   more generally available (Tzvetomir Stoyanov (VMware))

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents 9835bf7f d35c595b
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -23,6 +23,13 @@ void pager_init(const char *pager_env)
	subcmd_config.pager_env = pager_env;
}

static const char *forced_pager;

void force_pager(const char *pager)
{
	forced_pager = pager;
}

static void pager_preexec(void)
{
	/*
@@ -66,7 +73,9 @@ void setup_pager(void)
	const char *pager = getenv(subcmd_config.pager_env);
	struct winsize sz;

	if (!isatty(1))
	if (forced_pager)
		pager = forced_pager;
	if (!isatty(1) && !forced_pager)
		return;
	if (ioctl(1, TIOCGWINSZ, &sz) == 0)
		pager_columns = sz.ws_col;
+1 −0
Original line number Diff line number Diff line
@@ -7,5 +7,6 @@ extern void pager_init(const char *pager_env);
extern void setup_pager(void);
extern int pager_in_use(void);
extern int pager_get_columns(void);
extern void force_pager(const char *);

#endif /* __SUBCMD_PAGER_H */
+592 −592

File changed.

Preview size limit exceeded, changes collapsed.

+266 −266

File changed.

Preview size limit exceeded, changes collapsed.

+9 −9
Original line number Diff line number Diff line
@@ -31,8 +31,8 @@ static struct trace_plugin_options {
	char				*value;
} *trace_plugin_options;

struct plugin_list {
	struct plugin_list	*next;
struct tep_plugin_list {
	struct tep_plugin_list	*next;
	char			*name;
	void			*handle;
};
@@ -259,7 +259,7 @@ void tep_plugin_remove_options(struct tep_plugin_option *options)
 */
void tep_print_plugins(struct trace_seq *s,
		       const char *prefix, const char *suffix,
		       const struct plugin_list *list)
		       const struct tep_plugin_list *list)
{
	while (list) {
		trace_seq_printf(s, "%s%s%s", prefix, list->name, suffix);
@@ -271,9 +271,9 @@ static void
load_plugin(struct tep_handle *pevent, const char *path,
	    const char *file, void *data)
{
	struct plugin_list **plugin_list = data;
	struct tep_plugin_list **plugin_list = data;
	tep_plugin_load_func func;
	struct plugin_list *list;
	struct tep_plugin_list *list;
	const char *alias;
	char *plugin;
	void *handle;
@@ -417,20 +417,20 @@ load_plugins(struct tep_handle *pevent, const char *suffix,
	free(path);
}

struct plugin_list*
struct tep_plugin_list*
tep_load_plugins(struct tep_handle *pevent)
{
	struct plugin_list *list = NULL;
	struct tep_plugin_list *list = NULL;

	load_plugins(pevent, ".so", load_plugin, &list);
	return list;
}

void
tep_unload_plugins(struct plugin_list *plugin_list, struct tep_handle *pevent)
tep_unload_plugins(struct tep_plugin_list *plugin_list, struct tep_handle *pevent)
{
	tep_plugin_unload_func func;
	struct plugin_list *list;
	struct tep_plugin_list *list;

	while (plugin_list) {
		list = plugin_list;
Loading