Question abut DRQ handler

Yuxin Ren ryx at
Tue Jun 24 21:43:06 CEST 2014


When I go through the IPC code, I have some questions about dqr handler.
In the remote_ipc_send function within the thread-ipc.cpp file, I find a

"  // trigger remote_ipc_receiver_ready path, because we may need to grab
  // and this is forbidden in a DRQ handler. So transfer the IPC in usual
  // thread code. However, this induces a overhead of two extra IPIs."

I have some questions about this comment.

1. Why cannot we grab locks in a DRQ handler?
2. Where do we need to grab lock?
3. Why can extra IPI solve this problem?

Thank you very much.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the l4-hackers mailing list