<br><font size=2><tt>"Michael S. Tsirkin" <mst@mellanox.co.il>
wrote on 04/25/2006 07:58:39 AM:<br>
<br>
> Quoting r. Shirley Ma <xma@us.ibm.com>:<br>
> > different drivers have different implementations for CQ completion
handler.<br>
> <br>
> Maybe these drivers should be changed then? Its a bit hard for
me <br>
> to imagine a<br>
> driver that doesn't get hardware interrupts in IRQ context. So why
can't<br>
> completion handler be called directly from there as well?<br>
> <br>
> -- <br>
> MST</tt></font>
<br>
<br><font size=2 face="sans-serif">These completion handler are called
directly from these, but under different contexts.</font>
<br>
<br><font size=2 face="sans-serif">The drivers does get hardware interrupts
in IRQ context, but you can always split </font>
<br><font size=2 face="sans-serif">the handler into two parts, hardware
interrupt context and software interrupt context.</font>
<br><font size=2 face="sans-serif">The more light weigh in hardware interrupts,
the better.<br>
</font>
<br><font size=2 face="sans-serif">IPoIB completion polling would be very
heavy if the HCA is faster enough. </font>
<br><font size=2 face="sans-serif">And the driver implementation shouldn't
prevent IPoIB to use both send/recv CQ </font>
<br><font size=2 face="sans-serif">handlers from working simultanously.
We do see the dramatic performance improvement </font>
<br><font size=2 face="sans-serif">on ehca with splitting CQs. With current
mthca implementation, polling CQs in hardware </font>
<br><font size=2 face="sans-serif">context, it does prevent to use two
CQ handlers simultanously since there is only one </font>
<br><font size=2 face="sans-serif">hardware interrupt for both send and
recv.</font>
<br>
<br><font size=2 face="sans-serif">I am working on a patch to see whether
using work queue in IPoIB completion polling</font>
<br><font size=2 face="sans-serif">with splitting CQs would improve performance
for all drivers.</font>
<br>
<br><font size=2 face="sans-serif">Thanks<br>
Shirley Ma<br>
IBM Linux Technology Center<br>
15300 SW Koll Parkway<br>
Beaverton, OR 97006-6063<br>
Phone(Fax): (503) 578-7638</font>