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

Maarten Lankhorst
2014-01-14T08:35:49Z

op 13-01-14 19:50, Colin Cross schreef:
> On Mon, Jan 13, 2014 at 4:31 AM, Maarten Lankhorst
> <maarten.lankhorst@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@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?
>
Indeed! Thanks for the catch.

~Maarten