Thread (91 messages) 91 messages, 7 authors, 2021-09-17

Re: [PATCH v9 12/26] x86/fpu/xstate: Use feature disable (XFD) to protect dynamic user state

From: Len Brown <lenb@kernel.org>
Date: 2021-08-31 22:16:10

On Mon, Aug 30, 2021 at 2:04 PM Dave Hansen [off-list ref] wrote:
On 8/24/21 4:17 PM, Len Brown wrote:
quoted
Even if your AMX thread pool threads were to invoke this system call
as soon as possible...
What is to say that the thread pool is created only at a time when memory
is available?  A thread could be created 24 hours into program execution
under OOM conditions and this system call will return ENOMEM, and your program
will in all likelihood throw up its arms and exit at the exact same place
it would exit for transparently allocated buffers.
I tried this exact line of reasoning with Thomas: it doesn't matter
where we run out of memory, we still need the same memory and we're
screwed either way.

However, Thomas expressed a clear preference for ABIs which return
memory failures explicitly at syscalls versus implicit failures which
can happen on random instructions.

One might say that the odds of checking for and handling a NULL value
(or ENOMEM) are the same as installing a signal handler.  *But*, it's
infinitely easier to unroll state and recover from a NULL than it is to
handle it from within a signal handler.  In other words, the explicit
ones *encourage* better programming.
I agree.
Indeed, I believe that there is universal agreement that a synchronous
return code
from a system call is a far superior programming model than decoding
the location of a failure in a system call.  (no, the IP isn't random -- it is
always the 1st instruction in that thread to touch a TMM register).
I'd prefer removing the demand-driven allocation at this point.
Adding a pre-allocate system call that can gracefully fail
(even though it never will) is independent from removing
demand-driver allocation.  I would leave this to application
developers.  Honestly, the kernel shouldn't care.

-- 
Len Brown, Intel Open Source Technology Center
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help