On Thu, Apr 19, 2018 at 11:58:45AM +0100, Dave Martin wrote: > This patch uses the new update_thread_flag() helpers to simplify a > couple of if () set; else clear; constructs. > > No functional change. > > Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx> > Cc: Catalin Marinas <catalin.marinas@xxxxxxx> > Cc: Will Deacon <will.deacon@xxxxxxx> > --- > arch/arm64/kernel/fpsimd.c | 19 +++++++------------ > 1 file changed, 7 insertions(+), 12 deletions(-) > > diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c > index 87a3536..0c4e7e0 100644 > --- a/arch/arm64/kernel/fpsimd.c > +++ b/arch/arm64/kernel/fpsimd.c > @@ -618,10 +618,8 @@ int sve_set_vector_length(struct task_struct *task, > task->thread.sve_vl = vl; > > out: > - if (flags & PR_SVE_VL_INHERIT) > - set_tsk_thread_flag(task, TIF_SVE_VL_INHERIT); > - else > - clear_tsk_thread_flag(task, TIF_SVE_VL_INHERIT); > + update_tsk_thread_flag(task, TIF_SVE_VL_INHERIT, > + flags & PR_SVE_VL_INHERIT); > > return 0; > } > @@ -902,7 +900,7 @@ void fpsimd_thread_switch(struct task_struct *next) > if (current->mm) > task_fpsimd_save(); > > - if (next->mm) { > + if (next->mm) > /* > * If we are switching to a task whose most recent userland > * FPSIMD state is already in the registers of *this* cpu, > @@ -910,13 +908,10 @@ void fpsimd_thread_switch(struct task_struct *next) > * the TIF_FOREIGN_FPSTATE flag so the state will be loaded > * upon the next return to userland. > */ > - if (__this_cpu_read(fpsimd_last_state.st) == > - &next->thread.uw.fpsimd_state > - && next->thread.fpsimd_cpu == smp_processor_id()) > - clear_tsk_thread_flag(next, TIF_FOREIGN_FPSTATE); > - else > - set_tsk_thread_flag(next, TIF_FOREIGN_FPSTATE); > - } > + update_tsk_thread_flag(next, TIF_FOREIGN_FPSTATE, > + __this_cpu_read(fpsimd_last_state.st) != > + &next->thread.uw.fpsimd_state || > + next->thread.fpsimd_cpu != smp_processor_id()); This will conflict with some patches in-flight from a chap called Dave Martin ;) Other than that: Acked-by: Will Deacon <will.deacon@xxxxxxx> Will