lkml.org 
[lkml]   [2020]   [May]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] timers: Use set_current_state macro
Date
Xianting Tian <xianting_tian@126.com> writes:
> Use set_current_state macro instead of current->state = TASK_RUNNING
>
> Signed-off-by: Xianting Tian <xianting_tian@126.com>
> ---
> kernel/time/timer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/time/timer.c b/kernel/time/timer.c
> index 4820823..b9ecf87 100644
> --- a/kernel/time/timer.c
> +++ b/kernel/time/timer.c
> @@ -1882,7 +1882,7 @@ signed long __sched schedule_timeout(signed long timeout)
> printk(KERN_ERR "schedule_timeout: wrong timeout "
> "value %lx\n", timeout);
> dump_stack();
> - current->state = TASK_RUNNING;
> + set_current_state(TASK_RUNNING);

This is still wrong. Again:

"That's not the same and adds a barrier which is not needed.

Not a big problem in that particular error handling code path, but in
general you really have to look whether your replacement is resulting in
the same code.

If not then you need to make an argument in the changelog why you are
replacing existing code with something which is not fully equivalent.

For this particular case, please check the implementation and read the
documentation of set_current_state() in include/linux/sched.h."

Thanks,

tglx

\
 
 \ /
  Last update: 2020-05-19 10:37    [W:0.538 / U:0.540 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site