|
@@ -1549,22 +1549,6 @@ int ftrace_force_update(void)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static void ftrace_force_shutdown(void)
|
|
|
-{
|
|
|
- struct task_struct *task;
|
|
|
- int command = FTRACE_DISABLE_CALLS | FTRACE_UPDATE_TRACE_FUNC;
|
|
|
-
|
|
|
- mutex_lock(&ftraced_lock);
|
|
|
- task = ftraced_task;
|
|
|
- ftraced_task = NULL;
|
|
|
- ftraced_suspend = -1;
|
|
|
- ftrace_run_update_code(command);
|
|
|
- mutex_unlock(&ftraced_lock);
|
|
|
-
|
|
|
- if (task)
|
|
|
- kthread_stop(task);
|
|
|
-}
|
|
|
-
|
|
|
static __init int ftrace_init_debugfs(void)
|
|
|
{
|
|
|
struct dentry *d_tracer;
|
|
@@ -1795,17 +1779,16 @@ core_initcall(ftrace_dynamic_init);
|
|
|
# define ftrace_shutdown() do { } while (0)
|
|
|
# define ftrace_startup_sysctl() do { } while (0)
|
|
|
# define ftrace_shutdown_sysctl() do { } while (0)
|
|
|
-# define ftrace_force_shutdown() do { } while (0)
|
|
|
#endif /* CONFIG_DYNAMIC_FTRACE */
|
|
|
|
|
|
/**
|
|
|
- * ftrace_kill_atomic - kill ftrace from critical sections
|
|
|
+ * ftrace_kill - kill ftrace
|
|
|
*
|
|
|
* This function should be used by panic code. It stops ftrace
|
|
|
* but in a not so nice way. If you need to simply kill ftrace
|
|
|
* from a non-atomic section, use ftrace_kill.
|
|
|
*/
|
|
|
-void ftrace_kill_atomic(void)
|
|
|
+void ftrace_kill(void)
|
|
|
{
|
|
|
ftrace_disabled = 1;
|
|
|
ftrace_enabled = 0;
|
|
@@ -1815,27 +1798,6 @@ void ftrace_kill_atomic(void)
|
|
|
clear_ftrace_function();
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * ftrace_kill - totally shutdown ftrace
|
|
|
- *
|
|
|
- * This is a safety measure. If something was detected that seems
|
|
|
- * wrong, calling this function will keep ftrace from doing
|
|
|
- * any more modifications, and updates.
|
|
|
- * used when something went wrong.
|
|
|
- */
|
|
|
-void ftrace_kill(void)
|
|
|
-{
|
|
|
- mutex_lock(&ftrace_sysctl_lock);
|
|
|
- ftrace_disabled = 1;
|
|
|
- ftrace_enabled = 0;
|
|
|
-
|
|
|
- clear_ftrace_function();
|
|
|
- mutex_unlock(&ftrace_sysctl_lock);
|
|
|
-
|
|
|
- /* Try to totally disable ftrace */
|
|
|
- ftrace_force_shutdown();
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* register_ftrace_function - register a function for profiling
|
|
|
* @ops - ops structure that holds the function for profiling.
|