[PATCH] sched: fix include for task_cpu_possible

Matthias Männich posted 1 patch 1 month, 4 weeks ago
kernel/sched/sched.h | 1 +
1 file changed, 1 insertion(+)
[PATCH] sched: fix include for task_cpu_possible
Posted by Matthias Männich 1 month, 4 weeks ago
From: Matthias Maennich <maennich@google.com>

Commit 2c390dda9e03 ("sched_ext: Make task_can_run_on_remote_rq() use
common task_allowed_on_cpu()") moved the call for task_cpu_possible from
kernel/sched/core.c, but did not add an include of linux/mmu_context.h
where this symbol is defined. Fix that by adding the missing include.

Fixes: 2c390dda9e03 ("sched_ext: Make task_can_run_on_remote_rq() use common task_allowed_on_cpu()")
Signed-off-by: Matthias Maennich <maennich@google.com>
---
 kernel/sched/sched.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index e2b7c5282f5d..a7832c53cc92 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -44,6 +44,7 @@
 #include <linux/lockdep.h>
 #include <linux/minmax.h>
 #include <linux/mm.h>
+#include <linux/mmu_context.h>
 #include <linux/module.h>
 #include <linux/mutex_api.h>
 #include <linux/plist.h>
-- 
2.46.1.824.gd892dcdcdd-goog
Re: [PATCH] sched: fix include for task_cpu_possible
Posted by Tejun Heo 1 month, 4 weeks ago
Hello,

On Mon, Sep 30, 2024 at 04:44:56PM +0000, Matthias Männich wrote:
> From: Matthias Maennich <maennich@google.com>
> 
> Commit 2c390dda9e03 ("sched_ext: Make task_can_run_on_remote_rq() use
> common task_allowed_on_cpu()") moved the call for task_cpu_possible from
> kernel/sched/core.c, but did not add an include of linux/mmu_context.h
> where this symbol is defined. Fix that by adding the missing include.
> 
> Fixes: 2c390dda9e03 ("sched_ext: Make task_can_run_on_remote_rq() use common task_allowed_on_cpu()")
> Signed-off-by: Matthias Maennich <maennich@google.com>
> ---
>  kernel/sched/sched.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
> index e2b7c5282f5d..a7832c53cc92 100644
> --- a/kernel/sched/sched.h
> +++ b/kernel/sched/sched.h
> @@ -44,6 +44,7 @@
>  #include <linux/lockdep.h>
>  #include <linux/minmax.h>
>  #include <linux/mm.h>
> +#include <linux/mmu_context.h>

Should the patch also remove mmu_context.h from kernel/sched/core.c?

Thanks.

-- 
tejun
Re: [PATCH] sched: fix include for task_cpu_possible
Posted by Matthias Männich 1 month, 4 weeks ago
On Mon, Sep 30, 2024 at 07:02:41AM -1000, Tejun Heo wrote:
>Hello,
>
>On Mon, Sep 30, 2024 at 04:44:56PM +0000, Matthias Männich wrote:
>> From: Matthias Maennich <maennich@google.com>
>>
>> Commit 2c390dda9e03 ("sched_ext: Make task_can_run_on_remote_rq() use
>> common task_allowed_on_cpu()") moved the call for task_cpu_possible from
>> kernel/sched/core.c, but did not add an include of linux/mmu_context.h
>> where this symbol is defined. Fix that by adding the missing include.
>>
>> Fixes: 2c390dda9e03 ("sched_ext: Make task_can_run_on_remote_rq() use common task_allowed_on_cpu()")
>> Signed-off-by: Matthias Maennich <maennich@google.com>
>> ---
>>  kernel/sched/sched.h | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
>> index e2b7c5282f5d..a7832c53cc92 100644
>> --- a/kernel/sched/sched.h
>> +++ b/kernel/sched/sched.h
>> @@ -44,6 +44,7 @@
>>  #include <linux/lockdep.h>
>>  #include <linux/minmax.h>
>>  #include <linux/mm.h>
>> +#include <linux/mmu_context.h>
>
>Should the patch also remove mmu_context.h from kernel/sched/core.c?

kernel/sched/core.c has a call to switch_mm_irqs_off, which is defined
in linux/mmu_context.h as well. So, no, the original include needs to
remain.

Cheers,
Matthias

>
>Thanks.
>
>-- 
>tejun
Re: [PATCH] sched: fix include for task_cpu_possible
Posted by Tejun Heo 1 month, 3 weeks ago
On Mon, Sep 30, 2024 at 11:48:42PM +0000, Matthias Männich wrote:
> > Should the patch also remove mmu_context.h from kernel/sched/core.c?
> 
> kernel/sched/core.c has a call to switch_mm_irqs_off, which is defined
> in linux/mmu_context.h as well. So, no, the original include needs to
> remain.

Hmm... I'm a bit confused. kernel/sched/core.c always includes
kernel/sched/sched.h which collects all the shared includes. Why does it
need to be repeated in core.c?

Thanks.

-- 
tejun