From patchwork Tue Sep 8 20:03:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Carrillo, Erik G" X-Patchwork-Id: 76927 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 74725A04B1; Tue, 8 Sep 2020 22:04:06 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D4E864C99; Tue, 8 Sep 2020 22:04:05 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 61B2FA3 for ; Tue, 8 Sep 2020 22:04:04 +0200 (CEST) IronPort-SDR: mhtkqti6oWKqVcqzPuPvqzYOm2RCKX5afWEyKb2jmLDXM5nfoHylmprnvM+M3ivu2e/bhCZPgG 5HBkvjry3XRQ== X-IronPort-AV: E=McAfee;i="6000,8403,9738"; a="155702057" X-IronPort-AV: E=Sophos;i="5.76,406,1592895600"; d="scan'208";a="155702057" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Sep 2020 13:04:01 -0700 IronPort-SDR: uM3POnuXP+Sk4yXbP/viq8qDlvzYItvFbzUh5vfTEdghAy9MiBSmtIzKU/ecIufWP4dfT7kok/ 8qRq7CYmGiUA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,406,1592895600"; d="scan'208";a="304217037" Received: from wcpqa1.an.intel.com ([10.123.72.207]) by orsmga006.jf.intel.com with ESMTP; 08 Sep 2020 13:04:01 -0700 From: Erik Gabriel Carrillo To: dev@dpdk.org Date: Tue, 8 Sep 2020 15:03:55 -0500 Message-Id: <1599595435-183909-1-git-send-email-erik.g.carrillo@intel.com> X-Mailer: git-send-email 1.7.10 Subject: [dpdk-dev] [PATCH] timer: remove experimental tag for some APIs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Some new APIs were added to the timer library in the 19.05 release, and there have been no changes to their interfaces since then. These functions can be considered stable enough to remove their 'experimental' tag. Signed-off-by: Erik Gabriel Carrillo Acked-by: Ray Kinsella Acked-by: Ray Kinsella --- lib/librte_timer/rte_timer.h | 32 -------------------------------- lib/librte_timer/rte_timer_version.map | 16 ++++++++-------- 2 files changed, 8 insertions(+), 40 deletions(-) diff --git a/lib/librte_timer/rte_timer.h b/lib/librte_timer/rte_timer.h index c6b3d45..7af8378 100644 --- a/lib/librte_timer/rte_timer.h +++ b/lib/librte_timer/rte_timer.h @@ -133,9 +133,6 @@ struct rte_timer #endif /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Allocate a timer data instance in shared memory to track a set of pending * timer lists. * @@ -147,13 +144,9 @@ struct rte_timer * - 0: Success * - -ENOSPC: maximum number of timer data instances already allocated */ -__rte_experimental int rte_timer_data_alloc(uint32_t *id_ptr); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Deallocate a timer data instance. * * @param id @@ -163,7 +156,6 @@ int rte_timer_data_alloc(uint32_t *id_ptr); * - 0: Success * - -EINVAL: invalid timer data instance identifier */ -__rte_experimental int rte_timer_data_dealloc(uint32_t id); /** @@ -183,12 +175,8 @@ int rte_timer_data_dealloc(uint32_t id); int rte_timer_subsystem_init(void); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Free timer subsystem resources. */ -__rte_experimental void rte_timer_subsystem_finalize(void); /** @@ -376,9 +364,6 @@ int rte_timer_manage(void); int rte_timer_dump_stats(FILE *f); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * This function is the same as rte_timer_reset(), except that it allows a * caller to specify the rte_timer_data instance containing the list to which * the timer should be added. @@ -413,16 +398,12 @@ int rte_timer_dump_stats(FILE *f); * - (-1): Timer is in the RUNNING or CONFIG state. * - -EINVAL: invalid timer_data_id */ -__rte_experimental int rte_timer_alt_reset(uint32_t timer_data_id, struct rte_timer *tim, uint64_t ticks, enum rte_timer_type type, unsigned int tim_lcore, rte_timer_cb_t fct, void *arg); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * This function is the same as rte_timer_stop(), except that it allows a * caller to specify the rte_timer_data instance containing the list from which * this timer should be removed. @@ -439,7 +420,6 @@ rte_timer_alt_reset(uint32_t timer_data_id, struct rte_timer *tim, * - (-1): The timer is in the RUNNING or CONFIG state. * - -EINVAL: invalid timer_data_id */ -__rte_experimental int rte_timer_alt_stop(uint32_t timer_data_id, struct rte_timer *tim); @@ -449,9 +429,6 @@ rte_timer_alt_stop(uint32_t timer_data_id, struct rte_timer *tim); typedef void (*rte_timer_alt_manage_cb_t)(struct rte_timer *tim); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Manage a set of timer lists and execute the specified callback function for * all expired timers. This function is similar to rte_timer_manage(), except * that it allows a caller to specify the timer_data instance that should @@ -476,7 +453,6 @@ typedef void (*rte_timer_alt_manage_cb_t)(struct rte_timer *tim); * - 0: success * - -EINVAL: invalid timer_data_id */ -__rte_experimental int rte_timer_alt_manage(uint32_t timer_data_id, unsigned int *poll_lcores, int n_poll_lcores, rte_timer_alt_manage_cb_t f); @@ -487,9 +463,6 @@ rte_timer_alt_manage(uint32_t timer_data_id, unsigned int *poll_lcores, typedef void (*rte_timer_stop_all_cb_t)(struct rte_timer *tim, void *arg); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * Walk the pending timer lists for the specified lcore IDs, and for each timer * that is encountered, stop it and call the specified callback function to * process it further. @@ -509,15 +482,11 @@ typedef void (*rte_timer_stop_all_cb_t)(struct rte_timer *tim, void *arg); * - 0: success * - EINVAL: invalid timer_data_id */ -__rte_experimental int rte_timer_stop_all(uint32_t timer_data_id, unsigned int *walk_lcores, int nb_walk_lcores, rte_timer_stop_all_cb_t f, void *f_arg); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice - * * This function is the same as rte_timer_dump_stats(), except that it allows * the caller to specify the rte_timer_data instance that should be used. * @@ -532,7 +501,6 @@ rte_timer_stop_all(uint32_t timer_data_id, unsigned int *walk_lcores, * - 0: success * - -EINVAL: invalid timer_data_id */ -__rte_experimental int rte_timer_alt_dump_stats(uint32_t timer_data_id, FILE *f); diff --git a/lib/librte_timer/rte_timer_version.map b/lib/librte_timer/rte_timer_version.map index 21e68ea..8021ccf 100644 --- a/lib/librte_timer/rte_timer_version.map +++ b/lib/librte_timer/rte_timer_version.map @@ -1,6 +1,12 @@ DPDK_21 { global: + rte_timer_alt_dump_stats; + rte_timer_alt_manage; + rte_timer_alt_reset; + rte_timer_alt_stop; + rte_timer_data_alloc; + rte_timer_data_dealloc; rte_timer_dump_stats; rte_timer_init; rte_timer_manage; @@ -8,7 +14,9 @@ DPDK_21 { rte_timer_reset; rte_timer_reset_sync; rte_timer_stop; + rte_timer_stop_all; rte_timer_stop_sync; + rte_timer_subsystem_finalize; rte_timer_subsystem_init; local: *; @@ -17,13 +25,5 @@ DPDK_21 { EXPERIMENTAL { global: - rte_timer_alt_dump_stats; - rte_timer_alt_manage; - rte_timer_alt_reset; - rte_timer_alt_stop; - rte_timer_data_alloc; - rte_timer_data_dealloc; rte_timer_next_ticks; - rte_timer_stop_all; - rte_timer_subsystem_finalize; };