All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH resend v2] ftrace: nuke clear_ftrace_function
@ 2018-05-09  9:33 Yisheng Xie
  2018-05-09 12:56 ` Steven Rostedt
  0 siblings, 1 reply; 3+ messages in thread
From: Yisheng Xie @ 2018-05-09  9:33 UTC (permalink / raw)
  To: rostedt, mingo; +Cc: linux-kernel, Yisheng Xie

clear_ftrace_function is not used outside of ftrace.c and is not help to
use a function, so nuke it per Steve's suggestion.

Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
---
v2:
 - nuke clear_ftrace_function instead of use it - per Steve

v1:
 - https://lkml.org/lkml/2018/1/29/944

 include/linux/ftrace.h |  2 --
 kernel/trace/ftrace.c  | 13 +------------
 2 files changed, 1 insertion(+), 14 deletions(-)

diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index 9c3c9a3..15518b5 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -223,7 +223,6 @@ enum ftrace_tracing_type_t {
  */
 int register_ftrace_function(struct ftrace_ops *ops);
 int unregister_ftrace_function(struct ftrace_ops *ops);
-void clear_ftrace_function(void);
 
 extern void ftrace_stub(unsigned long a0, unsigned long a1,
 			struct ftrace_ops *op, struct pt_regs *regs);
@@ -239,7 +238,6 @@ static inline int ftrace_nr_registered_ops(void)
 {
 	return 0;
 }
-static inline void clear_ftrace_function(void) { }
 static inline void ftrace_kill(void) { }
 static inline void ftrace_free_init_mem(void) { }
 static inline void ftrace_free_mem(struct module *mod, void *start, void *end) { }
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 8d83bcf..d4984f4 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -192,17 +192,6 @@ static void ftrace_pid_func(unsigned long ip, unsigned long parent_ip,
 	op->saved_func(ip, parent_ip, op, regs);
 }
 
-/**
- * clear_ftrace_function - reset the ftrace function
- *
- * This NULLs the ftrace function and in essence stops
- * tracing.  There may be lag
- */
-void clear_ftrace_function(void)
-{
-	ftrace_trace_function = ftrace_stub;
-}
-
 static void ftrace_sync(struct work_struct *work)
 {
 	/*
@@ -6689,7 +6678,7 @@ void ftrace_kill(void)
 {
 	ftrace_disabled = 1;
 	ftrace_enabled = 0;
-	clear_ftrace_function();
+	ftrace_trace_function = ftrace_stub;
 }
 
 /**
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH resend v2] ftrace: nuke clear_ftrace_function
  2018-05-09  9:33 [PATCH resend v2] ftrace: nuke clear_ftrace_function Yisheng Xie
@ 2018-05-09 12:56 ` Steven Rostedt
  2018-05-10  0:17   ` [PATCH v3] " Yisheng Xie
  0 siblings, 1 reply; 3+ messages in thread
From: Steven Rostedt @ 2018-05-09 12:56 UTC (permalink / raw)
  To: Yisheng Xie; +Cc: mingo, linux-kernel

On Wed, 9 May 2018 17:33:56 +0800
Yisheng Xie <xieyisheng1@huawei.com> wrote:

> clear_ftrace_function is not used outside of ftrace.c and is not help to
> use a function, so nuke it per Steve's suggestion.
> 
> Suggested-by: Steven Rostedt <rostedt@goodmis.org>
> Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
> ---
> v2:
>  - nuke clear_ftrace_function instead of use it - per Steve
> 
> v1:
>  - https://lkml.org/lkml/2018/1/29/944
> 
>  include/linux/ftrace.h |  2 --
>  kernel/trace/ftrace.c  | 13 +------------
>  2 files changed, 1 insertion(+), 14 deletions(-)
> 
> diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
> index 9c3c9a3..15518b5 100644
> --- a/include/linux/ftrace.h
> +++ b/include/linux/ftrace.h
> @@ -223,7 +223,6 @@ enum ftrace_tracing_type_t {
>   */
>  int register_ftrace_function(struct ftrace_ops *ops);
>  int unregister_ftrace_function(struct ftrace_ops *ops);
> -void clear_ftrace_function(void);
>  
>  extern void ftrace_stub(unsigned long a0, unsigned long a1,
>  			struct ftrace_ops *op, struct pt_regs *regs);
> @@ -239,7 +238,6 @@ static inline int ftrace_nr_registered_ops(void)
>  {
>  	return 0;
>  }
> -static inline void clear_ftrace_function(void) { }
>  static inline void ftrace_kill(void) { }
>  static inline void ftrace_free_init_mem(void) { }
>  static inline void ftrace_free_mem(struct module *mod, void *start, void *end) { }
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 8d83bcf..d4984f4 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -192,17 +192,6 @@ static void ftrace_pid_func(unsigned long ip, unsigned long parent_ip,
>  	op->saved_func(ip, parent_ip, op, regs);
>  }
>  
> -/**
> - * clear_ftrace_function - reset the ftrace function
> - *
> - * This NULLs the ftrace function and in essence stops
> - * tracing.  There may be lag
> - */

I agree that the function should be removed, but the comment is still
relevant.

> -void clear_ftrace_function(void)
> -{
> -	ftrace_trace_function = ftrace_stub;
> -}
> -
>  static void ftrace_sync(struct work_struct *work)
>  {
>  	/*
> @@ -6689,7 +6678,7 @@ void ftrace_kill(void)
>  {
>  	ftrace_disabled = 1;
>  	ftrace_enabled = 0;
> -	clear_ftrace_function();

	/* This will stop tracing, but there may be a lag */

-- Steve

> +	ftrace_trace_function = ftrace_stub;
>  }
>  
>  /**

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v3] ftrace: nuke clear_ftrace_function
  2018-05-09 12:56 ` Steven Rostedt
@ 2018-05-10  0:17   ` Yisheng Xie
  0 siblings, 0 replies; 3+ messages in thread
From: Yisheng Xie @ 2018-05-10  0:17 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: mingo, linux-kernel

clear_ftrace_function is not used outside of ftrace.c and is not help to
use a function, so nuke it per Steve's suggestion.

Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
---
v3:
 - remove clear_ftrace_function() but make comment in line. - per Steve

v2:
 - nuke clear_ftrace_function instead of use it - per Steve

v1:
 - https://lkml.org/lkml/2018/1/29/944

 include/linux/ftrace.h |  2 --
 kernel/trace/ftrace.c  | 14 ++------------
 2 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index 9c3c9a3..15518b5 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -223,7 +223,6 @@ enum ftrace_tracing_type_t {
  */
 int register_ftrace_function(struct ftrace_ops *ops);
 int unregister_ftrace_function(struct ftrace_ops *ops);
-void clear_ftrace_function(void);

 extern void ftrace_stub(unsigned long a0, unsigned long a1,
 			struct ftrace_ops *op, struct pt_regs *regs);
@@ -239,7 +238,6 @@ static inline int ftrace_nr_registered_ops(void)
 {
 	return 0;
 }
-static inline void clear_ftrace_function(void) { }
 static inline void ftrace_kill(void) { }
 static inline void ftrace_free_init_mem(void) { }
 static inline void ftrace_free_mem(struct module *mod, void *start, void *end) { }
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 8d83bcf..46e40a4 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -192,17 +192,6 @@ static void ftrace_pid_func(unsigned long ip, unsigned long parent_ip,
 	op->saved_func(ip, parent_ip, op, regs);
 }

-/**
- * clear_ftrace_function - reset the ftrace function
- *
- * This NULLs the ftrace function and in essence stops
- * tracing.  There may be lag
- */
-void clear_ftrace_function(void)
-{
-	ftrace_trace_function = ftrace_stub;
-}
-
 static void ftrace_sync(struct work_struct *work)
 {
 	/*
@@ -6689,7 +6678,8 @@ void ftrace_kill(void)
 {
 	ftrace_disabled = 1;
 	ftrace_enabled = 0;
-	clear_ftrace_function();
+	/* This will stop tracing, but there may be a lag */
+	ftrace_trace_function = ftrace_stub;
 }

 /**
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-05-10  0:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-09  9:33 [PATCH resend v2] ftrace: nuke clear_ftrace_function Yisheng Xie
2018-05-09 12:56 ` Steven Rostedt
2018-05-10  0:17   ` [PATCH v3] " Yisheng Xie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.