Messages in this thread | | | Date | Fri, 21 May 2021 10:12:54 +0100 | From | Catalin Marinas <> | Subject | Re: sve_user_discard |
| |
On Thu, May 20, 2021 at 04:02:03PM -0700, psodagud@codeaurora.org wrote: > This is regarding sve_user_disable(CPACR_EL1_ZEN_EL0EN) on every system > call. If a userspace task is using SVE instructions and making sys calls in > between, it would impact the performance of the thread. On every SVE > instructions after SVC/system call, it would trap to EL1. > > I think by setting CPACR_EL1_ZEN_EL0EN flag, the processor faults when it > runs an SVE instruction. This approach may be taken as part of FPSIMD > registers switching optimizations. Can below portion of the code use > thread.fpsimd_cpu and fpsimd_last_state variables to avoid clearing > CPACR_EL1_ZEN_EL0EN for this kind of use cases?
There were attempts over the past couple of years to optimise the syscall return use-case. I think the latest is this one:
https://lore.kernel.org/r/20201106193553.22946-2-broonie@kernel.org
I'll let Mark comment on his plans for reviving the series. Do you happen to have some realistic workload that would be improved by this? We can always write a micro-benchmark but I wonder how much this matters in the real world.
-- Catalin
| |