Now that the core code switched back to using thread_info::cpu to keep
a task's CPU number, we no longer need to keep it in sync explicitly. So
just drop the code that does this.

Signed-off-by: Ard Biesheuvel <a...@kernel.org>
---
This patch applies onto [0], which we hope to get merged for v5.16

[0] 
https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=arm32-ti-in-task-v5

 arch/arm/include/asm/switch_to.h | 14 --------------
 arch/arm/kernel/smp.c            |  3 ---
 2 files changed, 17 deletions(-)

diff --git a/arch/arm/include/asm/switch_to.h b/arch/arm/include/asm/switch_to.h
index db2be1f6550d..61e4a3c4ca6e 100644
--- a/arch/arm/include/asm/switch_to.h
+++ b/arch/arm/include/asm/switch_to.h
@@ -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 = p->cpu;
-#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));        \
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index cde5b6d8bac5..97ee6b1567e9 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -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);
 
        /*
-- 
2.30.2

Reply via email to