On Thu, Sep 30, 2021, at 10:24 AM, Sohil Mehta wrote:
On 9/30/2021 9:30 AM, Stefan Hajnoczi wrote:
On Tue, Sep 28, 2021 at 09:31:34PM -0700, Andy Lutomirski wrote:
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 was wondering the same thing. One thing came to mind:
An application that wants to be *interrupted* from what it's doing rather than waiting until the next polling point. For example, applications that are CPU-intensive and have green threads. I can't name a real application like this though :P.
Thank you Stefan and Andy for giving this some thought.
We are consolidating the information internally on where and how exactly we expect to see benefits with real workloads for the various sources of User Interrupts. It will take a few days to get back on this one.
Thanks!
(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, can you please provide some more context/details on this? Is this regarding the blocking syscalls discussion (in patch 11) or something else?
Yes, and I'll follow up there. I hereby upgrade my opinion of SENDUIPI wakeups to "probably doable but maybe not in a nice way."