Re: About a shortcoming of the verbs API

Roland Dreier
2010-07-28T18:16:11Z

> > Actually, I tried to implement the completion callback
> > in a workqueue thread but ipoib_cm_handle_tx_wc() calls
> > netif_tx_lock() which isn't safe unless it is called
> > from an IRQ handler or netif_tx_lock_bh() is called first.

> Oh, sounds like a bug in IPoIB. I guess we could fix it by just
> changing it to netif_tx_lock_bh()? (Or is that not safe from an IRQ handler?)

Wait, is this still a problem with IPoIB? As far as I can tell, the
IPoIB completion handlers don't do anything except enable the NAPI poll
routine or the transmit ring timer (ie they just do napi_schedule() or
mod_timer()), so the context that the CQ callback is called in doesn't
matter. In particular I don't see any way ipoib_cm_handle_tx_wc() could
be reached except from the NAPI polling loop.

- R.
--
Roland Dreier <rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org> || For corporate legal information go to: