<br><font size=2><tt>Roland Dreier <rdreier@cisco.com> wrote on 04/18/2006
01:45:17 PM:<br>
<br>
>  > > Actually, do you have some explanation for why this
helps performance?<br>
>  > > My intuition would be that it just generates more
interrupts for the<br>
>  > > same workload.<br>
> <br>
>  > The only lock contension in IPoIB I saw is tx_lock. When
seperating <br>
>  > the completion queue to have seperate completion handler.
It could improve<br>
>  > the performance. I didn't look at driver code, it might
have some impact <br>
>  > there? <br>
> <br>
> A clever way to avoid taking the TX lock on send completions would
be<br>
> very nice, but I never saw a way to do it.  Does splitting the
CQ<br>
> reduce contention?  I don't see why that would be, since the<br>
> contention is between sending and getting send completions.  The<br>
> receive path of course never touches the tx_lock.<br>
</tt></font>
<br><font size=2><tt>tx_lock contension will block the CQ handler to process
next wiki in CQ,</tt></font>
<br><font size=2><tt>which could be recv wiki or send wiki.</tt></font>
<br>
<br><font size=2><tt>> By the way, are your numbers with mthca or ehca?
 I don't know ehca<br>
> very well, but at least with current mthca, all CQ events will be<br>
> delivered on the same interrupt and hence all CQ handling will run
on<br>
> the same CPU.  So I'm puzzled why changing things from:<br>
> <br>
>     -> interrupt<br>
>     -> CQ event handler<br>
>     -> handle all IPoIB completions<br>
> <br>
> to:<br>
> <br>
>     -> interrupt<br>
>     -> TX CQ event handler<br>
>     -> handle TX completions<br>
>     [possibly another interrupt]<br>
>     -> RX CQ event handler<br>
>     -> handle RX completions<br>
> <br>
> helps throughput.  It just seems like it's more CQ locking/unlocking<br>
> and in general more work.<br>
> <br>
>  - R.<br>
</tt></font>
<br><font size=2><tt>If recv CQ and send CQ are at different rate, splitting
CQ would reduce CQ locking</tt></font>
<br><font size=2><tt>unlocking.</tt></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<br>
<br>
</font>