On Sun, Nov 11, 2018 at 10:02 PM Wanpeng Li <kernellwp@xxxxxxxxx> wrote: > On Thu, 8 Nov 2018 at 03:55, Sebastian Andrzej Siewior > <bigeasy@xxxxxxxxxxxxx> wrote: > > > > This is a refurbished series originally started by by Rik van Riel. The > > goal is load the FPU registers on return to userland and not on every > > context switch. By this optimisation we can: > > - avoid loading the registers if the task stays in kernel and does > > not return to userland > > - make kernel_fpu_begin() cheaper: it only saves the registers on the > > first invocation. The second invocation does not need save them again. > > Do you have any performance data? In WireGuard, the savings in not having to save/restore/save/restore/save/restore the registers winds up being in the order of hundreds of megabits.