Steven Rostedt
93b3cca1cc
ftrace: Make all inline tags also include notrace
...
Commit 5963e317b1 ("ftrace/x86: Do not change stacks in DEBUG when
calling lockdep") prevented lockdep calls from the int3 breakpoint handler
from reseting the stack if a function that was called was in the process
of being converted for tracing and had a breakpoint on it. The idea is,
before calling the lockdep code, do a load_idt() to the special IDT that
kept the breakpoint stack from reseting. This worked well as a quick fix
for this kernel release, until a certain config caused a lockup in the
function tracer start up tests.
Investigating it, I found that the load_idt that was used to prevent
the int3 from changing stacks was itself being traced!
Even though the config had CONFIG_OPTIMIZE_INLINING disabled, and
all 'inline' tags were set to always inline, there were still cases that
it did not inline! This was caused by CONFIG_PARAVIRT_GUEST, where it
would add a pointer to the native_load_idt() which made that function
to be traced.
Commit 45959ee7aa ("ftrace: Do not function trace inlined functions")
only touched the 'inline' tags when CONFIG_OPMITIZE_INLINING was enabled.
PARAVIRT_GUEST shows that this was not enough and we need to also
mark always_inline with notrace as well.
Reported-by: Fengguang Wu <wfg@linux.intel.com >
Tested-by: Fengguang Wu <wfg@linux.intel.com >
Signed-off-by: Steven Rostedt <rostedt@goodmis.org >
2012-06-18 09:47:00 -04:00
..
2012-05-25 09:31:59 -07:00
2012-05-24 11:54:29 -07:00
2012-05-30 11:17:19 -07:00
2012-05-20 10:06:08 -03:00
2012-05-24 10:34:29 -07:00
2012-05-14 13:34:31 -07:00
2012-05-29 11:53:11 -07:00
2012-05-31 18:18:16 -04:00
2012-05-26 12:57:47 -07:00
2012-06-01 16:55:42 -07:00
2012-05-16 22:17:37 -04:00
2012-05-15 17:30:30 -04:00
2012-05-31 18:18:11 -07:00
2012-05-23 14:15:09 -07:00
2012-05-22 13:54:18 +10:00
2012-05-14 18:03:04 +01:00
2012-05-29 16:22:33 -07:00
2012-05-26 12:42:29 -07:00
2012-05-16 12:45:22 -04:00
2012-05-31 20:29:58 -04:00
2012-05-22 15:50:46 -07:00
2012-05-29 16:22:29 -07:00
2012-05-15 20:14:35 -04:00
2012-05-19 12:17:35 -06:00
2012-05-30 08:52:42 -07:00
2012-05-29 16:22:22 -07:00
2012-05-29 16:22:20 -07:00
2012-05-23 17:42:39 -07:00
2012-05-15 12:02:39 -07:00
2012-05-25 01:44:51 +02:00
2012-06-03 20:05:57 -07:00
2012-05-31 17:49:32 -07:00
2012-06-18 09:47:00 -04:00
2012-05-31 17:49:29 -07:00
2012-05-31 17:49:28 -07:00
2012-05-25 09:18:59 -07:00
2012-05-25 12:46:23 +05:30
2012-05-21 15:09:37 +02:00
2012-05-31 17:49:31 -07:00
2012-05-28 19:13:50 -03:00
2012-06-01 12:12:01 -04:00
2012-05-17 15:36:35 -04:00
2012-05-15 13:13:33 -04:00
2012-05-31 17:49:32 -07:00
2012-05-29 23:28:33 -04:00
2012-06-01 16:57:51 -07:00
2012-05-21 20:27:36 -07:00
2012-05-24 12:57:47 -07:00
2012-05-14 09:47:23 -03:00
2012-05-15 11:34:08 -04:00
2012-06-03 14:50:19 -07:00
2012-05-30 21:04:53 -04:00
2012-05-16 20:00:27 -04:00
2012-05-29 22:33:56 -04:00
2012-05-15 08:22:04 +02:00
2012-05-21 15:09:33 +02:00
2012-05-18 16:48:35 -06:00
2012-05-22 11:32:31 +02:00
2012-05-29 16:22:21 -07:00
2012-05-25 12:48:26 -04:00
2012-05-22 16:02:13 -07:00
2012-05-30 10:55:34 +02:00
2012-05-17 19:06:13 -04:00
2012-05-22 17:13:11 -04:00
2012-05-17 15:49:51 -04:00
2012-05-30 14:02:25 +02:00
2012-05-23 22:11:12 -04:00
2012-05-22 18:08:08 +02:00
2012-05-31 17:49:31 -07:00
2012-05-23 13:49:23 -04:00
2012-05-21 21:09:38 +02:00
2012-05-19 12:41:56 -06:00
2012-05-27 08:12:42 -04:00
2012-05-15 23:34:37 +02:00
2012-05-29 16:22:32 -07:00
2012-05-31 17:49:30 -07:00
2012-05-31 17:49:32 -07:00
2012-05-29 16:22:21 -07:00
2012-05-31 17:49:26 -07:00
2012-05-31 17:49:30 -07:00
2012-05-23 22:11:31 -04:00
2012-05-31 17:49:28 -07:00
2012-05-16 16:08:28 -03:00
2012-05-17 21:06:01 -03:00
2012-05-29 16:22:29 -07:00
2012-05-29 16:22:32 -07:00
2012-05-29 16:22:31 -07:00
2012-05-29 23:28:41 -04:00
2012-05-15 08:08:31 -07:00
2012-05-29 16:22:28 -07:00
2012-05-29 16:22:20 -07:00
2012-05-22 15:20:28 -04:00
2012-05-16 15:24:36 -04:00
2012-05-16 15:23:46 -04:00
2012-05-29 16:22:28 -07:00
2012-05-29 16:22:19 -07:00
2012-06-01 10:34:35 -07:00
2012-05-29 16:22:20 -07:00
2012-05-29 16:22:26 -07:00
2012-05-31 17:49:27 -07:00
2012-05-29 22:33:55 -04:00
2012-05-30 16:34:27 -04:00
2012-05-26 14:17:30 -04:00
2012-05-22 16:45:48 -04:00
2012-05-24 16:15:48 -04:00
2012-05-26 14:17:31 -04:00
2012-05-16 13:08:15 -04:00
2012-05-16 15:17:08 -04:00
2012-05-18 16:48:36 -06:00
2012-05-21 14:31:48 +01:00
2012-05-29 16:22:24 -07:00
2012-05-21 15:09:33 +02:00
2012-05-29 16:22:18 -07:00
2012-05-29 18:27:19 -07:00
2012-05-14 14:15:32 -07:00
2012-06-06 17:08:00 +02:00
2012-05-16 00:59:12 -04:00
2012-05-15 14:59:28 -07:00
2012-05-18 20:45:26 +02:00
2012-05-31 17:49:32 -07:00
2012-05-15 14:59:28 -07:00
2012-05-17 08:51:59 -07:00
2012-05-17 15:18:37 +02:00
2012-05-14 17:40:05 +01:00
2012-05-29 16:22:27 -07:00
2012-05-31 17:49:31 -07:00
2012-05-31 17:49:31 -07:00
2012-05-29 16:22:21 -07:00
2012-05-29 16:22:33 -07:00
2012-06-05 09:47:15 -07:00
2012-06-01 10:37:01 -04:00
2012-05-23 17:12:06 -07:00
2012-05-17 19:02:14 -04:00
2012-05-22 19:07:55 +09:00
2012-05-15 14:59:29 -07:00
2012-06-01 12:58:52 -04:00
2012-05-29 17:30:08 -04:00
2012-05-31 17:49:26 -07:00
2012-05-15 14:08:35 -07:00
2012-05-14 18:53:19 -04:00
2012-06-04 12:28:45 -07:00
2012-05-15 11:33:58 -04:00
2012-05-31 17:49:32 -07:00
2012-05-14 12:19:56 -07:00
2012-05-23 22:09:21 -04:00
2012-05-22 19:22:50 -07:00
2012-06-01 12:58:50 -04:00
2012-05-21 16:16:58 -07:00
2012-05-22 18:27:32 -07:00
2012-05-23 22:11:31 -04:00
2012-06-02 15:21:43 -07:00
2012-05-30 21:04:50 -04:00
2012-05-21 09:00:03 -07:00
2012-05-20 08:27:44 -03:00
2012-05-20 08:31:52 -03:00
2012-05-22 12:16:16 +09:30
2012-05-30 07:55:31 +02:00