doc: update API deprecation for device reset

Message ID 20180910140437.6741-1-qi.z.zhang@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series doc: update API deprecation for device reset |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply issues

Commit Message

Qi Zhang Sept. 10, 2018, 2:04 p.m. UTC
  Device reset may have the dependency, for example, a VF reset expects
PF ready, or a NIC function as a part of a SOC need to wait for other
parts of the system be ready, these are time-consuming tasks and will
block current thread.

So we claimed rte_eth_dev_reset as an async API, that makes things
easy for an application that what to reset the device from the interrupt
thread since typically a RTE_ETH_EVENT_INTR_RESET handler is invoked
in interrupt thread.

RFC patch:
http://patchwork.dpdk.org/patch/44513/

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 doc/guides/rel_notes/deprecation.rst | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Kevin Traynor Sept. 10, 2018, 3:24 p.m. UTC | #1
On 09/10/2018 03:04 PM, Qi Zhang wrote:
> Device reset may have the dependency, for example, a VF reset expects
> PF ready, or a NIC function as a part of a SOC need to wait for other
> parts of the system be ready, these are time-consuming tasks and will
> block current thread.
> 
> So we claimed rte_eth_dev_reset as an async API, that makes things
> easy for an application that what to reset the device from the interrupt
> thread since typically a RTE_ETH_EVENT_INTR_RESET handler is invoked
> in interrupt thread.
> 

I think it may be better to give the function with new async behaviour a
new name. Otherwise, it could be confusing for users who are currently
taking some action based on the return value from the current blocking
version of the function. What do you think?

> RFC patch:
> http://patchwork.dpdk.org/patch/44513/
> 
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> ---
>  doc/guides/rel_notes/deprecation.rst | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index bade1e4c4..3490aac87 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -95,3 +95,8 @@ Deprecation Notices
>    - ``rte_pdump_set_socket_dir`` will be removed;
>    - The parameter, ``path``, of ``rte_pdump_init`` will be removed;
>    - The enum ``rte_pdump_socktype`` will be removed.
> +
> +* ethdev: In v19.02 ``rte_eth_dev_reset`` is claimed as an async API.
> +  Application should not assume device reset is finished after
> +  ``rte_eth_dev_reset`` return, it should always wait for a
> +  RTE_ETH_EVENT_RESET_COMPLETE event and check the reset result.
>
  

Patch

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index bade1e4c4..3490aac87 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -95,3 +95,8 @@  Deprecation Notices
   - ``rte_pdump_set_socket_dir`` will be removed;
   - The parameter, ``path``, of ``rte_pdump_init`` will be removed;
   - The enum ``rte_pdump_socktype`` will be removed.
+
+* ethdev: In v19.02 ``rte_eth_dev_reset`` is claimed as an async API.
+  Application should not assume device reset is finished after
+  ``rte_eth_dev_reset`` return, it should always wait for a
+  RTE_ETH_EVENT_RESET_COMPLETE event and check the reset result.