Commit 4a2f57ac authored by Ard Biesheuvel's avatar Ard Biesheuvel Committed by Russell King (Oracle)
Browse files

ARM: 9158/1: leave it to core code to manage thread_info::cpu



Since commit bcf9033e ("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.

Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
parent 251cc826
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
    -----------------------
    |       alpha: | TODO |
    |         arc: | TODO |
    |         arm: | TODO |
    |         arm: |  ok  |
    |       arm64: |  ok  |
    |        csky: | TODO |
    |       h8300: | TODO |
+0 −14
Original line number Diff line number Diff line
@@ -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));	\
+0 −3
Original line number Diff line number Diff line
@@ -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);

	/*