Xianting Tian <[email protected]> writes:
> Use set_current_state macro instead of current->state = TASK_RUNNING
>
> Signed-off-by: Xianting Tian <[email protected]>
> ---
>  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

Reply via email to