[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <mhng-7d24dba9-38a7-4267-b01c-388471412237@palmerdabbelt-glaptop>
Date: Tue, 28 Sep 2021 15:07:39 -0700 (PDT)
From: Palmer Dabbelt <palmer@...belt.com>
To: ardb@...nel.org
CC: linux-kernel@...r.kernel.org, ardb@...nel.org, keithpac@...zon.com,
linux@...linux.org.uk, catalin.marinas@....com, will@...nel.org,
mpe@...erman.id.au, benh@...nel.crashing.org,
christophe.leroy@...roup.eu, paulus@...ba.org,
Paul Walmsley <paul.walmsley@...ive.com>,
aou@...s.berkeley.edu, hca@...ux.ibm.com, gor@...ux.ibm.com,
borntraeger@...ibm.com, tglx@...utronix.de, mingo@...hat.com,
bp@...en8.de, peterz@...radead.org, keescook@...omium.org,
luto@...nel.org, Linus Torvalds <torvalds@...ux-foundation.org>,
Arnd Bergmann <arnd@...db.de>,
linux-arm-kernel@...ts.infradead.org,
linuxppc-dev@...ts.ozlabs.org, linux-riscv@...ts.infradead.org,
linux-s390@...r.kernel.org
Subject: Re: [RFC PATCH 7/8] riscv: rely on core code to keep thread_info::cpu updated
On Tue, 14 Sep 2021 05:10:35 PDT (-0700), ardb@...nel.org wrote:
> 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 <ardb@...nel.org>
> ---
> arch/riscv/kernel/asm-offsets.c | 1 -
> arch/riscv/kernel/entry.S | 5 -----
> arch/riscv/kernel/head.S | 1 -
> 3 files changed, 7 deletions(-)
>
> diff --git a/arch/riscv/kernel/asm-offsets.c b/arch/riscv/kernel/asm-offsets.c
> index 90f8ce64fa6f..478d9f02dab5 100644
> --- a/arch/riscv/kernel/asm-offsets.c
> +++ b/arch/riscv/kernel/asm-offsets.c
> @@ -33,7 +33,6 @@ void asm_offsets(void)
> OFFSET(TASK_TI_PREEMPT_COUNT, task_struct, thread_info.preempt_count);
> OFFSET(TASK_TI_KERNEL_SP, task_struct, thread_info.kernel_sp);
> OFFSET(TASK_TI_USER_SP, task_struct, thread_info.user_sp);
> - OFFSET(TASK_TI_CPU, task_struct, thread_info.cpu);
>
> OFFSET(TASK_THREAD_F0, task_struct, thread.fstate.f[0]);
> OFFSET(TASK_THREAD_F1, task_struct, thread.fstate.f[1]);
> diff --git a/arch/riscv/kernel/entry.S b/arch/riscv/kernel/entry.S
> index 98f502654edd..459eb1714353 100644
> --- a/arch/riscv/kernel/entry.S
> +++ b/arch/riscv/kernel/entry.S
> @@ -544,11 +544,6 @@ ENTRY(__switch_to)
> REG_L s9, TASK_THREAD_S9_RA(a4)
> REG_L s10, TASK_THREAD_S10_RA(a4)
> REG_L s11, TASK_THREAD_S11_RA(a4)
> - /* Swap the CPU entry around. */
> - lw a3, TASK_TI_CPU(a0)
> - lw a4, TASK_TI_CPU(a1)
> - sw a3, TASK_TI_CPU(a1)
> - sw a4, TASK_TI_CPU(a0)
> /* The offset of thread_info in task_struct is zero. */
> move tp, a1
> ret
> diff --git a/arch/riscv/kernel/head.S b/arch/riscv/kernel/head.S
> index fce5184b22c3..d5ec30ef6f5d 100644
> --- a/arch/riscv/kernel/head.S
> +++ b/arch/riscv/kernel/head.S
> @@ -317,7 +317,6 @@ clear_bss_done:
> call setup_trap_vector
> /* Restore C environment */
> la tp, init_task
> - sw zero, TASK_TI_CPU(tp)
> la sp, init_thread_union + THREAD_SIZE
>
> #ifdef CONFIG_KASAN
Acked-by: Palmer Dabbelt <palmerdabbelt@...gle.com>
Thanks!
Powered by blists - more mailing lists