<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/net/rds/iw_send.c, branch linux-4.4.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2015-10-29T02:27:18+00:00</updated>
<entry>
<title>RDS/IW: Convert to new memory registration API</title>
<updated>2015-10-29T02:27:18+00:00</updated>
<author>
<name>Sagi Grimberg</name>
<email>sagig@mellanox.com</email>
</author>
<published>2015-10-13T16:11:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9ddc87374af90ee694bcc8d3412c6f2b51df1fea'/>
<id>urn:sha1:9ddc87374af90ee694bcc8d3412c6f2b51df1fea</id>
<content type='text'>
Get rid of fast_reg page list and its construction.
Instead, just pass the RDS sg list to ib_map_mr_sg
and post the new ib_reg_wr.

This is done both for server IW RDMA_READ registration
and the client remote key registration.

Signed-off-by: Sagi Grimberg &lt;sagig@mellanox.com&gt;
Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Santosh Shilimkar &lt;santosh.shilimkar@oracle.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB: split struct ib_send_wr</title>
<updated>2015-10-08T10:09:10+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2015-10-08T08:16:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e622f2f4ad2142d2a613a57fb85f8cf737935ef5'/>
<id>urn:sha1:e622f2f4ad2142d2a613a57fb85f8cf737935ef5</id>
<content type='text'>
This patch split up struct ib_send_wr so that all non-trivial verbs
use their own structure which embedds struct ib_send_wr.  This dramaticly
shrinks the size of a WR for most common operations:

sizeof(struct ib_send_wr) (old):	96

sizeof(struct ib_send_wr):		48
sizeof(struct ib_rdma_wr):		64
sizeof(struct ib_atomic_wr):		96
sizeof(struct ib_ud_wr):		88
sizeof(struct ib_fast_reg_wr):		88
sizeof(struct ib_bind_mw_wr):		96
sizeof(struct ib_sig_handover_wr):	80

And with Sagi's pending MR rework the fast registration WR will also be
down to a reasonable size:

sizeof(struct ib_fastreg_wr):		64

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt; [srp, srpt]
Reviewed-by: Chuck Lever &lt;chuck.lever@oracle.com&gt; [sunrpc]
Tested-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Tested-by: Sagi Grimberg &lt;sagig@mellanox.com&gt;
Tested-by: Steve Wise &lt;swise@opengridcomputing.com&gt;
</content>
</entry>
<entry>
<title>RDS: Convert to ib_alloc_mr</title>
<updated>2015-08-30T22:08:46+00:00</updated>
<author>
<name>Sagi Grimberg</name>
<email>sagig@mellanox.com</email>
</author>
<published>2015-07-30T07:32:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fc27995942960c894bc4725435dce8750e44cd64'/>
<id>urn:sha1:fc27995942960c894bc4725435dce8750e44cd64</id>
<content type='text'>
Signed-off-by: Sagi Grimberg &lt;sagig@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>rds: re-entry of rds_ib_xmit/rds_iw_xmit</title>
<updated>2015-06-02T13:22:31+00:00</updated>
<author>
<name>Wengang Wang</name>
<email>wen.gang.wang@oracle.com</email>
</author>
<published>2015-05-21T05:11:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d655a9fbc8a51ac8d92db7ff5a599aab17dce3ca'/>
<id>urn:sha1:d655a9fbc8a51ac8d92db7ff5a599aab17dce3ca</id>
<content type='text'>
The BUG_ON at line 452/453 is triggered in function rds_send_xmit.

 441                         while (ret) {
 442                                 tmp = min_t(int, ret, sg-&gt;length -
 443                                                       conn-&gt;c_xmit_data_off);
 444                                 conn-&gt;c_xmit_data_off += tmp;
 445                                 ret -= tmp;
 446                                 if (conn-&gt;c_xmit_data_off == sg-&gt;length) {
 447                                         conn-&gt;c_xmit_data_off = 0;
 448                                         sg++;
 449                                         conn-&gt;c_xmit_sg++;
 450                                         if (ret != 0 &amp;&amp; conn-&gt;c_xmit_sg == rm-&gt;data.op_nents)
 451                                                 printk(KERN_ERR "conn %p rm %p sg %p ret %d\n", conn, rm, sg, ret);
 452                                         BUG_ON(ret != 0 &amp;&amp;
 453                                                conn-&gt;c_xmit_sg == rm-&gt;data.op_nents);
 454                                 }
 455                         }

it is complaining the total sent length is bigger that we want to send.

rds_ib_xmit() is wrong for the second entry for the same rds_message returning
wrong value.

the sg and off passed by rds_send_xmit to rds_ib_xmit is based on
scatterlist.offset/length, but the rds_ib_xmit action is based on
scatterlist.dma_address/dma_length. in case dma_length is larger than length
there is problem. for the 2nd and later entries of rds_ib_xmit for same
rds_message, at least one of the following two is wrong:

1) the scatterlist to start with,  the choosen one can far beyond the correct
   one.
2) the offset to start with within the scatterlist.

fix:
add op_dmasg and op_dmaoff to rm_data_op structure indicating the scatterlist
and offset within the it to start with for rds_ib_xmit respectively. op_dmasg
and op_dmaoff are initialized to zero when doing dma mapping for the first see
of the message and are changed when filling send slots.

the same applies to rds_iw_xmit too.

Signed-off-by: Wengang Wang &lt;wen.gang.wang@oracle.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>net: rds: Remove repeated function names from debug output</title>
<updated>2015-02-08T06:41:56+00:00</updated>
<author>
<name>Rasmus Villemoes</name>
<email>linux@rasmusvillemoes.dk</email>
</author>
<published>2015-02-05T22:17:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=11ac11999bae3c353f86b6e7dd0e43d4a0eada12'/>
<id>urn:sha1:11ac11999bae3c353f86b6e7dd0e43d4a0eada12</id>
<content type='text'>
The macro rdsdebug is defined as

  pr_debug("%s(): " fmt, __func__ , ##args)

Hence it doesn't make sense to include the name of the calling
function explicitly in the format string passed to rdsdebug.

Signed-off-by: Rasmus Villemoes &lt;linux@rasmusvillemoes.dk&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: rds: Use time_after() for time comparison</title>
<updated>2014-05-19T01:24:52+00:00</updated>
<author>
<name>Manuel Schölling</name>
<email>manuel.schoelling@gmx.de</email>
</author>
<published>2014-05-18T21:32:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=71fd762f2eef6acc848e262ac934fc694b49204e'/>
<id>urn:sha1:71fd762f2eef6acc848e262ac934fc694b49204e</id>
<content type='text'>
To be future-proof and for better readability the time comparisons are modified
to use time_after() instead of raw math.

Signed-off-by: Manuel Schölling &lt;manuel.schoelling@gmx.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/rds: use prink_ratelimited() instead of printk_ratelimit()</title>
<updated>2011-06-17T04:03:03+00:00</updated>
<author>
<name>Manuel Zerpies</name>
<email>manuel.f.zerpies@ww.stud.uni-erlangen.de</email>
</author>
<published>2011-06-16T02:09:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cb0a60564943db21ed3af975ac3d578cdc80b329'/>
<id>urn:sha1:cb0a60564943db21ed3af975ac3d578cdc80b329</id>
<content type='text'>
Since printk_ratelimit() shouldn't be used anymore (see comment in
include/linux/printk.h), replace it with printk_ratelimited()

Signed-off-by: Manuel Zerpies &lt;manuel.f.zerpies@ww.stud.uni-erlangen.de&gt;
Signed-off-by: David S. Miller &lt;davem@conan.davemloft.net&gt;
</content>
</entry>
<entry>
<title>Fix common misspellings</title>
<updated>2011-03-31T14:26:23+00:00</updated>
<author>
<name>Lucas De Marchi</name>
<email>lucas.demarchi@profusion.mobi</email>
</author>
<published>2011-03-31T01:57:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=25985edcedea6396277003854657b5f3cb31a628'/>
<id>urn:sha1:25985edcedea6396277003854657b5f3cb31a628</id>
<content type='text'>
Fixes generated by 'codespell' and manually reviewed.

Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@profusion.mobi&gt;
</content>
</entry>
<entry>
<title>RDS: Rename data op members prefix from m_ to op_</title>
<updated>2010-09-09T01:11:59+00:00</updated>
<author>
<name>Andy Grover</name>
<email>andy.grover@oracle.com</email>
</author>
<published>2010-01-28T02:04:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6c7cc6e4694dc464ae884332f2a322973497e3cf'/>
<id>urn:sha1:6c7cc6e4694dc464ae884332f2a322973497e3cf</id>
<content type='text'>
For consistency.

Signed-off-by: Andy Grover &lt;andy.grover@oracle.com&gt;
</content>
</entry>
<entry>
<title>RDS: Remove struct rds_rdma_op</title>
<updated>2010-09-09T01:11:58+00:00</updated>
<author>
<name>Andy Grover</name>
<email>andy.grover@oracle.com</email>
</author>
<published>2010-03-01T22:11:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f8b3aaf2ba8ca9e27b47f8bfdff07c8b968f2c05'/>
<id>urn:sha1:f8b3aaf2ba8ca9e27b47f8bfdff07c8b968f2c05</id>
<content type='text'>
A big changeset, but it's all pretty dumb.

struct rds_rdma_op was already embedded in struct rm_rdma_op.
Remove rds_rdma_op and put its members in rm_rdma_op. Rename
members with "op_" prefix instead of "r_", for consistency.

Of course this breaks a lot, so fixup the code accordingly.

Signed-off-by: Andy Grover &lt;andy.grover@oracle.com&gt;
</content>
</entry>
</feed>
