aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorPawit Pornkitprasan <p.pawit@gmail.com>2013-03-21 14:02:44 +0700
committerPawit Pornkitprasan <p.pawit@gmail.com>2013-03-21 14:03:15 +0700
commit99fed99a60000dcf75842a88103bfb513511cdd8 (patch)
tree3daa2950331a080c0292916a63e6b6e0056a365e /kernel
parentcdf733ed16cf85e9d89ed45f0eceb060f77955fd (diff)
parentef4fb40e21750ad9c3d1b017c61a9a69701039ff (diff)
downloadkernel_samsung_aries-99fed99a60000dcf75842a88103bfb513511cdd8.zip
kernel_samsung_aries-99fed99a60000dcf75842a88103bfb513511cdd8.tar.gz
kernel_samsung_aries-99fed99a60000dcf75842a88103bfb513511cdd8.tar.bz2
Merge 3.0.70
Change-Id: I4316261b071ad622fcf62dcae7874c2ea6d9604d
Diffstat (limited to 'kernel')
-rw-r--r--kernel/signal.c3
-rw-r--r--kernel/trace/Kconfig24
2 files changed, 17 insertions, 10 deletions
diff --git a/kernel/signal.c b/kernel/signal.c
index 51f2e69..0386710 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -437,6 +437,9 @@ flush_signal_handlers(struct task_struct *t, int force_default)
if (force_default || ka->sa.sa_handler != SIG_IGN)
ka->sa.sa_handler = SIG_DFL;
ka->sa.sa_flags = 0;
+#ifdef SA_RESTORER
+ ka->sa.sa_restorer = NULL;
+#endif
sigemptyset(&ka->sa.sa_mask);
ka++;
}
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 2ad39e5..57c92f2 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -386,24 +386,28 @@ config KPROBE_EVENT
If you want to use perf tools, this option is strongly recommended.
config DYNAMIC_FTRACE
- bool "enable/disable ftrace tracepoints dynamically"
+ bool "enable/disable function tracing dynamically"
depends on FUNCTION_TRACER
depends on HAVE_DYNAMIC_FTRACE
default y
help
- This option will modify all the calls to ftrace dynamically
- (will patch them out of the binary image and replace them
- with a No-Op instruction) as they are called. A table is
- created to dynamically enable them again.
+ This option will modify all the calls to function tracing
+ dynamically (will patch them out of the binary image and
+ replace them with a No-Op instruction) on boot up. During
+ compile time, a table is made of all the locations that ftrace
+ can function trace, and this table is linked into the kernel
+ image. When this is enabled, functions can be individually
+ enabled, and the functions not enabled will not affect
+ performance of the system.
+
+ See the files in /sys/kernel/debug/tracing:
+ available_filter_functions
+ set_ftrace_filter
+ set_ftrace_notrace
This way a CONFIG_FUNCTION_TRACER kernel is slightly larger, but
otherwise has native performance as long as no tracing is active.
- The changes to the code are done by a kernel thread that
- wakes up once a second and checks to see if any ftrace calls
- were made. If so, it runs stop_machine (stops all CPUS)
- and modifies the code to jump over the call to ftrace.
-
config FUNCTION_PROFILER
bool "Kernel function profiler"
depends on FUNCTION_TRACER