<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/infiniband/core/cache.c, branch v4.8.16</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.8.16</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.8.16'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2016-06-23T14:03:57+00:00</updated>
<entry>
<title>IB/core: Fix no default GIDs when netdevice reregisters</title>
<updated>2016-06-23T14:03:57+00:00</updated>
<author>
<name>Talat Batheesh</name>
<email>talatb@mellanox.com</email>
</author>
<published>2016-06-22T14:27:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f336ae03149725bb5844166c7b04f7f65f17eec9'/>
<id>urn:sha1:f336ae03149725bb5844166c7b04f7f65f17eec9</id>
<content type='text'>
Currently, when the netdevice returned by get_netdev is unregistered,
we delete all GIDs (including the default GIDs) and reset their
attributes. Therefore, when we re-register it, no default GIDs
will be assigned (as their "default GID") attribute will be reset.
Fixing this by keeping "default GID" attribute.

Fixes: 03db3a2d81e6 ('IB/core: Add RoCE GID table management')
Signed-off-by: Talat Batheesh &lt;talatb@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leon@kernel.org&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/core: Fix removal of default GID cache entry</title>
<updated>2016-06-07T13:50:53+00:00</updated>
<author>
<name>Aviv Heller</name>
<email>avivh@mellanox.com</email>
</author>
<published>2016-06-04T12:15:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8e787646fbce895c20c4433973e90af90e1c6a28'/>
<id>urn:sha1:8e787646fbce895c20c4433973e90af90e1c6a28</id>
<content type='text'>
When deleting a default GID from the cache, its gid_type field is set
to 0.

This could set the gid_type to RoCE v1 for a RoCE v2 default GID,
essentially making it inaccessible to future modifications, since it
is no longer found by find_gid().

This fix preserves the gid_type value for default gids during cache
operations.

Fixes: b39ffa1df505 ('IB/core: Add gid_type to gid attribute')
Signed-off-by: Aviv Heller &lt;avivh@mellanox.com&gt;
Signed-off-by: Leon Romanovsky &lt;leon@kernel.org&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/core: Fix oops in ib_cache_gid_set_default_gid</title>
<updated>2016-04-23T00:26:44+00:00</updated>
<author>
<name>Doug Ledford</name>
<email>dledford@redhat.com</email>
</author>
<published>2016-04-23T00:14:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f4e7de63ab273b6a5e35c82eb4fc6363c855ddd4'/>
<id>urn:sha1:f4e7de63ab273b6a5e35c82eb4fc6363c855ddd4</id>
<content type='text'>
When we fail to find the default gid index, we can't continue
processing in this routine or else we will pass a negative
index to later routines resulting in invalid memory access
attempts and a kernel oops.

Fixes: 03db3a2d81e6 (IB/core: Add RoCE GID table management)
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/core: trivial prink cleanup.</title>
<updated>2016-03-03T15:20:25+00:00</updated>
<author>
<name>Parav Pandit</name>
<email>pandit.parav@gmail.com</email>
</author>
<published>2016-03-01T19:20:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=aba25a3e96563083389fc7b9f7d35be6bdfe6579'/>
<id>urn:sha1:aba25a3e96563083389fc7b9f7d35be6bdfe6579</id>
<content type='text'>
1. Replaced printk with appropriate pr_warn, pr_err, pr_info.
2. Removed unnecessary prints around memory allocation failure
which are not required, as reported by the checkpatch script.

Signed-off-by: Parav Pandit &lt;pandit.parav@gmail.com&gt;
Reviewed-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Reviewed-by: Sagi Grimberg &lt;sagig@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/core: Eliminate sparse false context imbalance warning</title>
<updated>2016-01-19T20:26:21+00:00</updated>
<author>
<name>Matan Barak</name>
<email>matanb@mellanox.com</email>
</author>
<published>2015-12-30T14:14:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2e2cdace5a26507a564d319a1338920a838ef52e'/>
<id>urn:sha1:2e2cdace5a26507a564d319a1338920a838ef52e</id>
<content type='text'>
When write_gid function needs to do a sleep-able operation, it unlocks
table-&gt;rwlock and then relocks it. Sparse complains about context
imbalance.

This is safe as write_gid is always called with table-&gt;rwlock.
write_gid protects from simultaneous writes to this GID entry
by setting the GID_TABLE_ENTRY_INVALID flag.

Fixes: 9c584f049596 ('IB/core: Change per-entry lock in RoCE GID table to
		     one lock')
Signed-off-by: Matan Barak &lt;matanb@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/cma: Add configfs for rdma_cm</title>
<updated>2015-12-23T15:39:52+00:00</updated>
<author>
<name>Matan Barak</name>
<email>matanb@mellanox.com</email>
</author>
<published>2015-12-23T12:56:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=045959db65c67d7189dc89ecddb5fa10aafa449d'/>
<id>urn:sha1:045959db65c67d7189dc89ecddb5fa10aafa449d</id>
<content type='text'>
Users would like to control the behaviour of rdma_cm.
For example, old applications which don't set the
required RoCE gid type could be executed on RoCE V2
network types. In order to support this configuration,
we implement a configfs for rdma_cm.

In order to use the configfs, one needs to mount it and
mkdir &lt;IB device name&gt; inside rdma_cm directory.

The patch adds support for a single configuration file,
default_roce_mode. The mode can either be "IB/RoCE v1" or
"RoCE v2".

Signed-off-by: Matan Barak &lt;matanb@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/core: Add ROCE_UDP_ENCAP (RoCE V2) type</title>
<updated>2015-12-23T15:35:11+00:00</updated>
<author>
<name>Matan Barak</name>
<email>matanb@mellanox.com</email>
</author>
<published>2015-12-23T12:56:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7766a99fdcd30c78fc8299db9102e3624232007c'/>
<id>urn:sha1:7766a99fdcd30c78fc8299db9102e3624232007c</id>
<content type='text'>
Adding RoCE v2 GID type and port type. Vendors
which support this type will get their GID table
populated with RoCE v2 GIDs automatically.

Signed-off-by: Matan Barak &lt;matanb@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/core: Add gid_type to gid attribute</title>
<updated>2015-12-23T15:35:10+00:00</updated>
<author>
<name>Matan Barak</name>
<email>matanb@mellanox.com</email>
</author>
<published>2015-12-23T12:56:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b39ffa1df505378336a85064ad9ec403765bbb0b'/>
<id>urn:sha1:b39ffa1df505378336a85064ad9ec403765bbb0b</id>
<content type='text'>
In order to support multiple GID types, we need to store the gid_type
with each GID. This is also aligned with the RoCE v2 annex "RoCEv2 PORT
GID table entries shall have a "GID type" attribute that denotes the L3
Address type". The currently supported GID is IB_GID_TYPE_IB which is
also RoCE v1 GID type.

This implies that gid_type should be added to roce_gid_table meta-data.

Signed-off-by: Matan Barak &lt;matanb@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/core: don't search the GID table twice</title>
<updated>2015-12-23T15:32:06+00:00</updated>
<author>
<name>Matan Barak</name>
<email>matanb@mellanox.com</email>
</author>
<published>2015-10-28T14:52:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cee3c4d0c56876f46f4584385603adb30a7cacf7'/>
<id>urn:sha1:cee3c4d0c56876f46f4584385603adb30a7cacf7</id>
<content type='text'>
Previously, we've searched the GID table twice: first when we searched
the table for a GID matching the proposed new one, and second when we
didn't find a match, we searched again for an empty GID slot in the
table.  Instead, search the table once noting the first empty slot as
we search for our target GID.

Signed-off-by: Matan Barak &lt;matanb@mellanox.com&gt;
Reviewed-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/core: Change per-entry lock in RoCE GID table to one lock</title>
<updated>2015-12-23T15:19:54+00:00</updated>
<author>
<name>Matan Barak</name>
<email>matanb@mellanox.com</email>
</author>
<published>2015-10-28T14:52:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9c584f04959620e587b3b3d358076dab48a8893c'/>
<id>urn:sha1:9c584f04959620e587b3b3d358076dab48a8893c</id>
<content type='text'>
Previously, IB GID cached used a lock per entry. This could result
in spending a lot of CPU cycles for locking and unlocking just
in order to find a GID. Changing this in favor of one lock per
a GID table.

Signed-off-by: Matan Barak &lt;matanb@mellanox.com&gt;
Reviewed-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
</feed>
