Steven Rostedt (Red Hat)
19dd603e45
ftrace: Fix function probe when more than one probe is added
When the first function probe is added and the function tracer
is updated the functions are modified to call the probe.
But when a second function is added, it updates the function
records to have the second function also update, but it fails
to update the actual function itself.
This prevents the second (or third or forth and so on) probes
from having their functions called.
# echo vfs_symlink:enable_event:sched:sched_switch > set_ftrace_filter
# echo vfs_unlink:enable_event:sched:sched_switch > set_ftrace_filter
# cat trace
# tracer: nop
#
# entries-in-buffer/entries-written: 0/0 #P:4
#
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID CPU# |||| TIMESTAMP FUNCTION
# | | | |||| | |
# touch /tmp/a
# rm /tmp/a
# cat trace
# tracer: nop
#
# entries-in-buffer/entries-written: 0/0 #P:4
#
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID CPU# |||| TIMESTAMP FUNCTION
# | | | |||| | |
# ln -s /tmp/a
# cat trace
# tracer: nop
#
# entries-in-buffer/entries-written: 414/414 #P:4
#
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID CPU# |||| TIMESTAMP FUNCTION
# | | | |||| | |
<idle>-0 [000] d..3 2847.923031: sched_switch: prev_comm=swapper/0 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=bash next_pid=2786 next_prio=120
<...>-3114 [001] d..4 2847.923035: sched_switch: prev_comm=ln prev_pid=3114 prev_prio=120 prev_state=x ==> next_comm=swapper/1 next_pid=0 next_prio=120
bash-2786 [000] d..3 2847.923535: sched_switch: prev_comm=bash prev_pid=2786 prev_prio=120 prev_state=S ==> next_comm=kworker/0:1 next_pid=34 next_prio=120
kworker/0:1-34 [000] d..3 2847.923552: sched_switch: prev_comm=kworker/0:1 prev_pid=34 prev_prio=120 prev_state=S ==> next_comm=swapper/0 next_pid=0 next_prio=120
<idle>-0 [002] d..3 2847.923554: sched_switch: prev_comm=swapper/2 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=sshd next_pid=2783 next_prio=120
sshd-2783 [002] d..3 2847.923660: sched_switch: prev_comm=sshd prev_pid=2783 prev_prio=120 prev_state=S ==> next_comm=swapper/2 next_pid=0 next_prio=120
Still need to update the functions even though the probe itself
does not need to be registered again when added a new probe.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
|
2013-05-09 20:16:27 -04:00 |
| .. |
|
debug
|
KGDB/KDB fixes and cleanups
|
2013-03-02 08:31:39 -08:00 |
|
events
|
Merge branch 'for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
|
2013-04-29 19:14:20 -07:00 |
|
gcov
|
kernel/gcov: remove depends on CONFIG_EXPERIMENTAL
|
2013-01-11 11:39:33 -08:00 |
|
irq
|
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
|
2013-02-26 20:16:07 -08:00 |
|
power
|
Driver core patches for 3.9-rc1
|
2013-02-21 12:05:51 -08:00 |
|
sched
|
Merge branch 'for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
|
2013-04-29 19:07:40 -07:00 |
|
time
|
clockevents: Don't allow dummy broadcast timers
|
2013-03-07 17:16:11 +01:00 |
|
trace
|
ftrace: Fix function probe when more than one probe is added
|
2013-05-09 20:16:27 -04:00 |
|
.gitignore
|
kernel/hz.bc: ignore.
|
2013-04-22 07:09:06 -07:00 |
|
acct.c
|
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
|
2013-02-26 20:16:07 -08:00 |
|
async.c
|
async: rename and redefine async_func_ptr
|
2013-03-12 13:59:14 -07:00 |
|
audit.c
|
audit: don't check if kauditd is valid every time
|
2013-04-29 15:54:26 -07:00 |
|
audit.h
|
audit: remove unnecessary #if CONFIG_AUDIT
|
2013-04-29 15:54:26 -07:00 |
|
audit_tree.c
|
kernel/audit_tree.c: tree will leak memory when failure occurs in audit_trim_trees()
|
2013-04-29 15:54:26 -07:00 |
|
audit_watch.c
|
audit: catch possible NULL audit buffers
|
2013-01-11 14:54:55 -08:00 |
|
auditfilter.c
|
kernel/auditfilter.c: tree and watch will memory leak when failure occurs
|
2013-04-29 15:54:26 -07:00 |
|
auditsc.c
|
kernel/auditsc.c: use kzalloc instead of kmalloc+memset
|
2013-04-29 15:54:26 -07:00 |
|
backtracetest.c
|
|
|
|
bounds.c
|
|
|
|
capability.c
|
Add file_ns_capable() helper function for open-time capability checking
|
2013-04-14 10:06:31 -07:00 |
|
cgroup.c
|
Merge branch 'for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
|
2013-04-29 19:14:20 -07:00 |
|
cgroup_freezer.c
|
cgroup: rename ->create/post_create/pre_destroy/destroy() to ->css_alloc/online/offline/free()
|
2012-11-19 08:13:38 -08:00 |
|
compat.c
|
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
|
2013-02-23 18:50:11 -08:00 |
|
configs.c
|
|
|
|
context_tracking.c
|
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|
2013-02-19 18:19:48 -08:00 |
|
cpu.c
|
Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|
2013-02-19 19:04:55 -08:00 |
|
cpu_pm.c
|
kernel/cpu_pm.c: fix various typos
|
2012-05-31 17:49:27 -07:00 |
|
cpuset.c
|
Merge branch 'for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
|
2013-04-29 19:14:20 -07:00 |
|
crash_dump.c
|
|
|
|
cred.c
|
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
|
2012-12-18 10:55:28 -08:00 |
|
delayacct.c
|
cputime: Use accessors to read task cputime stats
|
2013-01-27 19:23:31 +01:00 |
|
dma.c
|
|
|
|
elfcore.c
|
|
|
|
exec_domain.c
|
|
|
|
exit.c
|
Revert "lockdep: check that no locks held at freeze time"
|
2013-03-31 11:38:33 -07:00 |
|
extable.c
|
|
|
|
fork.c
|
userns: Don't allow CLONE_NEWUSER | CLONE_FS
|
2013-03-13 15:00:20 -07:00 |
|
freezer.c
|
freezer: change ptrace_stop/do_signal_stop to use freezable_schedule()
|
2012-10-26 14:27:49 -07:00 |
|
futex.c
|
futex: fix kernel-doc notation and spello
|
2013-03-12 20:42:10 -07:00 |
|
futex_compat.c
|
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
|
2013-02-23 18:50:11 -08:00 |
|
groups.c
|
|
|
|
hrtimer.c
|
hrtimer: Don't reinitialize a cpu_base lock on CPU_UP
|
2013-03-26 21:34:57 +01:00 |
|
hung_task.c
|
|
|
|
irq_work.c
|
Merge branch 'nohz/printk-v8' into irq/core
|
2013-02-05 00:48:46 +01:00 |
|
itimer.c
|
|
|
|
jump_label.c
|
jump_label: Export jump_label_rate_limit()
|
2012-08-06 19:00:35 +03:00 |
|
kallsyms.c
|
vsprintf: fix %ps on non symbols when using kallsyms
|
2012-05-29 16:22:32 -07:00 |
|
kcmp.c
|
kcmp: include linux/ptrace.h
|
2012-12-20 17:40:19 -08:00 |
|
Kconfig.freezer
|
|
|
|
Kconfig.hz
|
|
|
|
Kconfig.locks
|
locking: Adjust spin lock inlining Kconfig options
|
2012-09-13 17:56:13 +02:00 |
|
Kconfig.preempt
|
|
|
|
kexec.c
|
kexec, vmalloc: export additional vmalloc layer information
|
2013-04-29 15:54:34 -07:00 |
|
kmod.c
|
Merge branch 'master' into for-3.9-async
|
2013-01-23 09:31:01 -08:00 |
|
kprobes.c
|
kprobes: Fix a double lock bug of kprobe_mutex
|
2013-04-18 08:58:38 -07:00 |
|
ksysfs.c
|
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|
2012-12-11 18:10:49 -08:00 |
|
kthread.c
|
Merge branch 'for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
|
2013-04-29 19:07:40 -07:00 |
|
latencytop.c
|
|
|
|
lglock.c
|
brlocks/lglocks: turn into functions
|
2012-05-29 23:28:41 -04:00 |
|
lockdep.c
|
lockdep: Consolidate bug messages into a single print_lockdep_off() function
|
2013-04-26 08:37:22 +02:00 |
|
lockdep_internals.h
|
|
|
|
lockdep_proc.c
|
lockdep: Use KSYM_NAME_LEN'ed buffer for __get_key_name()
|
2012-10-24 12:39:09 +02:00 |
|
lockdep_states.h
|
|
|
|
Makefile
|
Merge branch 'akpm' (final batch from Andrew)
|
2013-02-27 20:58:09 -08:00 |
|
modsign_certificate.S
|
MODSIGN: Avoid using .incbin in C source
|
2012-12-14 13:06:44 +10:30 |
|
modsign_pubkey.c
|
keys: use keyring_alloc() to create module signing keyring
|
2012-12-20 17:40:21 -08:00 |
|
module-internal.h
|
MODSIGN: Move the magic string to the end of a module and eliminate the search
|
2012-10-19 17:30:40 -07:00 |
|
module.c
|
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
|
2013-02-26 20:16:07 -08:00 |
|
module_signing.c
|
MODSIGN: Don't use enum-type bitfields in module signature info block
|
2012-12-05 11:27:24 +10:30 |
|
mutex-debug.c
|
|
|
|
mutex-debug.h
|
|
|
|
mutex.c
|
mutex: Back out architecture specific check for negative mutex count
|
2013-04-19 09:33:36 +02:00 |
|
mutex.h
|
|
|
|
notifier.c
|
|
|
|
nsproxy.c
|
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
|
2013-02-26 20:16:07 -08:00 |
|
padata.c
|
padata: use __this_cpu_read per-cpu helper
|
2012-12-06 17:16:23 +08:00 |
|
panic.c
|
taint: add explicit flag to show whether lock dep is still OK.
|
2013-01-21 17:17:57 +10:30 |
|
params.c
|
|
|
|
pid.c
|
hlist: drop the node parameter from iterators
|
2013-02-27 19:10:24 -08:00 |
|
pid_namespace.c
|
pid: Handle the exit of a multi-threaded init.
|
2013-03-26 03:41:23 -07:00 |
|
posix-cpu-timers.c
|
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|
2013-02-19 19:05:45 -08:00 |
|
posix-timers.c
|
posix-timers: convert to idr_alloc()
|
2013-02-27 19:10:19 -08:00 |
|
printk.c
|
printk: fix failure to return error in devkmsg_poll()
|
2013-04-29 18:28:14 -07:00 |
|
profile.c
|
profiling: Remove unused timer hook
|
2013-01-24 15:37:26 +01:00 |
|
ptrace.c
|
uprobes: Add exports for module use
|
2013-02-08 17:47:13 +01:00 |
|
range.c
|
|
|
|
rcu.h
|
rcu: Provide RCU CPU stall warnings for tiny RCU
|
2013-01-28 22:06:21 -08:00 |
|
rcupdate.c
|
Merge branches 'doctorture.2013.01.29a', 'fixes.2013.01.26a', 'tagcb.2013.01.24a' and 'tiny.2013.01.29b' into HEAD
|
2013-01-28 22:25:21 -08:00 |
|
rcutiny.c
|
Merge branches 'doctorture.2013.01.29a', 'fixes.2013.01.26a', 'tagcb.2013.01.24a' and 'tiny.2013.01.29b' into HEAD
|
2013-01-28 22:25:21 -08:00 |
|
rcutiny_plugin.h
|
rcu: Provide RCU CPU stall warnings for tiny RCU
|
2013-01-28 22:06:21 -08:00 |
|
rcutorture.c
|
rcu: Allow rcutorture to be built at low optimization levels
|
2013-02-04 12:18:20 -08:00 |
|
rcutree.c
|
kernel/: rename random32() to prandom_u32()
|
2013-04-29 18:28:42 -07:00 |
|
rcutree.h
|
Merge branches 'doctorture.2013.01.29a', 'fixes.2013.01.26a', 'tagcb.2013.01.24a' and 'tiny.2013.01.29b' into HEAD
|
2013-01-28 22:25:21 -08:00 |
|
rcutree_plugin.h
|
rcu: Make rcu_nocb_poll an early_param instead of module_param
|
2013-01-08 14:12:19 -08:00 |
|
rcutree_trace.c
|
rcu: Separate accounting of callbacks from callback-free CPUs
|
2012-11-16 10:05:57 -08:00 |
|
relay.c
|
new helper: file_inode(file)
|
2013-02-22 23:31:31 -05:00 |
|
res_counter.c
|
res_counter: return amount of charges after res_counter_uncharge()
|
2012-12-18 15:02:12 -08:00 |
|
resource.c
|
mem hotunplug: fix kfree() of bootmem memory
|
2013-04-29 15:54:40 -07:00 |
|
rtmutex-debug.c
|
sched/rt: Move rt specific bits into new header file
|
2013-02-07 20:51:08 +01:00 |
|
rtmutex-debug.h
|
|
|
|
rtmutex-tester.c
|
locking/rtmutex/tester: Set correct permissions on sysfs files
|
2013-04-10 14:48:37 +02:00 |
|
rtmutex.c
|
sched/rt: Move rt specific bits into new header file
|
2013-02-07 20:51:08 +01:00 |
|
rtmutex.h
|
|
|
|
rtmutex_common.h
|
|
|
|
rwsem.c
|
lockdep, rwsem: provide down_write_nest_lock()
|
2013-01-11 14:54:55 -08:00 |
|
seccomp.c
|
seccomp: Make syscall skipping and nr changes more consistent
|
2012-10-02 21:14:29 +10:00 |
|
semaphore.c
|
|
|
|
signal.c
|
kernel/signal.c: stop info leak via the tkill and the tgkill syscalls
|
2013-04-17 16:10:45 -07:00 |
|
smp.c
|
smp: make smp_call_function_many() use logic similar to smp_call_function_single()
|
2013-02-21 17:22:20 -08:00 |
|
smpboot.c
|
kthread: Prevent unpark race which puts threads on the wrong cpu
|
2013-04-12 14:18:43 +02:00 |
|
smpboot.h
|
smpboot: Provide infrastructure for percpu hotplug threads
|
2012-08-13 17:01:07 +02:00 |
|
softirq.c
|
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|
2013-03-05 18:10:04 -08:00 |
|
spinlock.c
|
|
|
|
srcu.c
|
srcu: use ACCESS_ONCE() to access sp->completed in srcu_read_lock()
|
2013-02-07 15:19:36 -08:00 |
|
stacktrace.c
|
|
|
|
stop_machine.c
|
stop_machine: Mark per cpu stopper enabled early
|
2013-02-26 22:25:17 +01:00 |
|
sys.c
|
PM / reboot: call syscore_shutdown() after disable_nonboot_cpus()
|
2013-04-08 22:10:40 +02:00 |
|
sys_ni.c
|
module: add syscall to load module from fd
|
2012-12-14 13:05:22 +10:30 |
|
sysctl.c
|
mm: replace hardcoded 3% with admin_reserve_pages knob
|
2013-04-29 15:54:36 -07:00 |
|
sysctl_binary.c
|
sysctl: fix null checking in bin_dn_node_address()
|
2013-02-27 19:10:21 -08:00 |
|
task_work.c
|
task_work: task_work_add() should not succeed after exit_task_work()
|
2012-09-13 16:47:34 +02:00 |
|
taskstats.c
|
taskstats: cgroupstats_user_cmd() may leak on error
|
2012-10-06 03:05:31 +09:00 |
|
test_kprobes.c
|
kernel/: rename random32() to prandom_u32()
|
2013-04-29 18:28:42 -07:00 |
|
time.c
|
time: don't inline EXPORT_SYMBOL functions
|
2013-02-21 17:22:19 -08:00 |
|
timeconst.bc
|
kernel: Replace timeconst.pl with a bc script
|
2013-02-16 23:17:25 +01:00 |
|
timer.c
|
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|
2013-02-19 18:19:48 -08:00 |
|
tracepoint.c
|
Tracing updates for Linux 3.10
|
2013-04-29 13:55:38 -07:00 |
|
tsacct.c
|
cputime: Use accessors to read task cputime stats
|
2013-01-27 19:23:31 +01:00 |
|
uid16.c
|
|
|
|
up.c
|
|
|
|
user-return-notifier.c
|
hlist: drop the node parameter from iterators
|
2013-02-27 19:10:24 -08:00 |
|
user.c
|
userns: Restrict when proc and sysfs can be mounted
|
2013-03-27 07:50:08 -07:00 |
|
user_namespace.c
|
userns: Changing any namespace id mappings should require privileges
|
2013-04-14 18:11:32 -07:00 |
|
utsname.c
|
kernel/utsname.c: fix wrong comment about clone_uts_ns()
|
2013-02-27 19:10:22 -08:00 |
|
utsname_sysctl.c
|
kernel/utsname_sysctl.c: put get/get_uts() into CONFIG_PROC_SYSCTL code block
|
2013-02-27 19:10:22 -08:00 |
|
wait.c
|
propagate name change to comments in kernel source
|
2012-12-06 10:39:54 +01:00 |
|
watchdog.c
|
Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|
2013-02-22 19:25:09 -08:00 |
|
workqueue.c
|
workqueue: use kmem_cache_free() instead of kfree()
|
2013-04-09 11:33:40 -07:00 |
|
workqueue_internal.h
|
workqueue: directly restore CPU affinity of workers from CPU_ONLINE
|
2013-03-19 13:45:21 -07:00 |