diff --git a/[refs] b/[refs] index cb8856780b46..8bf1c4592a8e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4ff16c25e2cc48cbe6956e356c38a25ac063a64d +refs/heads/master: e404b321dbb2d6e438522b7dce9c1d0c6a8c5275 diff --git a/trunk/fs/exec.c b/trunk/fs/exec.c index d0d208092773..aeb135c7ff5c 100644 --- a/trunk/fs/exec.c +++ b/trunk/fs/exec.c @@ -63,8 +63,6 @@ #include #include "internal.h" -#include - int core_uses_pid; char core_pattern[CORENAME_MAX_SIZE] = "core"; unsigned int core_pipe_limit; @@ -1403,10 +1401,9 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs) */ bprm->recursion_depth = depth; if (retval >= 0) { - if (depth == 0) { - trace_sched_process_exec(current, old_pid, bprm); - ptrace_event(PTRACE_EVENT_EXEC, old_pid); - } + if (depth == 0) + ptrace_event(PTRACE_EVENT_EXEC, + old_pid); put_binfmt(fmt); allow_write_access(bprm->file); if (bprm->file) diff --git a/trunk/include/trace/events/sched.h b/trunk/include/trace/events/sched.h index e61ddfe8fe9e..6ba596b07a72 100644 --- a/trunk/include/trace/events/sched.h +++ b/trunk/include/trace/events/sched.h @@ -6,7 +6,6 @@ #include #include -#include /* * Tracepoint for calling kthread_stop, performed to end a kthread: @@ -276,32 +275,6 @@ TRACE_EVENT(sched_process_fork, __entry->child_comm, __entry->child_pid) ); -/* - * Tracepoint for exec: - */ -TRACE_EVENT(sched_process_exec, - - TP_PROTO(struct task_struct *p, pid_t old_pid, - struct linux_binprm *bprm), - - TP_ARGS(p, old_pid, bprm), - - TP_STRUCT__entry( - __string( filename, bprm->filename ) - __field( pid_t, pid ) - __field( pid_t, old_pid ) - ), - - TP_fast_assign( - __assign_str(filename, bprm->filename); - __entry->pid = p->pid; - __entry->old_pid = p->pid; - ), - - TP_printk("filename=%s pid=%d old_pid=%d", __get_str(filename), - __entry->pid, __entry->old_pid) -); - /* * XXX the below sched_stat tracepoints only apply to SCHED_OTHER/BATCH/IDLE * adding sched_stat support to SCHED_FIFO/RR would be welcome. diff --git a/trunk/kernel/trace/trace_output.c b/trunk/kernel/trace/trace_output.c index 0d6ff3555942..3efd718984fb 100644 --- a/trunk/kernel/trace/trace_output.c +++ b/trunk/kernel/trace/trace_output.c @@ -300,7 +300,7 @@ ftrace_print_flags_seq(struct trace_seq *p, const char *delim, unsigned long mask; const char *str; const char *ret = p->buffer + p->len; - int i; + int i, first = 1; for (i = 0; flag_array[i].name && flags; i++) { @@ -310,8 +310,10 @@ ftrace_print_flags_seq(struct trace_seq *p, const char *delim, str = flag_array[i].name; flags &= ~mask; - if (p->len && delim) + if (!first && delim) trace_seq_puts(p, delim); + else + first = 0; trace_seq_puts(p, str); } diff --git a/trunk/tools/perf/util/probe-event.c b/trunk/tools/perf/util/probe-event.c index 8379252e75c4..c1a513e56764 100644 --- a/trunk/tools/perf/util/probe-event.c +++ b/trunk/tools/perf/util/probe-event.c @@ -34,6 +34,7 @@ #include "util.h" #include "event.h" +#include "string.h" #include "strlist.h" #include "debug.h" #include "cache.h" diff --git a/trunk/tools/perf/util/thread_map.c b/trunk/tools/perf/util/thread_map.c index 84d9bd782004..e15983cf077d 100644 --- a/trunk/tools/perf/util/thread_map.c +++ b/trunk/tools/perf/util/thread_map.c @@ -229,7 +229,7 @@ static struct thread_map *thread_map__new_by_tid_str(const char *tid_str) if (!tid_str) { threads = malloc(sizeof(*threads) + sizeof(pid_t)); if (threads != NULL) { - threads->map[0] = -1; + threads->map[1] = -1; threads->nr = 1; } return threads; diff --git a/trunk/tools/perf/util/trace-event-parse.c b/trunk/tools/perf/util/trace-event-parse.c index a4088ced1e64..e0a4f652f289 100644 --- a/trunk/tools/perf/util/trace-event-parse.c +++ b/trunk/tools/perf/util/trace-event-parse.c @@ -1423,11 +1423,6 @@ static long long arg_num_eval(struct print_arg *arg) die("unknown op '%s'", arg->op.op); } break; - case '+': - left = arg_num_eval(arg->op.left); - right = arg_num_eval(arg->op.right); - val = left + right; - break; default: die("unknown op '%s'", arg->op.op); } @@ -1488,13 +1483,6 @@ process_fields(struct event *event, struct print_flag_sym **list, char **tok) free_token(token); type = process_arg(event, arg, &token); - - if (type == EVENT_OP) - type = process_op(event, arg, &token); - - if (type == EVENT_ERROR) - goto out_free; - if (test_type_token(type, token, EVENT_DELIM, ",")) goto out_free;