Messages in this thread | | | Date | Tue, 28 Sep 2021 21:31:34 -0700 | From | "Andy Lutomirski" <> | Subject | Re: [RFC PATCH 00/13] x86 User Interrupts support |
| |
On Mon, Sep 13, 2021, at 1:01 PM, Sohil Mehta wrote: > User Interrupts Introduction > ============================ > > User Interrupts (Uintr) is a hardware technology that enables delivering > interrupts directly to user space. > > Today, virtually all communication across privilege boundaries happens by going > through the kernel. These include signals, pipes, remote procedure calls and > hardware interrupt based notifications. User interrupts provide the foundation > for more efficient (low latency and low CPU utilization) versions of these > common operations by avoiding transitions through the kernel. >
...
I spent some time reviewing the docs (ISE) and contemplating how this all fits together, and I have a high level question:
Can someone give an example of a realistic workload that would benefit from SENDUIPI and precisely how it would use SENDUIPI? Or an example of a realistic workload that would benefit from hypothetical device-initiated user interrupts and how it would use them? I'm having trouble imagining something that wouldn't work as well or better by simply polling, at least on DMA-coherent architectures like x86.
(I can imagine some benefit to a hypothetical improved SENDUIPI with idential user semantics but that supported a proper interaction with the scheduler and blocking syscalls. But that's not what's documented in the ISE...)
--Andy
| |