Re: [PATCH v2 01/17] asm: simd context helper API
From: Andy Lutomirski <luto@amacapital.net>
Date: 2018-08-26 14:18:56
Also in:
linux-arch, lkml
From: Andy Lutomirski <luto@amacapital.net>
Date: 2018-08-26 14:18:56
Also in:
linux-arch, lkml
On Aug 26, 2018, at 7:06 AM, Thomas Gleixner [off-list ref] wrote: Jason,quoted
On Sun, 26 Aug 2018, Jason A. Donenfeld wrote:quoted
On Sun, Aug 26, 2018 at 6:10 AM Thomas Gleixner [off-list ref] wrote: I'm not too fond of this simply because it requires that relax() step in all code pathes. I'd rather make that completely transparent by just marking the task as FPU using and let the context switch code deal with it in case that it gets preempted. I'll let one of my engineers look into that next week.Do you mean to say you intend to make kernel_fpu_end() and kernel_neon_end() only actually do something upon context switch, but not when it's actually called? So that multiple calls to kernel_fpu_begin() and kernel_neon_begin() can be made without penalty?On context switch and exit to user. That allows to keep those code pathes fully preemptible. Still twisting my brain around the details.
I think you’ll have to treat exit to user and context switch as different things. For exit to user, we want to restore the *user* state, but, for context switch, we’ll need to restore *kernel* state. Do user first as its own patch set. It’ll be less painful that way. And someone needs to rework PKRU for this to make sense. See previous threads.