mbox series

[v6,0/3] provide thread unsafe async registration functions

Message ID 1626706847-276163-1-git-send-email-jiayu.hu@intel.com (mailing list archive)
Headers
Series provide thread unsafe async registration functions |

Message

Hu, Jiayu July 19, 2021, 3 p.m. UTC
  Lock protection is needed during the vhost notifies the application of
device readiness, so the first patch adds lock protection. In addition,
the second patch reworks async feature structure to improve readability.
After performing locking, existed async vhost registration functions will
cause deadlock, as they acquire lock too. The last patch provides thread
unsafe registration functions to support calling within vhost callback
functions.

v6:
* remove RTE_VHOST_ASYNC_FEATURE_UNKNOWN
* add blank lines in doc
v5:
* improve coding style
* update commit log, doc and comments
* remove useless field async_inorder
* change async_threshold from uint16_t to uint32_t
v4:
* remove brace {} in single statement block
v3:
* rename and use enum to define async device features
* change padding fields to 8 bytes
v2:
* rework async feature structure
* fix typo in commit log

Jiayu Hu (3):
  vhost: fix lock on device readiness notification
  vhost: rework async configuration structure
  vhost: add thread unsafe async registeration functions

 doc/guides/prog_guide/vhost_lib.rst |  37 ++++++--
 examples/vhost/main.c               |   8 +-
 lib/vhost/rte_vhost_async.h         |  85 ++++++++++++++-----
 lib/vhost/version.map               |   4 +
 lib/vhost/vhost.c                   | 162 ++++++++++++++++++++++++++----------
 lib/vhost/vhost.h                   |   3 +-
 lib/vhost/vhost_user.c              |   5 +-
 7 files changed, 220 insertions(+), 84 deletions(-)
  

Comments

Chenbo Xia July 21, 2021, 6:16 a.m. UTC | #1
> -----Original Message-----
> From: Hu, Jiayu <jiayu.hu@intel.com>
> Sent: Monday, July 19, 2021 11:01 PM
> To: dev@dpdk.org
> Cc: maxime.coquelin@redhat.com; Xia, Chenbo <chenbo.xia@intel.com>; Hu, Jiayu
> <jiayu.hu@intel.com>
> Subject: [PATCH v6 0/3] provide thread unsafe async registration functions
> 
> Lock protection is needed during the vhost notifies the application of
> device readiness, so the first patch adds lock protection. In addition,
> the second patch reworks async feature structure to improve readability.
> After performing locking, existed async vhost registration functions will
> cause deadlock, as they acquire lock too. The last patch provides thread
> unsafe registration functions to support calling within vhost callback
> functions.
> 
> v6:
> * remove RTE_VHOST_ASYNC_FEATURE_UNKNOWN
> * add blank lines in doc
> v5:
> * improve coding style
> * update commit log, doc and comments
> * remove useless field async_inorder
> * change async_threshold from uint16_t to uint32_t
> v4:
> * remove brace {} in single statement block
> v3:
> * rename and use enum to define async device features
> * change padding fields to 8 bytes
> v2:
> * rework async feature structure
> * fix typo in commit log
> 
> Jiayu Hu (3):
>   vhost: fix lock on device readiness notification
>   vhost: rework async configuration structure
>   vhost: add thread unsafe async registeration functions
> 
>  doc/guides/prog_guide/vhost_lib.rst |  37 ++++++--
>  examples/vhost/main.c               |   8 +-
>  lib/vhost/rte_vhost_async.h         |  85 ++++++++++++++-----
>  lib/vhost/version.map               |   4 +
>  lib/vhost/vhost.c                   | 162 ++++++++++++++++++++++++++---------
> -
>  lib/vhost/vhost.h                   |   3 +-
>  lib/vhost/vhost_user.c              |   5 +-
>  7 files changed, 220 insertions(+), 84 deletions(-)
> 
> --
> 2.7.4

Series applied to next-virtio/main. Thanks