<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/infiniband/core/user_mad.c, branch linux-4.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.3.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.3.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-08-30T19:48:21Z</updated>
<entry>
<title>IB/core: lock client data with lists_rwsem</title>
<updated>2015-08-30T19:48:21Z</updated>
<author>
<name>Haggai Eran</name>
</author>
<published>2015-07-30T14:50:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7c1eb45a22d76bb99236e7485958f87ef7c449cf'/>
<id>urn:sha1:7c1eb45a22d76bb99236e7485958f87ef7c449cf</id>
<content type='text'>
An ib_client callback that is called with the lists_rwsem locked only for
read is protected from changes to the IB client lists, but not from
ib_unregister_device() freeing its client data. This is because
ib_unregister_device() will remove the device from the device list with
lists_rwsem locked for write, but perform the rest of the cleanup,
including the call to remove() without that lock.

Mark client data that is undergoing de-registration with a new going_down
flag in the client data context. Lock the client data list with lists_rwsem
for write in addition to using the spinlock, so that functions calling the
callback would be able to lock only lists_rwsem for read and let callbacks
sleep.

Since ib_unregister_client() now marks the client data context, no need for
remove() to search the context again, so pass the client data directly to
remove() callbacks.

Reviewed-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Signed-off-by: Haggai Eran &lt;haggaie@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/mad: Add final OPA MAD processing</title>
<updated>2015-06-12T18:49:18Z</updated>
<author>
<name>Ira Weiny</name>
</author>
<published>2015-06-10T20:16:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8e4349d13f3365273d2ff17667b36f7e846df912'/>
<id>urn:sha1:8e4349d13f3365273d2ff17667b36f7e846df912</id>
<content type='text'>
For devices which support OPA MADs

   1) Use previously defined SMP support functions.

   2) Pass correct base version to ib_create_send_mad when processing OPA MADs.

   3) Process out_mad_key_index returned by agents for a response.  This is
      necessary because OPA SMP packets must carry a valid pkey.

   4) Carry the correct segment size (OPA vs IBTA) of RMPP messages within
      ib_mad_recv_wc.

   5) Handle variable length OPA MADs by:

        * Adjusting the 'fake' WC for locally routed SMP's to represent the
          proper incoming byte_len
        * out_mad_size is used from the local HCA agents
                1) when sending agent responses on the wire
                2) when passing responses through the local_completions
		   function

	NOTE: wc.byte_len includes the GRH length and therefore is different
	      from the in_mad_size specified to the local HCA agents.
	      out_mad_size should _not_ include the GRH length as it is added

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/mad: Support alternate Base Versions when creating MADs</title>
<updated>2015-06-12T18:49:17Z</updated>
<author>
<name>Ira Weiny</name>
</author>
<published>2015-06-06T18:38:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=da2dfaa3a35cb5b68fc6ab2e442339de03cacd09'/>
<id>urn:sha1:da2dfaa3a35cb5b68fc6ab2e442339de03cacd09</id>
<content type='text'>
In preparation to support the new OPA MAD Base version, add a base version
parameter to ib_create_send_mad and set it to IB_MGMT_BASE_VERSION for current
users.

Definition of the new base version and it's processing will occur in later
patches.

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>Merge branches 'bart-srp', 'generic-errors', 'ira-cleanups' and 'mwang-v8' into k.o/for-4.2</title>
<updated>2015-05-20T20:12:40Z</updated>
<author>
<name>Doug Ledford</name>
</author>
<published>2015-05-20T20:12:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=175e8efe69974e240a89fb3a4bbeeb0b892de10d'/>
<id>urn:sha1:175e8efe69974e240a89fb3a4bbeeb0b892de10d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>IB/user_mad: Fix buggy usage of port index</title>
<updated>2015-05-20T16:37:34Z</updated>
<author>
<name>Ira Weiny</name>
</author>
<published>2015-05-14T00:02:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=26c454288a4beac774ea31c15284783fcd75721d'/>
<id>urn:sha1:26c454288a4beac774ea31c15284783fcd75721d</id>
<content type='text'>
The addition of the rdma_cap_ib_mad is technically broken in ib_umad_remove_one
because the loop "i" value is not a port value.

This bug resulted in the ib_umad failing to properly remove its resources when
the core capability functions were converted to bit fields.

NOTE: e17371d73908 did not result in broken behavior on its own.  It was only
an issue when the implementation of rdma_cap_ib_mad was changed.

Pass the port value to rdma_cap_ib_mad.

Fixes: e17371d73908 ("IB/Verbs: Use management helper rdma_cap_ib_mad()")

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/user_mad: Use new start/end port functions</title>
<updated>2015-05-20T16:36:17Z</updated>
<author>
<name>Ira Weiny</name>
</author>
<published>2015-05-14T00:02:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab8be619b81a0d83706294bd791407e0f497d646'/>
<id>urn:sha1:ab8be619b81a0d83706294bd791407e0f497d646</id>
<content type='text'>
Use the new common rdma_[start|end]_port functions instead of using
local variables and figuring it out on the fly.

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/mad: Change ib_response_mad signature arguments</title>
<updated>2015-05-20T16:34:10Z</updated>
<author>
<name>Ira Weiny</name>
</author>
<published>2015-05-08T18:27:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=96909308542006215980874ce496101ea51aa031'/>
<id>urn:sha1:96909308542006215980874ce496101ea51aa031</id>
<content type='text'>
ib_response_mad only needs read access to the MAD header, not write access
to the entire mad struct, so replace struct ib_mad with const struct
ib_mad_hdr

Reviewed-By: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Reviewed-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/Verbs: Use management helper rdma_cap_ib_mad()</title>
<updated>2015-05-18T17:35:05Z</updated>
<author>
<name>Michael Wang</name>
</author>
<published>2015-05-05T12:50:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c757dea816407dc472452091e3ea941cef6638a2'/>
<id>urn:sha1:c757dea816407dc472452091e3ea941cef6638a2</id>
<content type='text'>
Introduce helper rdma_cap_ib_mad() to help us check if the port of an
IB device support Infiniband Management Datagrams.

Signed-off-by: Michael Wang &lt;yun.wang@profitbricks.com&gt;
Reviewed-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Tested-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Reviewed-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
Reviewed-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Tested-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/Verbs: Reform IB-core mad/agent/user_mad</title>
<updated>2015-05-18T17:35:04Z</updated>
<author>
<name>Michael Wang</name>
</author>
<published>2015-05-05T12:50:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=827f2a8b0a05846b8500c7db5f737238c03e71aa'/>
<id>urn:sha1:827f2a8b0a05846b8500c7db5f737238c03e71aa</id>
<content type='text'>
Use raw management helpers to reform IB-core mad/agent/user_mad.

Signed-off-by: Michael Wang &lt;yun.wang@profitbricks.com&gt;
Reviewed-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Tested-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Reviewed-by: Sean Hefty &lt;sean.hefty@intel.com&gt;
Reviewed-by: Jason Gunthorpe &lt;jgunthorpe@obsidianresearch.com&gt;
Tested-by: Doug Ledford &lt;dledford@redhat.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>IB/mad: Add user space RMPP support</title>
<updated>2014-08-11T03:36:00Z</updated>
<author>
<name>Ira Weiny</name>
</author>
<published>2014-08-08T23:00:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1471cb6ca67990a306500e69e52ffb28c93ccbbc'/>
<id>urn:sha1:1471cb6ca67990a306500e69e52ffb28c93ccbbc</id>
<content type='text'>
Using the new registration mechanism, define a flag that indicates the
user wishes to process RMPP messages in user space rather than have
the kernel process them.

Signed-off-by: Ira Weiny &lt;ira.weiny@intel.com&gt;
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
</feed>
