ARM: leave it to core code to manage thread_info::cpu
Subsystems (2)
PATCH 1/1 ARM: leave it to core code to manage thread_info::cpu
Since commit bcf9033e5449 ("sched: move CPU field back into thread_info if THREAD_INFO_IN_TASK=y"), the CPU field in thread_info went back to being managed by the core code, so we no longer have to keep it in sync in arch code.
While at it, mark THREAD_INFO_IN_TASK as done for ARM in the documentation.
--- .../core/thread-info-in-task/arch-support.txt | 2 +- arch/arm/include/asm/switch_to.h | 14 -------------- arch/arm/kernel/smp.c | 3 --- 3 files changed, 1 insertion(+), 18 deletions(-)
Documentation/features/core/thread-info-in-task/arch-support.txt +1 -1
@@ -8,7 +8,7 @@ ----------------------- | alpha: | TODO | | arc: | TODO | - | arm: | TODO | + | arm: | ok | | arm64: | ok | | csky: | TODO | | h8300: | TODO |
arch/arm/include/asm/switch_to.h +0 -14
@@ -23,23 +23,9 @@*/ extern struct task_struct *__switch_to (struct task_struct *,struct thread_info *,struct thread_info *); -static inline void set_ti_cpu (struct task_struct *p) -{ -#ifdef CONFIG_THREAD_INFO_IN_TASK -/* -* The core code no longer maintains the thread_info::cpu field once -* CONFIG_THREAD_INFO_IN_TASK is in effect, but we rely on it for -* raw_smp_processor_id(), which cannot access struct task_struct* -* directly for reasons of circular #inclusion hell. -*/ -task_thread_info (p)->cpu =task_cpu (p); -#endif -} -#define switch_to (prev,next,last) \ do { \ __complete_pending_tlbi(); \ - set_ti_cpu(next); \ if (IS_ENABLED(CONFIG_CURRENT_POINTER_IN_TPIDRURO)) \ __this_cpu_write(__entry_task, next); \ last = __switch_to(prev,task_thread_info(prev), task_thread_info(next)); \
arch/arm/kernel/smp.c +0 -3
@@ -154,9 +154,6 @@ int __cpu_up(unsigned int cpu, struct task_struct *idle) secondary_data.swapper_pg_dir =get_arch_pgd (swapper_pg_dir);#endif secondary_data.task = idle; -if (IS_ENABLED (CONFIG_THREAD_INFO_IN_TASK )) -task_thread_info (idle)->cpu = cpu; -sync_cache_w (&secondary_data);/*
Signature · 7 lines
2.30.2 _______________________________________________ linux-arm-kernel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Quoted 9 lines · Ard Biesheuvel
Since commit
bcf9033e5449("sched: move CPU field back intothread_infoif THREAD_INFO_IN_TASK=y"), the CPU field inthread_infowent back to being managed by the core code, so we no longer have to keep it in sync in arch code.While at it, mark
THREAD_INFO_IN_TASKas done for ARM in the documentation.Signed-off-by Ard Biesheuvel <[email protected]>
Excellent wrap-up!
Yours,
Linus Walleij
_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Quoted 8 lines · Linus Walleij
Quoted 5 lines · Ard Biesheuvel
Since commit
bcf9033e5449("sched: move CPU field back intothread_infoif THREAD_INFO_IN_TASK=y"), the CPU field inthread_infowent back to being managed by the core code, so we no longer have to keep it in sync in arch code.
Quoted 8 lines
Quoted 4 lines
While at it, mark
THREAD_INFO_IN_TASKas done for ARM in the documentation.Signed-off-by Ard Biesheuvel <[email protected]>Excellent wrap-up!
Reviewed-by Linus Walleij <[email protected]>
Submitted as 9158/1
_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel