<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/drivers/infiniband/core/device.c, branch linus/master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/drivers/infiniband/core/device.c?h=linus%2Fmaster</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/drivers/infiniband/core/device.c?h=linus%2Fmaster'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2022-04-25T19:04:53Z</updated>
<entry>
<title>RDMA/core: Avoid flush_workqueue(system_unbound_wq) usage</title>
<updated>2022-04-25T19:04:53Z</updated>
<author>
<name>Tetsuo Handa</name>
<email>penguin-kernel@I-love.SAKURA.ne.jp</email>
</author>
<published>2022-04-19T22:18:57Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=ff815a89398d8bbfdc14ced98252bdae92126225'/>
<id>urn:sha1:ff815a89398d8bbfdc14ced98252bdae92126225</id>
<content type='text'>
Flushing system-wide workqueues is dangerous and will be forbidden.
Replace system_unbound_wq with local ib_unreg_wq.

Link: https://lore.kernel.org/r/252cefb0-a400-83f6-2032-333d69f52c1b@I-love.SAKURA.ne.jp
Signed-off-by: Tetsuo Handa &lt;penguin-kernel@I-love.SAKURA.ne.jp&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
</content>
</entry>
<entry>
<title>RDMA/core: Delete IPsec flow action logic from the core</title>
<updated>2022-04-09T05:25:06Z</updated>
<author>
<name>Leon Romanovsky</name>
<email>leonro@nvidia.com</email>
</author>
<published>2022-04-06T08:25:43Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=32313c6ae622ed7aa553fa1ee22d8e5f24146f0e'/>
<id>urn:sha1:32313c6ae622ed7aa553fa1ee22d8e5f24146f0e</id>
<content type='text'>
The removal of mlx5 flow steering logic, left the kernel without any RDMA
drivers that implements flow action callbacks supplied by RDMA/core. Any
user access to them caused to EOPNOTSUPP error, which can be achieved by
simply removing ioctl implementation.

Link: https://lore.kernel.org/r/a638e376314a2eb1c66f597c0bbeeab2e5de7faf.1649232994.git.leonro@nvidia.com
Reviewed-by: Raed Salem &lt;raeds@nvidia.com&gt;
Acked-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@nvidia.com&gt;
</content>
</entry>
<entry>
<title>RDMA/core: Let ib_find_gid() continue search even after empty entry</title>
<updated>2021-12-15T00:09:50Z</updated>
<author>
<name>Avihai Horon</name>
<email>avihaih@nvidia.com</email>
</author>
<published>2021-12-09T13:16:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=483d805191a23191f8294bbf9b4e94836f5d92e4'/>
<id>urn:sha1:483d805191a23191f8294bbf9b4e94836f5d92e4</id>
<content type='text'>
Currently, ib_find_gid() will stop searching after encountering the first
empty GID table entry. This behavior is wrong since neither IB nor RoCE
spec enforce tightly packed GID tables.

For example, when a valid GID entry exists at index N, and if a GID entry
is empty at index N-1, ib_find_gid() will fail to find the valid entry.

Fix it by making ib_find_gid() continue searching even after encountering
missing entries.

Fixes: 5eb620c81ce3 ("IB/core: Add helpers for uncached GID and P_Key searches")
Link: https://lore.kernel.org/r/e55d331b96cecfc2cf19803d16e7109ea966882d.1639055490.git.leonro@nvidia.com
Signed-off-by: Avihai Horon &lt;avihaih@nvidia.com&gt;
Reviewed-by: Mark Zhang &lt;markzhang@nvidia.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@nvidia.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
</content>
</entry>
<entry>
<title>RDMA/counter: Add optional counter support</title>
<updated>2021-10-12T15:48:05Z</updated>
<author>
<name>Aharon Landau</name>
<email>aharonl@nvidia.com</email>
</author>
<published>2021-10-08T12:24:32Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=5e2ddd1e598273d77f653c70df96fc417a2d0a85'/>
<id>urn:sha1:5e2ddd1e598273d77f653c70df96fc417a2d0a85</id>
<content type='text'>
An optional counter is a driver-specific counter that may be dynamically
enabled/disabled.  This enhancement allows drivers to expose counters
which are, for example, mutually exclusive and cannot be enabled at the
same time, counters that might degrades performance, optional debug
counters, etc.

Optional counters are marked with IB_STAT_FLAG_OPTIONAL flag. They are not
exported in sysfs, and must be at the end of all stats, otherwise the
attr-&gt;show() in sysfs would get wrong indexes for hwcounters that are
behind optional counters.

Link: https://lore.kernel.org/r/20211008122439.166063-7-markzhang@nvidia.com
Signed-off-by: Aharon Landau &lt;aharonl@nvidia.com&gt;
Signed-off-by: Neta Ostrovsky &lt;netao@nvidia.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@nvidia.com&gt;
Signed-off-by: Mark Zhang &lt;markzhang@nvidia.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
</content>
</entry>
<entry>
<title>RDMA: Globally allocate and release QP memory</title>
<updated>2021-08-03T16:44:27Z</updated>
<author>
<name>Leon Romanovsky</name>
<email>leonro@nvidia.com</email>
</author>
<published>2021-07-23T11:39:50Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=514aee660df493cd673154a6ba6bab745ec47b8c'/>
<id>urn:sha1:514aee660df493cd673154a6ba6bab745ec47b8c</id>
<content type='text'>
Convert QP object to follow IB/core general allocation scheme.  That
change allows us to make sure that restrack properly kref the memory.

Link: https://lore.kernel.org/r/48e767124758aeecc433360ddd85eaa6325b34d9.1627040189.git.leonro@nvidia.com
Reviewed-by: Gal Pressman &lt;galpress@amazon.com&gt; #efa
Tested-by: Gal Pressman &lt;galpress@amazon.com&gt;
Reviewed-by: Dennis Dalessandro &lt;dennis.dalessandro@cornelisnetworks.com&gt; #rdma and core
Tested-by: Dennis Dalessandro &lt;dennis.dalessandro@cornelisnetworks.com&gt;
Signed-off-by: Leon Romanovsky &lt;leonro@nvidia.com&gt;
Tested-by: Tatyana Nikolova &lt;tatyana.e.nikolova@intel.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
</content>
</entry>
<entry>
<title>IB/core: Read subnet_prefix in ib_query_port via cache.</title>
<updated>2021-07-16T13:57:28Z</updated>
<author>
<name>Anand Khoje</name>
<email>anand.a.khoje@oracle.com</email>
</author>
<published>2021-07-12T12:26:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=21bfee9c0c7754408b1f311bffe304caf3e62250'/>
<id>urn:sha1:21bfee9c0c7754408b1f311bffe304caf3e62250</id>
<content type='text'>
ib_query_port() calls device-&gt;ops.query_port() to get the port
attributes. The method of querying is device driver specific.  The same
function calls device-&gt;ops.query_gid() to get the GID and extract the
subnet_prefix (gid_prefix).

The GID and subnet_prefix are stored in a cache. But they do not get
read from the cache if the device is an Infiniband device. The
following change takes advantage of the cached subnet_prefix.
Testing with RDBMS has shown a significant improvement in performance
with this change.

Link: https://lore.kernel.org/r/20210712122625.1147-4-anand.a.khoje@oracle.com
Signed-off-by: Anand Khoje &lt;anand.a.khoje@oracle.com&gt;
Signed-off-by: Haakon Bugge &lt;haakon.bugge@oracle.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
</content>
</entry>
<entry>
<title>IB/core: Shifting initialization of device-&gt;cache_lock</title>
<updated>2021-07-16T13:57:28Z</updated>
<author>
<name>Anand Khoje</name>
<email>anand.a.khoje@oracle.com</email>
</author>
<published>2021-07-12T12:26:24Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=36721a6d4cf2a39f411e3ac04d5771d1ffef9d23'/>
<id>urn:sha1:36721a6d4cf2a39f411e3ac04d5771d1ffef9d23</id>
<content type='text'>
The lock cache_lock of struct ib_device is initialized in function
ib_cache_setup_one(). This is much later than the device initialization in
_ib_alloc_device().

This change shifts initialization of cache_lock in _ib_alloc_device().

Link: https://lore.kernel.org/r/20210712122625.1147-3-anand.a.khoje@oracle.com
Suggested-by: Haakon Bugge &lt;haakon.bugge@oracle.com&gt;
Signed-off-by: Anand Khoje &lt;anand.a.khoje@oracle.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
</content>
</entry>
<entry>
<title>IB/core: Removed port validity check from ib_get_cached_subnet_prefix</title>
<updated>2021-06-21T23:49:32Z</updated>
<author>
<name>Anand Khoje</name>
<email>anand.a.khoje@oracle.com</email>
</author>
<published>2021-06-16T15:45:07Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=c5f8f2c5e5bfd4fd5fc5c413051ad14b7873b1fd'/>
<id>urn:sha1:c5f8f2c5e5bfd4fd5fc5c413051ad14b7873b1fd</id>
<content type='text'>
Removed port validity check from ib_get_cached_subnet_prefix() as this
check is not needed because "port_num" is valid.

Link: https://lore.kernel.org/r/20210616154509.1047-2-anand.a.khoje@oracle.com
Suggested-by: Leon Romanovsky &lt;leonro@nvidia.com&gt;
Signed-off-by: Anand Khoje &lt;anand.a.khoje@oracle.com&gt;
Signed-off-by: Haakon Bugge &lt;haakon.bugge@oracle.com&gt;
Reviewed-by: Leon Romanovsky &lt;leonro@nvidia.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
</content>
</entry>
<entry>
<title>RDMA: Remove rdma_set_device_sysfs_group()</title>
<updated>2021-06-16T23:58:32Z</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgg@nvidia.com</email>
</author>
<published>2021-06-11T16:00:34Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=915e4af59f0b6a9e72dd9ef0fda853b87ae556c5'/>
<id>urn:sha1:915e4af59f0b6a9e72dd9ef0fda853b87ae556c5</id>
<content type='text'>
The driver's device group can be specified as part of the ops structure
like the device's port group. No need for the complicated API.

Link: https://lore.kernel.org/r/8964785a34fd3a29ff5b6693493f575b717e594d.1623427137.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky &lt;leonro@nvidia.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
</content>
</entry>
<entry>
<title>RDMA/core: Allow port_groups to be used with namespaces</title>
<updated>2021-06-16T23:58:31Z</updated>
<author>
<name>Jason Gunthorpe</name>
<email>jgg@nvidia.com</email>
</author>
<published>2021-06-11T16:00:33Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=69d86a66bdf0d5aa7e687751203e5e6a94124fb5'/>
<id>urn:sha1:69d86a66bdf0d5aa7e687751203e5e6a94124fb5</id>
<content type='text'>
Now that the port_groups data is being destroyed and managed by the core
code this restriction is no longer needed. All the ib_port_attrs are
compatible with the core's sysfs lifecycle.

When the main device is destroyed and moved to another namespace the
driver's port sysfs can be created/destroyed as well due to it now being a
simple attribute list.

Link: https://lore.kernel.org/r/afd8b676eace2821692d44489ff71856277c48d1.1623427137.git.leonro@nvidia.com
Signed-off-by: Leon Romanovsky &lt;leonro@nvidia.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;
</content>
</entry>
</feed>
