<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/infiniband/ulp, branch linux-2.6.22.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.22.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.22.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2007-07-03T03:48:31+00:00</updated>
<entry>
<title>IPoIB/cm: Partial error clean up unmaps wrong address</title>
<updated>2007-07-03T03:48:31+00:00</updated>
<author>
<name>Ralph Campbell</name>
<email>ralph.campbell@qlogic.com</email>
</author>
<published>2007-06-29T18:37:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=841adfca9c5fc0fec6b1f0b2e5eb7a3b239a7730'/>
<id>urn:sha1:841adfca9c5fc0fec6b1f0b2e5eb7a3b239a7730</id>
<content type='text'>
If a page can't be allocated for the frag list of a skb, the code to
unmap the partially allocated list is off by one.  For exaple, if
'frags' equals one, i == 0, and the alloc_page() fails, then the old
loop would have unmapped mapping[1] which is uninitialized.  The same
would happen if the call to ib_dma_map_page() failed.

Signed-off-by: Ralph Campbell &lt;ralph.campbell@qlogic.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@dev.mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IPoIB/cm: Remove dead definition of struct ipoib_cm_id</title>
<updated>2007-06-21T20:39:08+00:00</updated>
<author>
<name>Roland Dreier</name>
<email>rolandd@cisco.com</email>
</author>
<published>2007-06-21T20:39:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=13ef5f44c3931dff1d75443a875e97b588d4b8f0'/>
<id>urn:sha1:13ef5f44c3931dff1d75443a875e97b588d4b8f0</id>
<content type='text'>
It's completely unused.

Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IPoIB/cm: Fix interoperability when MTU doesn't match</title>
<updated>2007-06-21T20:38:08+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@dev.mellanox.co.il</email>
</author>
<published>2007-06-20T16:22:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=82c3aca6ad9004169df8f2f8c0747686fe4003b3'/>
<id>urn:sha1:82c3aca6ad9004169df8f2f8c0747686fe4003b3</id>
<content type='text'>
IPoIB connected mode currently rejects a connection request unless the
supported MTU is &gt;= the local netdevice MTU. This breaks
interoperability with implementations that might have tweaked
IPOIB_CM_MTU, and there's real no longer a reason to do so: this test
is just a leftover from when we did not tweak MTU per-connection.  Fix
this by making the test as permissive as possible.

Signed-off-by: Michael S. Tsirkin &lt;mst@dev.mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IPoIB/cm: Initialize RX before moving QP to RTR</title>
<updated>2007-06-21T20:03:50+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@dev.mellanox.co.il</email>
</author>
<published>2007-06-19T10:40:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3ec7393a6858a1716e74aa81be6af76fd180021d'/>
<id>urn:sha1:3ec7393a6858a1716e74aa81be6af76fd180021d</id>
<content type='text'>
Fix a crasher bug in IPoIB CM: once a QP is in the RTR state, a
receive completion (or even an asynchronous error) might be observed
on this QP, so we have to initialize all of our receive data
structures before moving to the RTR state.

As an optimization (since modify_qp might take a long time), the
jiffies update done when moving RX to the passive_ids list is also
left in place to reduce the chance of the RX being misdetected as
stale.

This fixes bug &lt;https://bugs.openfabrics.org/show_bug.cgi?id=662&gt;.

Signed-off-by: Michael S. Tsirkin &lt;mst@dev.mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IPoIB/cm: Fix performance regression on Mellanox</title>
<updated>2007-05-29T23:07:09+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@dev.mellanox.co.il</email>
</author>
<published>2007-05-28T11:37:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ec56dc0b7f6c3fec20bbc2e98ff1a06edf2fc9b9'/>
<id>urn:sha1:ec56dc0b7f6c3fec20bbc2e98ff1a06edf2fc9b9</id>
<content type='text'>
commit 518b1646 ("IPoIB/cm: Fix SRQ WR leak") introduced a severe
performance regression on Mellanox cards, because keeping a QP in the
error state for extended periods of time moves hardware to the slow
path (until the QP is destroyed).  For example, MPI latency goes from
~3 usecs to ~7 usecs.

Fix this by posting a send WR on one of the QPs that are being
flushed, instead of using a separate drain QP that is kept in the
error state.

This fixes bug &lt;https://bugs.openfabrics.org/show_bug.cgi?id=636&gt;,
reported and bisected by Scott Weitzenkamp at Cisco and debugged by
Sasha Mikheev at Voltaire.

Signed-off-by: Michael S. Tsirkin &lt;mst@dev.mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IPoIB/cm: Drain cq in ipoib_cm_dev_stop()</title>
<updated>2007-05-24T21:02:40+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@dev.mellanox.co.il</email>
</author>
<published>2007-05-24T15:32:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2dfbfc37121d307e1f1d24c2979382cb17b19347'/>
<id>urn:sha1:2dfbfc37121d307e1f1d24c2979382cb17b19347</id>
<content type='text'>
Since NAPI polling is disabled while ipoib_cm_dev_stop() is running,
ipoib_cm_dev_stop() must poll the CQ itself in order to see the
packets draining.

Signed-off-by: Michael S. Tsirkin &lt;mst@dev.mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IPoIB/cm: Fix timeout check in ipoib_cm_dev_stop()</title>
<updated>2007-05-24T21:02:39+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@dev.mellanox.co.il</email>
</author>
<published>2007-05-24T21:02:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8fd357a6e3375083f7d321413eb8f6739491f342'/>
<id>urn:sha1:8fd357a6e3375083f7d321413eb8f6739491f342</id>
<content type='text'>
time_after() was used backwards, so the timeout occurred immediately.

Signed-off-by: Michael S. Tsirkin &lt;mst@dev.mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IPoIB/cm: Fix SRQ WR leak</title>
<updated>2007-05-21T20:35:40+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@dev.mellanox.co.il</email>
</author>
<published>2007-05-21T12:04:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=518b1646f8a31904ca637b8df0c1e31c34a7a3c2'/>
<id>urn:sha1:518b1646f8a31904ca637b8df0c1e31c34a7a3c2</id>
<content type='text'>
SRQ WR leakage has been observed with IPoIB/CM: e.g. flipping ports on
and off will, with time, leak out all WRs and then all connections
will start getting RNR NAKs.  Fix this in the way suggested by spec:
move the QP being destroyed to the error state, wait for "Last WQE
Reached" event and then post WR on a "drain QP" connected to the same
CQ.  Once we observe a completion on the drain QP, it's safe to call
ib_destroy_qp.

Signed-off-by: Michael S. Tsirkin &lt;mst@dev.mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IB/ipoib: Fix typos in error messages</title>
<updated>2007-05-21T20:29:15+00:00</updated>
<author>
<name>Michael S. Tsirkin</name>
<email>mst@dev.mellanox.co.il</email>
</author>
<published>2007-05-18T13:12:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=24bd1e4e32e88cd3d0675482d15bea498a922ca8'/>
<id>urn:sha1:24bd1e4e32e88cd3d0675482d15bea498a922ca8</id>
<content type='text'>
Trivial error message fixups.

Signed-off-by: Michael S. Tsirkin &lt;mst@dev.mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
<entry>
<title>IPoIB: Handle P_Key table reordering</title>
<updated>2007-05-19T15:51:54+00:00</updated>
<author>
<name>Yosef Etigin</name>
<email>yosefe@voltaire.com</email>
</author>
<published>2007-05-19T15:51:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=26bbf13ce1ca21ec69175bcc4b995cb8ffdf8593'/>
<id>urn:sha1:26bbf13ce1ca21ec69175bcc4b995cb8ffdf8593</id>
<content type='text'>
SM reconfiguration or failover possibly causes a shuffling of the values
in the P_Key table. Right now, IPoIB only queries for the P_Key index
once when it creates the device QP, and hence there are problems if the
index of a P_Key value changes.  Fix this by using the PKEY_CHANGE event
to trigger a recheck of the P_Key index.

Signed-off-by: Yosef Etigin &lt;yosefe@voltaire.com&gt;
Acked-by: Michael S. Tsirkin &lt;mst@dev.mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
</content>
</entry>
</feed>
