Messages in this thread | | | Subject | Re: [PATCH] IB/ehca: Serialize HCA-related hCalls on POWER5 | From | Roland Dreier <> | Date | Sun, 09 Dec 2007 15:22:39 -0800 |
| |
> I think it needs some more inspection. The msleep in there is only called > for hcalls that return H_IS_LONG_BUSY(). In theory, you can call > ehca_plpar_hcall_norets() from inside an interrupt handler if the > hcall in question never returns long busy.
Fair enough... according to Documentation/infiniband/core_locking.txt, the only driver methods that cannot sleep are:
create_ah modify_ah query_ah destroy_ah bind_mw post_send post_recv poll_cq req_notify_cq map_phys_fmr
and I don't think ehca does an hcall from any of those. Of course there might be other driver-internal code paths that I don't know about. Maybe do a quick audit and then stick might_sleep() in the hcall functions to catch any mistakes?
- R.
| |