Re: [PATCH -v3 6/7] kexec jump: __ftrace_enabled_save/restore
- From: Vivek Goyal <vgoyal@xxxxxxxxxx>
- Date: Tue, 12 Aug 2008 09:06:09 -0400
On Tue, Aug 12, 2008 at 11:14:36AM +0800, Huang Ying wrote:
Add __ftrace_enabled_save/restore, used to disable ftrace for a
while. Now, this is used by kexec jump, which need a version without
lock, for general situation, a locked version should be used.
Signed-off-by: Huang Ying <ying.huang@xxxxxxxxx>
---
include/linux/ftrace.h | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -98,6 +98,27 @@ static inline void tracer_disable(void)
#endif
}
+/* Ftrace disable/restore without lock. Some synchronization mechanism
+ * must be used to prevent ftrace_enabled to be changed between
+ * disable/restore. */
+static inline int __ftrace_enabled_save(void)
+{
+#ifdef CONFIG_FTRACE
+ int saved_ftrace_enabled = ftrace_enabled;
+ ftrace_enabled = 0;
+ return saved_ftrace_enabled;
+#else
+ return 0;
+#endif
+}
+
+static inline void __ftrace_enabled_restore(int enabled)
+{
+#ifdef CONFIG_FTRACE
+ ftrace_enabled = enabled;
+#endif
+}
+
#ifdef CONFIG_FRAME_POINTER
/* TODO: need to fix this for ARM */
# define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0))
I guess steven would like to see a patch which introduces both locked
and lockless versions and with a very good comment explaining in what
kind of unusual situation one can use the lockless version.
Thanks
Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [PATCH -v3 6/7] kexec jump: __ftrace_enabled_save/restore
- From: Huang Ying
- Re: [PATCH -v3 6/7] kexec jump: __ftrace_enabled_save/restore
- References:
- [PATCH -v3 6/7] kexec jump: __ftrace_enabled_save/restore
- From: Huang Ying
- [PATCH -v3 6/7] kexec jump: __ftrace_enabled_save/restore
- Prev by Date: Re: MMC: s3cmci: wirte get_cd host ops
- Next by Date: Re: RFC: I/O bandwidth controller
- Previous by thread: [PATCH -v3 6/7] kexec jump: __ftrace_enabled_save/restore
- Next by thread: Re: [PATCH -v3 6/7] kexec jump: __ftrace_enabled_save/restore
- Index(es):
Relevant Pages
|