24 Jun
2014
24 Jun
'14
9:43 p.m.
Hi, 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 comment " // trigger remote_ipc_receiver_ready path, because we may need to grab locks // 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. Best, Yuxin