title: How to interrupt userspace application in Linux
body: <p>I am developing a Linux DMA driver. The userspace application want the driver to perform asynchronous operation(Data transfer) and get informed only when the operation is completed. How does the userspace application get informed asynchronously?</p>
  
  <p>I know in kernel space, an interrupt handler can be installed to handle the completion interrupt. My question is for userspace because my data has to be processed in userspace. What I can think of is to create a thread in userspace and wait for the driver to complete the task. Is there better way of handling this? or am I thinking in the wrong direction?</p>
  
  <p>More generally, how to handle interrupt for Linux in userspace?</p>