From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: Stephen Hemminger <stephen@networkplumber.org>, dev@dpdk.org
Cc: Chenbo Xia <chenbo.xia@intel.com>
Subject: Re: [PATCH] vhost: make experimental API's stable
Date: Fri, 10 Nov 2023 09:54:56 +0100 [thread overview]
Message-ID: <ca176c8f-0893-49bc-a1df-bb3cd8f35762@redhat.com> (raw)
In-Reply-To: <20231024163123.12576-1-stephen@networkplumber.org>
Hi Stephen,
On 10/24/23 18:31, Stephen Hemminger wrote:
> Transistion API's added from 2008 to 2022 to stable; except
> for async API's that are planned to be deprecated.
We don't know yet whether Vhost-async API will be deprecated,
otherwise we would just drop it. But it may require some adaptations to
be adopted, that's why we keep them experimental for now.
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
> lib/vhost/rte_vhost.h | 5 -----
> lib/vhost/rte_vhost_async.h | 4 ----
You still mark some of the async APIs to stable.
I posted a new version of your patch.
Maxime
> lib/vhost/rte_vhost_crypto.h | 1 -
> lib/vhost/version.map | 25 +++++++++++--------------
> 4 files changed, 11 insertions(+), 24 deletions(-)
>
> diff --git a/lib/vhost/rte_vhost.h b/lib/vhost/rte_vhost.h
> index fec650b1dbba..db92f0534431 100644
> --- a/lib/vhost/rte_vhost.h
> +++ b/lib/vhost/rte_vhost.h
> @@ -509,7 +509,6 @@ rte_vhost_driver_get_vdpa_device(const char *path);
> * @return
> * 0 on success, -1 on failure
> */
> -__rte_experimental
> int
> rte_vhost_driver_get_vdpa_dev_type(const char *path, uint32_t *type);
>
> @@ -648,7 +647,6 @@ int rte_vhost_get_negotiated_features(int vid, uint64_t *features);
> * @return
> * 0 on success, -1 on failure
> */
> -__rte_experimental
> int
> rte_vhost_get_negotiated_protocol_features(int vid,
> uint64_t *protocol_features);
> @@ -960,7 +958,6 @@ int rte_vhost_vring_call(int vid, uint16_t vring_idx);
> * @return
> * 0 on success, -1 on failure, -EAGAIN for another retry
> */
> -__rte_experimental
> int rte_vhost_vring_call_nonblock(int vid, uint16_t vring_idx);
>
> /**
> @@ -987,7 +984,6 @@ uint32_t rte_vhost_rx_queue_count(int vid, uint16_t qid);
> * @return
> * 0 on success, -1 on failure
> */
> -__rte_experimental
> int
> rte_vhost_get_monitor_addr(int vid, uint16_t queue_id,
> struct rte_vhost_power_monitor_cond *pmc);
> @@ -1102,7 +1098,6 @@ rte_vhost_get_vdpa_device(int vid);
> * @return
> * 0 on success, < 0 on failure
> */
> -__rte_experimental
> int
> rte_vhost_backend_config_change(int vid, bool need_reply);
>
> diff --git a/lib/vhost/rte_vhost_async.h b/lib/vhost/rte_vhost_async.h
> index 8f190dd44b1b..d9395c8fea69 100644
> --- a/lib/vhost/rte_vhost_async.h
> +++ b/lib/vhost/rte_vhost_async.h
> @@ -95,7 +95,6 @@ int rte_vhost_async_channel_unregister_thread_unsafe(int vid,
> * @return
> * num of packets enqueued
> */
> -__rte_experimental
> uint16_t rte_vhost_submit_enqueue_burst(int vid, uint16_t queue_id,
> struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
> uint16_t vchan_id);
> @@ -120,7 +119,6 @@ uint16_t rte_vhost_submit_enqueue_burst(int vid, uint16_t queue_id,
> * @return
> * num of packets returned
> */
> -__rte_experimental
> uint16_t rte_vhost_poll_enqueue_completed(int vid, uint16_t queue_id,
> struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
> uint16_t vchan_id);
> @@ -178,7 +176,6 @@ int rte_vhost_async_get_inflight_thread_unsafe(int vid, uint16_t queue_id);
> * @return
> * Number of packets returned
> */
> -__rte_experimental
> uint16_t rte_vhost_clear_queue_thread_unsafe(int vid, uint16_t queue_id,
> struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
> uint16_t vchan_id);
> @@ -203,7 +200,6 @@ uint16_t rte_vhost_clear_queue_thread_unsafe(int vid, uint16_t queue_id,
> * @return
> * Number of packets returned
> */
> -__rte_experimental
> uint16_t rte_vhost_clear_queue(int vid, uint16_t queue_id,
> struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
> uint16_t vchan_id);
> diff --git a/lib/vhost/rte_vhost_crypto.h b/lib/vhost/rte_vhost_crypto.h
> index 2b01ecda0880..71a30ba202be 100644
> --- a/lib/vhost/rte_vhost_crypto.h
> +++ b/lib/vhost/rte_vhost_crypto.h
> @@ -40,7 +40,6 @@ enum rte_vhost_crypto_zero_copy {
> * @return
> * 0 on success, -1 on failure
> */
> -__rte_experimental
> int
> rte_vhost_crypto_driver_start(const char *path);
>
> diff --git a/lib/vhost/version.map b/lib/vhost/version.map
> index 5bc133dafda2..c3b677b9df05 100644
> --- a/lib/vhost/version.map
> +++ b/lib/vhost/version.map
> @@ -10,9 +10,13 @@ DPDK_24 {
> rte_vdpa_get_stats_names;
> rte_vdpa_reset_stats;
> rte_vhost_avail_entries;
> + rte_vhost_backend_config_change;
> + rte_vhost_clear_queue;
> + rte_vhost_clear_queue_thread_unsafe;
> rte_vhost_clr_inflight_desc_packed;
> rte_vhost_clr_inflight_desc_split;
> rte_vhost_crypto_create;
> + rte_vhost_crypto_driver_start;
> rte_vhost_crypto_fetch_requests;
> rte_vhost_crypto_finalize_requests;
> rte_vhost_crypto_free;
> @@ -26,6 +30,7 @@ DPDK_24 {
> rte_vhost_driver_get_features;
> rte_vhost_driver_get_protocol_features;
> rte_vhost_driver_get_queue_num;
> + rte_vhost_driver_get_vdpa_dev_type;
> rte_vhost_driver_get_vdpa_device;
> rte_vhost_driver_register;
> rte_vhost_driver_set_features;
> @@ -38,8 +43,10 @@ DPDK_24 {
> rte_vhost_get_ifname;
> rte_vhost_get_log_base;
> rte_vhost_get_mem_table;
> + rte_vhost_get_monitor_addr;
> rte_vhost_get_mtu;
> rte_vhost_get_negotiated_features;
> + rte_vhost_get_negotiated_protocol_features;
> rte_vhost_get_numa_node;
> rte_vhost_get_vdpa_device;
> rte_vhost_get_vhost_ring_inflight;
> @@ -49,14 +56,17 @@ DPDK_24 {
> rte_vhost_get_vring_num;
> rte_vhost_log_used_vring;
> rte_vhost_log_write;
> + rte_vhost_poll_enqueue_completed;
> rte_vhost_rx_queue_count;
> rte_vhost_set_inflight_desc_packed;
> rte_vhost_set_inflight_desc_split;
> rte_vhost_set_last_inflight_io_packed;
> rte_vhost_set_last_inflight_io_split;
> rte_vhost_set_vring_base;
> + rte_vhost_submit_enqueue_burst;
> rte_vhost_va_from_guest_pa;
> rte_vhost_vring_call;
> + rte_vhost_vring_call_nonblock;
> rte_vhost_vring_stats_get;
> rte_vhost_vring_stats_get_names;
> rte_vhost_vring_stats_reset;
> @@ -67,24 +77,14 @@ DPDK_24 {
> EXPERIMENTAL {
> global:
>
> - rte_vhost_crypto_driver_start;
> - rte_vhost_backend_config_change;
> + # added in 20.08
> rte_vhost_async_channel_register;
> rte_vhost_async_channel_unregister;
> - rte_vhost_submit_enqueue_burst;
> - rte_vhost_poll_enqueue_completed;
> -
> - # added in 21.05
> - rte_vhost_get_negotiated_protocol_features;
>
> # added in 21.08
> rte_vhost_async_get_inflight;
> rte_vhost_async_channel_register_thread_unsafe;
> rte_vhost_async_channel_unregister_thread_unsafe;
> - rte_vhost_clear_queue_thread_unsafe;
> -
> - # added in 21.11
> - rte_vhost_get_monitor_addr;
>
> # added in 22.03
> rte_vhost_async_dma_configure;
> @@ -92,12 +92,9 @@ EXPERIMENTAL {
> # added in 22.07
> rte_vhost_async_get_inflight_thread_unsafe;
> rte_vhost_async_try_dequeue_burst;
> - rte_vhost_driver_get_vdpa_dev_type;
> - rte_vhost_clear_queue;
>
> # added in 22.11
> rte_vhost_async_dma_unconfigure;
> - rte_vhost_vring_call_nonblock;
>
> # added in 23.07
> rte_vhost_driver_set_max_queue_num;
prev parent reply other threads:[~2023-11-10 8:55 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-24 16:31 Stephen Hemminger
2023-11-10 8:54 ` Maxime Coquelin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ca176c8f-0893-49bc-a1df-bb3cd8f35762@redhat.com \
--to=maxime.coquelin@redhat.com \
--cc=chenbo.xia@intel.com \
--cc=dev@dpdk.org \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).