Thread (87 messages) 87 messages, 12 authors, 2022-01-17

Re: [RFC PATCH 11/13] x86/uintr: Introduce uintr_wait() syscall

From: "Andy Lutomirski" <luto@kernel.org>
Date: 2021-09-29 03:30:59
Also in: linux-api, linux-kselftest, lkml

On Mon, Sep 13, 2021, at 1:01 PM, Sohil Mehta wrote:
Add a new system call to allow applications to block in the kernel and
wait for user interrupts.
...
When the application makes this syscall the notification vector is
switched to a new kernel vector. Any new SENDUIPI will invoke the kernel
interrupt which is then used to wake up the process.
Any new SENDUIPI that happens to hit the target CPU's ucode at a time when the kernel vector is enabled will deliver the interrupt.  Any new SENDUIPI that happens to hit the target CPU's ucode at a time when a different UIPI-using task is running will *not* deliver the interrupt, unless I'm missing some magic.  Which means that wakeups will be missed, which I think makes this whole idea a nonstarter.

Am I missing something?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help