From patchwork Tue Oct 24 02:54:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 133244 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2E017431EB; Tue, 24 Oct 2023 04:55:39 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EAE5142DF7; Tue, 24 Oct 2023 04:54:47 +0200 (CEST) Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) by mails.dpdk.org (Postfix) with ESMTP id 6ABE842DC1 for ; Tue, 24 Oct 2023 04:54:43 +0200 (CEST) Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-6b77ab73c6fso2902976b3a.1 for ; Mon, 23 Oct 2023 19:54:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1698116082; x=1698720882; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=6Iix7Qlg/wq7KcCgt5xOsSYkLGWYKmtsB4oH6KAsQJI=; b=N6+wRKLu+mgCS+vPhhA1I2HGvbwof9rOQ9twJRTlKVM/hrkq99qgaMx3buU48vvEAV 4ZjykrLPBX7OZ0WwW9AVWLat8huZz7+YDfwZ3ZJNe94rOJteXckrdsNf+WeD+BoR6IJ6 1Oh1z1nr4I59DuLXXtiFQvVkFtEqSaEmsS0w33ycq/on6Xc86x4660B9VY4pFpVo73yl FUzNLgq5jpAWDiZz48rbpzaUfa4l41bs0V3qXFRZfBWo7Nrm7JtI74hKTezVBG+nGo3Y IBkJwaAUOjtPSJkprgBjkb+VUzsxdazPdPOxiPZW1KO8dM3cvo7Atm/1piSU51V4FyMr bC6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698116082; x=1698720882; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6Iix7Qlg/wq7KcCgt5xOsSYkLGWYKmtsB4oH6KAsQJI=; b=Lnqzip0XCBhKx4EI6gFYNsb32NQ9S+D15oZHnsnAJmBUt+vBuyHTF8AYhPYpdMZyUL CYoNmKXR8CKsv/nM63STvjX8GRn6BY5w3NPvCDn33D4wkwS9gQEm0L3m8KZK2F5uZYSi 9qUb4izXCSPTFPZS98zxfR4zDmnYzJqdBl1RXsU09OaTah7ohz+5X5NUTpHxENlXdMcu oJKxUJvLsAcNka06bE+OcoxjtiXmqZ6hqBMvqpPC1/Kp7ZL2j8/Xnbv+Li0T82I5VBv2 uiHnqMw1fXvSD2FPs3r8DP/nqEpOKjFJsT+NT6p+RTKJL5vyS3/ZBqz2fKaTpFz6Gxbb 62jA== X-Gm-Message-State: AOJu0YzQJUl34aqI+c82zcV3NKKE0j9CAqMh30Jj3SnYMYFd1XPqDn8J bxRAbRKOSGwJ7EmAUQcOQ7RZwvHsxS0qIDAdL/0B5Q== X-Google-Smtp-Source: AGHT+IHkFz8ES7D6/90FhkTNHT1KReG7zkMdS2MoRec8oMFmAXmalvrZr/jjSLMeS+YCoTy1C3dNPQ== X-Received: by 2002:a62:7911:0:b0:68b:e29c:b69 with SMTP id u17-20020a627911000000b0068be29c0b69mr13451147pfc.9.1698116082343; Mon, 23 Oct 2023 19:54:42 -0700 (PDT) Received: from hermes.local (204-195-126-68.wavecable.com. [204.195.126.68]) by smtp.gmail.com with ESMTPSA id b22-20020aa79516000000b0069b772c4325sm6802348pfp.87.2023.10.23.19.54.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Oct 2023 19:54:42 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Bruce Richardson , Yipeng Wang , Sameh Gobriel , Vladimir Medvedkin Subject: [PATCH v7 10/25] hash: remove experimental from toeplitz hash Date: Mon, 23 Oct 2023 19:54:07 -0700 Message-Id: <20231024025422.126021-11-stephen@networkplumber.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231024025422.126021-1-stephen@networkplumber.org> References: <20230808173527.186042-1-stephen@networkplumber.org> <20231024025422.126021-1-stephen@networkplumber.org> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The rte_thash_ functions have been around since 2020. Remove experimental tag. Signed-off-by: Stephen Hemminger Acked-by: Bruce Richardson --- lib/hash/rte_thash.h | 44 ----------------------------------- lib/hash/rte_thash_gfni.h | 8 ------- lib/hash/rte_thash_x86_gfni.h | 8 ------- lib/hash/version.map | 16 ++++--------- 4 files changed, 4 insertions(+), 72 deletions(-) diff --git a/lib/hash/rte_thash.h b/lib/hash/rte_thash.h index da06cd53c0e0..071730c7bab9 100644 --- a/lib/hash/rte_thash.h +++ b/lib/hash/rte_thash.h @@ -221,14 +221,10 @@ rte_softrss_be(uint32_t *input_tuple, uint32_t input_len, /** * Indicates if GFNI implementations of the Toeplitz hash are supported. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @return * 1 if GFNI is supported * 0 otherwise */ -__rte_experimental int rte_thash_gfni_supported(void); @@ -236,9 +232,6 @@ rte_thash_gfni_supported(void); * Converts Toeplitz hash key (RSS key) into matrixes required * for GFNI implementation * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param matrixes * pointer to the memory where matrices will be written. * Note: the size of this memory must be equal to size * 8 @@ -247,7 +240,6 @@ rte_thash_gfni_supported(void); * @param size * Size of the rss_key in bytes. */ -__rte_experimental void rte_thash_complete_matrix(uint64_t *matrixes, const uint8_t *rss_key, int size); @@ -276,9 +268,6 @@ struct rte_thash_subtuple_helper; /** * Create a new thash context. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param name * Context name * @param key_len @@ -298,7 +287,6 @@ struct rte_thash_subtuple_helper; * A pointer to the created context on success * NULL otherwise */ -__rte_experimental struct rte_thash_ctx * rte_thash_init_ctx(const char *name, uint32_t key_len, uint32_t reta_sz, uint8_t *key, uint32_t flags); @@ -306,9 +294,6 @@ rte_thash_init_ctx(const char *name, uint32_t key_len, uint32_t reta_sz, /** * Find an existing thash context and return a pointer to it. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param name * Name of the thash context * @return @@ -316,20 +301,15 @@ rte_thash_init_ctx(const char *name, uint32_t key_len, uint32_t reta_sz, * set appropriately. Possible rte_errno values include: * - ENOENT - required entry not available to return. */ -__rte_experimental struct rte_thash_ctx * rte_thash_find_existing(const char *name); /** * Free a thash context object * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param ctx * Thash context */ -__rte_experimental void rte_thash_free_ctx(struct rte_thash_ctx *ctx); @@ -339,9 +319,6 @@ rte_thash_free_ctx(struct rte_thash_ctx *ctx); * to calculate toeplitz hash collisions. * This function is not multi-thread safe. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param ctx * Thash context * @param name @@ -355,7 +332,6 @@ rte_thash_free_ctx(struct rte_thash_ctx *ctx); * 0 on success * negative on error */ -__rte_experimental int rte_thash_add_helper(struct rte_thash_ctx *ctx, const char *name, uint32_t len, uint32_t offset); @@ -363,9 +339,6 @@ rte_thash_add_helper(struct rte_thash_ctx *ctx, const char *name, uint32_t len, /** * Find a helper in the context by the given name * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param ctx * Thash context * @param name @@ -373,7 +346,6 @@ rte_thash_add_helper(struct rte_thash_ctx *ctx, const char *name, uint32_t len, * @return * Pointer to the thash helper or NULL if it was not found. */ -__rte_experimental struct rte_thash_subtuple_helper * rte_thash_get_helper(struct rte_thash_ctx *ctx, const char *name); @@ -392,7 +364,6 @@ rte_thash_get_helper(struct rte_thash_ctx *ctx, const char *name); * @return * A complementary value which must be xored with the corresponding subtuple */ -__rte_experimental uint32_t rte_thash_get_complement(struct rte_thash_subtuple_helper *h, uint32_t hash, uint32_t desired_hash); @@ -402,15 +373,11 @@ rte_thash_get_complement(struct rte_thash_subtuple_helper *h, * It changes after each addition of a helper. It should be installed to * the NIC. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param ctx * Thash context * @return * A pointer to the toeplitz hash key */ -__rte_experimental const uint8_t * rte_thash_get_key(struct rte_thash_ctx *ctx); @@ -420,16 +387,12 @@ rte_thash_get_key(struct rte_thash_ctx *ctx); * CPU supports GFNI. * Matrices changes after each addition of a helper. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param ctx * Thash context * @return * A pointer to the toeplitz hash key matrices on success * NULL if GFNI is not supported. */ -__rte_experimental const uint64_t * rte_thash_get_gfni_matrices(struct rte_thash_ctx *ctx); @@ -439,9 +402,6 @@ rte_thash_get_gfni_matrices(struct rte_thash_ctx *ctx); * Generally it is some kind of lookup function to check * if adjusted tuple is already in use. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param userdata * Pointer to the userdata. It could be a pointer to the * table with used tuples to search. @@ -459,9 +419,6 @@ typedef int (*rte_thash_check_tuple_t)(void *userdata, uint8_t *tuple); * desired least significant bits. * This function is multi-thread safe. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param ctx * Thash context * @param h @@ -483,7 +440,6 @@ typedef int (*rte_thash_check_tuple_t)(void *userdata, uint8_t *tuple); * 0 on success * negative otherwise */ -__rte_experimental int rte_thash_adjust_tuple(struct rte_thash_ctx *ctx, struct rte_thash_subtuple_helper *h, diff --git a/lib/hash/rte_thash_gfni.h b/lib/hash/rte_thash_gfni.h index ef90faa302d1..67d0fa4da988 100644 --- a/lib/hash/rte_thash_gfni.h +++ b/lib/hash/rte_thash_gfni.h @@ -24,9 +24,6 @@ extern "C" { * Calculate Toeplitz hash. * Dummy implementation. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param m * Pointer to the matrices generated from the corresponding * RSS hash key using rte_thash_complete_matrix(). @@ -37,7 +34,6 @@ extern "C" { * @return * Calculated Toeplitz hash value. */ -__rte_experimental static inline uint32_t rte_thash_gfni(const uint64_t *mtrx __rte_unused, const uint8_t *key __rte_unused, int len __rte_unused) @@ -50,9 +46,6 @@ rte_thash_gfni(const uint64_t *mtrx __rte_unused, * Bulk implementation for Toeplitz hash. * Dummy implementation. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param m * Pointer to the matrices generated from the corresponding * RSS hash key using rte_thash_complete_matrix(). @@ -66,7 +59,6 @@ rte_thash_gfni(const uint64_t *mtrx __rte_unused, * @param num * Number of tuples to hash. */ -__rte_experimental static inline void rte_thash_gfni_bulk(const uint64_t *mtrx __rte_unused, int len __rte_unused, uint8_t *tuple[] __rte_unused, diff --git a/lib/hash/rte_thash_x86_gfni.h b/lib/hash/rte_thash_x86_gfni.h index fbec16dde081..0ff7ad07eeaa 100644 --- a/lib/hash/rte_thash_x86_gfni.h +++ b/lib/hash/rte_thash_x86_gfni.h @@ -161,9 +161,6 @@ __rte_thash_gfni(const uint64_t *mtrx, const uint8_t *tuple, /** * Calculate Toeplitz hash. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param m * Pointer to the matrices generated from the corresponding * RSS hash key using rte_thash_complete_matrix(). @@ -175,7 +172,6 @@ __rte_thash_gfni(const uint64_t *mtrx, const uint8_t *tuple, * @return * Calculated Toeplitz hash value. */ -__rte_experimental static inline uint32_t rte_thash_gfni(const uint64_t *m, const uint8_t *tuple, int len) { @@ -190,9 +186,6 @@ rte_thash_gfni(const uint64_t *m, const uint8_t *tuple, int len) /** * Bulk implementation for Toeplitz hash. * - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * @param m * Pointer to the matrices generated from the corresponding * RSS hash key using rte_thash_complete_matrix(). @@ -207,7 +200,6 @@ rte_thash_gfni(const uint64_t *m, const uint8_t *tuple, int len) * @param num * Number of tuples to hash. */ -__rte_experimental static inline void rte_thash_gfni_bulk(const uint64_t *mtrx, int len, uint8_t *tuple[], uint32_t val[], uint32_t num) diff --git a/lib/hash/version.map b/lib/hash/version.map index daaa9a8901db..b98b64a1638a 100644 --- a/lib/hash/version.map +++ b/lib/hash/version.map @@ -30,25 +30,17 @@ DPDK_24 { rte_hash_rcu_qsbr_add; rte_hash_reset; rte_hash_set_cmp_func; - - local: *; -}; - -EXPERIMENTAL { - global: - - # added in 21.05 rte_thash_add_helper; rte_thash_adjust_tuple; + rte_thash_complete_matrix; rte_thash_find_existing; rte_thash_free_ctx; rte_thash_get_complement; + rte_thash_get_gfni_matrices; rte_thash_get_helper; rte_thash_get_key; + rte_thash_gfni_supported; rte_thash_init_ctx; - # added in 21.11 - rte_thash_complete_matrix; - rte_thash_get_gfni_matrices; - rte_thash_gfni_supported; + local: *; };