2019-07-27 17:00:38

by Eiichi Tsukata

[permalink] [raw]
Subject: [PATCH] sched/core: Remove the unused schedule_user() function

Since commit 02bc7768fe44 ("x86/asm/entry/64: Migrate error and IRQ exit
work to C and remove old assembly code"), it's no longer used.

Signed-off-by: Eiichi Tsukata <[email protected]>
---
kernel/sched/core.c | 19 -------------------
1 file changed, 19 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 2b037f195473..0079bebe0086 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3973,25 +3973,6 @@ void __sched schedule_idle(void)
} while (need_resched());
}

-#ifdef CONFIG_CONTEXT_TRACKING
-asmlinkage __visible void __sched schedule_user(void)
-{
- /*
- * If we come here after a random call to set_need_resched(),
- * or we have been woken up remotely but the IPI has not yet arrived,
- * we haven't yet exited the RCU idle mode. Do it here manually until
- * we find a better solution.
- *
- * NB: There are buggy callers of this function. Ideally we
- * should warn if prev_state != CONTEXT_USER, but that will trigger
- * too frequently to make sense yet.
- */
- enum ctx_state prev_state = exception_enter();
- schedule();
- exception_exit(prev_state);
-}
-#endif
-
/**
* schedule_preempt_disabled - called with preemption disabled
*
--
2.21.0



2019-07-29 08:33:45

by Qais Yousef

[permalink] [raw]
Subject: Re: [PATCH] sched/core: Remove the unused schedule_user() function

On 07/28/19 01:55, Eiichi Tsukata wrote:
> Since commit 02bc7768fe44 ("x86/asm/entry/64: Migrate error and IRQ exit
> work to C and remove old assembly code"), it's no longer used.

It seems to me that powerpc and sparc are still using it?

$ git grep SCHEDULE_USER
arch/powerpc/include/asm/context_tracking.h:#define SCHEDULE_USER bl schedule_user
arch/powerpc/include/asm/context_tracking.h:#define SCHEDULE_USER bl schedule
arch/powerpc/kernel/entry_64.S: SCHEDULE_USER
arch/sparc/kernel/rtrap_64.S:# define SCHEDULE_USER schedule_user
arch/sparc/kernel/rtrap_64.S:# define SCHEDULE_USER schedule
arch/sparc/kernel/rtrap_64.S: call SCHEDULE_USER

Cheers

--
Qais Yousef

>
> Signed-off-by: Eiichi Tsukata <[email protected]>
> ---
> kernel/sched/core.c | 19 -------------------
> 1 file changed, 19 deletions(-)
>
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index 2b037f195473..0079bebe0086 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -3973,25 +3973,6 @@ void __sched schedule_idle(void)
> } while (need_resched());
> }
>
> -#ifdef CONFIG_CONTEXT_TRACKING
> -asmlinkage __visible void __sched schedule_user(void)
> -{
> - /*
> - * If we come here after a random call to set_need_resched(),
> - * or we have been woken up remotely but the IPI has not yet arrived,
> - * we haven't yet exited the RCU idle mode. Do it here manually until
> - * we find a better solution.
> - *
> - * NB: There are buggy callers of this function. Ideally we
> - * should warn if prev_state != CONTEXT_USER, but that will trigger
> - * too frequently to make sense yet.
> - */
> - enum ctx_state prev_state = exception_enter();
> - schedule();
> - exception_exit(prev_state);
> -}
> -#endif
> -
> /**
> * schedule_preempt_disabled - called with preemption disabled
> *
> --
> 2.21.0
>

2019-07-29 09:28:59

by Eiichi Tsukata

[permalink] [raw]
Subject: Re: [PATCH] sched/core: Remove the unused schedule_user() function



On 2019/07/29 17:30, Qais Yousef wrote:
> On 07/28/19 01:55, Eiichi Tsukata wrote:
>> Since commit 02bc7768fe44 ("x86/asm/entry/64: Migrate error and IRQ exit
>> work to C and remove old assembly code"), it's no longer used.
>
> It seems to me that powerpc and sparc are still using it?
>
> $ git grep SCHEDULE_USER
> arch/powerpc/include/asm/context_tracking.h:#define SCHEDULE_USER bl schedule_user
> arch/powerpc/include/asm/context_tracking.h:#define SCHEDULE_USER bl schedule
> arch/powerpc/kernel/entry_64.S: SCHEDULE_USER
> arch/sparc/kernel/rtrap_64.S:# define SCHEDULE_USER schedule_user
> arch/sparc/kernel/rtrap_64.S:# define SCHEDULE_USER schedule
> arch/sparc/kernel/rtrap_64.S: call SCHEDULE_USER
>
> Cheers
>
> --
> Qais Yousef
>

Sorry, I misused cscope. The function is still used as you say.

Thanks

Eiichi

2019-07-29 12:10:01

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH] sched/core: Remove the unused schedule_user() function

On Sun, Jul 28, 2019 at 01:55:13AM +0900, Eiichi Tsukata wrote:
> Since commit 02bc7768fe44 ("x86/asm/entry/64: Migrate error and IRQ exit
> work to C and remove old assembly code"), it's no longer used.

Thanks!