[PATCH 1/7] sched: allow try_to_wake_up to be used internally outside of core.c

Colin Cross ccross at google.com
Mon Jan 13 10:50:09 PST 2014


On Mon, Jan 13, 2014 at 4:31 AM, Maarten Lankhorst
<maarten.lankhorst at canonical.com> wrote:
> The kernel fence implementation doesn't use event queues, but needs
> to perform the same wake up. The symbol is not exported, since the
> fence implementation is not built as a module.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com>
> ---
>  include/linux/wait.h |    1 +
>  kernel/sched/core.c  |    2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/wait.h b/include/linux/wait.h
> index eaa00b10abaa..c54e3ef50134 100644
> --- a/include/linux/wait.h
> +++ b/include/linux/wait.h
> @@ -12,6 +12,7 @@
>  typedef struct __wait_queue wait_queue_t;
>  typedef int (*wait_queue_func_t)(wait_queue_t *wait, unsigned mode, int flags, void *key);
>  int default_wake_function(wait_queue_t *wait, unsigned mode, int flags, void *key);
> +int try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags);
>
>  struct __wait_queue {
>         unsigned int            flags;
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index a88f4a485c5e..f41d317042dd 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -1578,7 +1578,7 @@ static void ttwu_queue(struct task_struct *p, int cpu)
>   * Return: %true if @p was woken up, %false if it was already running.
>   * or @state didn't match @p's state.
>   */
> -static int
> +int
>  try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags)
>  {
>         unsigned long flags;
>

wake_up_state is already available in linux/sched.h, can you use that?


More information about the dri-devel mailing list