[PATCH] IB/ehca: Serialize HCA-related hCalls on POWER5
Roland Dreier
rdreier at cisco.com
Mon Dec 10 10:22:39 EST 2007
> 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.
More information about the Linuxppc-dev
mailing list