Commit 55c293c3 authored by Jason Gunthorpe's avatar Jason Gunthorpe
Browse files

Merge branch 'devx-async' into k.o/for-next

Yishai Hadas says:

Enable DEVX asynchronous query commands

This series enables querying a DEVX object in an asynchronous mode.

The userspace application won't block when calling the firmware and it will be
able to get the response back once that it will be ready.

To enable the above functionality:

- DEVX asynchronous command completion FD object was introduced.
- The applicable file operations were implemented to enable using it by
  the user application.
- Query asynchronous method was added to the DEVX object, it will call the
  firmware asynchronously and manages the response on the given input FD.
- Hot unplug support was added for the FD to work properly upon
  unbind/disassociate.
- mlx5 core fence for asynchronous commands was implemented and used to
  prevent racing upon unbind/disassociate.

This branch is based on mlx5-next & v5.0-rc2 due to dependencies, from
git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux



* branch 'devx-async':
  IB/mlx5: Implement DEVX hot unplug for async command FD
  IB/mlx5: Implement the file ops of DEVX async command FD
  IB/mlx5: Introduce async DEVX obj query API
  IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD

Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parents b360ce3b eaebaf77
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -279,3 +279,12 @@ Description:
		size in 512B sectors of the zones of the device, with
		the eventual exception of the last zone of the device
		which may be smaller.

What:		/sys/block/<disk>/queue/io_timeout
Date:		November 2018
Contact:	Weiping Zhang <zhangweiping@didiglobal.com>
Description:
		io_timeout is the request timeout in milliseconds. If a request
		does not complete in this time then the block driver timeout
		handler is invoked. That timeout handler can decide to retry
		the request, to fail it or to start a device recovery strategy.
+9 −2
Original line number Diff line number Diff line
@@ -122,11 +122,18 @@ Description:
		statistics (bd_count, bd_reads, bd_writes) in a format
		similar to block layer statistics file format.

What:		/sys/block/zram<id>/writeback_limit_enable
Date:		November 2018
Contact:	Minchan Kim <minchan@kernel.org>
Description:
		The writeback_limit_enable file is read-write and specifies
		eanbe of writeback_limit feature. "1" means eable the feature.
		No limit "0" is the initial state.

What:		/sys/block/zram<id>/writeback_limit
Date:		November 2018
Contact:	Minchan Kim <minchan@kernel.org>
Description:
		The writeback_limit file is read-write and specifies the maximum
		amount of writeback ZRAM can do. The limit could be changed
		in run time and "0" means disable the limit.
		No limit is the initial state.
		in run time.
+7 −0
Original line number Diff line number Diff line
@@ -357,6 +357,13 @@ video playing/streaming, a very low drop rate may be more important
than maximum throughput. In these cases, consider setting the
strict_guarantees parameter.

slice_idle_us
-------------

Controls the same tuning parameter as slice_idle, but in microseconds.
Either tunable can be used to set idling behavior.  Afterwards, the
other tunable will reflect the newly set value in sysfs.

strict_guarantees
-----------------

+2 −1
Original line number Diff line number Diff line
@@ -88,7 +88,8 @@ shared_tags=[0/1]: Default: 0

zoned=[0/1]: Default: 0
  0: Block device is exposed as a random-access block device.
  1: Block device is exposed as a host-managed zoned block device.
  1: Block device is exposed as a host-managed zoned block device. Requires
     CONFIG_BLK_DEV_ZONED.

zone_size=[MB]: Default: 256
  Per zone size when exposed as a zoned block device. Must be a power of two.
+7 −0
Original line number Diff line number Diff line
@@ -67,6 +67,13 @@ If set to a value larger than 0, the kernel will put the process issuing
IO to sleep for this amount of microseconds before entering classic
polling.

io_timeout (RW)
---------------
io_timeout is the request timeout in milliseconds. If a request does not
complete in this time then the block driver timeout handler is invoked.
That timeout handler can decide to retry the request, to fail it or to start
a device recovery strategy.

iostats (RW)
-------------
This file is used to control (on/off) the iostats accounting of the
Loading