[openib-general] What context can CM be called from?
libor at topspin.com
Tue Mar 29 15:38:26 PST 2005
On Tue, Mar 29, 2005 at 09:29:35AM -0800, Sean Hefty wrote:
> Roland Dreier wrote:
> > Tziporet> Hi, If I remember correctly the verbs of create &
> > Tziporet> destroy AVs should be enabled from interrupt context too
> > Tziporet> since they are not privileged verbs. In VAPI we
> > Tziporet> implemented these verbs in this way and I think it is
> > Tziporet> important to keep it this way.
> > Yes, you're correct that the AV verbs are not privileged according to
> > the table in chapter 11 of the IB spec. I'm not sure that this
> > requires that they must be available from interrupt context but it is
> > reasonable for us to choose the policy that all non-privileged verbs
> > may be called from interrupt context.
> > Fixing mthca to allow the AH verbs to be callable from interrupt
> > context is easy -- the trivial patch is included below.
> > I'm not sure if this removes all obstructions to the CM being usable
> > from interrupt context.
> With this patch, changing the kmalloc in cm_alloc_msg() to use
> GFP_ATOMIC rather than GFP_KERNEL should allow the CM to be usable from
> interrupt context. Of course, I haven't actually tested this...
> I have no objection to this change however.
I could go either way on this issue myself. If the call can only be
made from thread context I will use schedule_work() to execute the
request to send the dreq. However, I would imagine that other CM users
would want to send requests in interrupt context...
More information about the general