On Monday 10 December 2007 00:22, Roland Dreier wrote:
Fair enough... according to Documentation/infiniband/core_locking.txt,
the only driver methods that cannot sleep are:
[...]
map_phys_fmr
In fact, we do use hCalls there. Our hardware doesn't actually support FMRs,
so we translate a "map FMR" into a "reallocate PMR", which doesn't work
without hCalls. What's more, the hCalls involved (e.g. H_FREE_RESOURCE)
might well return H_LONG_BUSY, so the whole operation might sleep; no way
around it.
How should we deal with this?
Thanks,
Joachim