Re: Candidate Linux ABI for Intel AMX and hypothetical new related features

From: Florian Weimer
Date: Mon May 03 2021 - 09:47:35 EST


* Dave Hansen:

> On 5/2/21 10:18 PM, Florian Weimer wrote:
>>> 5. If the feature is enabled in XCR0, the user happily uses it.
>>>
>>> For AMX, Linux implements "transparent first use"
>>> so that it doesn't have to allocate 8KB context switch
>>> buffers for tasks that don't actually use AMX.
>>> It does this by arming XFD for all tasks, and taking a #NM
>>> to allocate a context switch buffer only for those tasks
>>> that actually execute AMX instructions.
>> What happens if the kernel cannot allocate that additional context
>> switch buffer?
>
> Well, it's vmalloc()'d and currently smaller that the kernel stack,
> which is also vmalloc()'d. While it can theoretically fail, if it
> happens you have bigger problems on your hands.

Not sure if I understand.

Is your position that the kernel should terminate processes if it runs
out of memory instead reporting proper errors, even if memory overcommit
is disabled?

Kernel stack allocation is different because it happens at system call,
so errors can be properly reported.

Thanks,
Florian