From patchwork Wed Aug 9 16:43:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 130058 X-Patchwork-Delegate: thomas@monjalon.net 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 27D4A4301A; Wed, 9 Aug 2023 18:45:43 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F02EA43280; Wed, 9 Aug 2023 18:44:49 +0200 (CEST) Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mails.dpdk.org (Postfix) with ESMTP id DBF4F43274 for ; Wed, 9 Aug 2023 18:44:46 +0200 (CEST) Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-1bc99545d53so607505ad.1 for ; Wed, 09 Aug 2023 09:44:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20221208.gappssmtp.com; s=20221208; t=1691599486; x=1692204286; 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=DO3zqTh+LtBzxiuKTv5YcEKJd/Vqww3DcQSFWARMiEA=; b=IEdTsYQ8zGxYoA/Jm7CLVdDhGEYYhtIiIJ2sFW840rvyHP0sELYt/1d/9PDGgy6a/i +DjxuRyFTsEcUZvNiQpzmwTYwf8p46Mrj88EsyCw0JsVN9Ukv0AAN87u/uSqio3vKhd1 F3YahBMoYCQayC3wqyyd8sPmZtpK+tmaKpu+fneOzOoK+W4CsgAnYIIOrjy81S5Dnxvt mdpDanIilu7ItOg+ckrNhUxyIf6lQVR/GBQzSyxAkTXNX1li7kQWPZVvffnHGEbdWXRp LbHwTwwRAAV2FBzaMmRUbA/yo77uYy8Wz81/fgEVRD11X8LqIjm/Z/ujIK5yw9n+JPcR VfCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691599486; x=1692204286; 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=DO3zqTh+LtBzxiuKTv5YcEKJd/Vqww3DcQSFWARMiEA=; b=O1jm3+qsfdJmcfrAS+r8kqbcZIMvcKUZfH1LoXnKfZRiESJSMOh+T86JU8sDWztCGS dkD+AnDVADbvQExlNptk65zgriH8OJ9KAYhIBvpo4krrfCpX0bOJaqHidmVmGDHADCWN xrtfu7xp7gIFKPipH3vhYP4/ZrGP/PvYQwHpQAEXsLGF2tly+V66LAMhPHaVN9L+pfEt LaWEiOKJlCWVzRbQtzo/0Bk7Gbx1Ec4x4CGwx40neU6IXUp/B+q28XmAulGAnM70S4Dd R+i9bK6qrYzS+y19tS6/Yj8ZZIJBgfgaz6lXzu8GbQFyH52PkTiOHpKumDhdh0X3fWkK 1p0A== X-Gm-Message-State: AOJu0YzG9zKrWhz8TQybYYOEubcUoaA5vgmiRSOkR9yLQc286ygista0 nVnRjO1kXwmEJhy/3sMmLu6rwjuenYiNNhELqpgcOA== X-Google-Smtp-Source: AGHT+IHovz/GygKK2Lzh5LqFZcIjndlPWGFPPzo0vDc2/nO5UshjZIaSU69s4s8E7FsxjJoC4JfB7g== X-Received: by 2002:a17:902:aa05:b0:1bb:8f37:dd0b with SMTP id be5-20020a170902aa0500b001bb8f37dd0bmr3119795plb.52.1691599485874; Wed, 09 Aug 2023 09:44:45 -0700 (PDT) Received: from hermes.local (204-195-127-207.wavecable.com. [204.195.127.207]) by smtp.gmail.com with ESMTPSA id i8-20020a17090332c800b001b8b0ac2258sm11426394plr.174.2023.08.09.09.44.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Aug 2023 09:44:45 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , =?utf-8?q?Mattias_R?= =?utf-8?q?=C3=B6nnblom?= Subject: [PATCH 09/15] eal: make seqcount and seqlock stable Date: Wed, 9 Aug 2023 09:43:01 -0700 Message-Id: <20230809164312.308093-10-stephen@networkplumber.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230809164312.308093-1-stephen@networkplumber.org> References: <20230809164312.308093-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 These were add back in 22.07 release. Signed-off-by: Stephen Hemminger Acked-by: Mattias Rönnblom --- lib/eal/include/rte_seqcount.h | 23 ----------------------- lib/eal/include/rte_seqlock.h | 21 --------------------- 2 files changed, 44 deletions(-) diff --git a/lib/eal/include/rte_seqcount.h b/lib/eal/include/rte_seqcount.h index ff62708e1b7b..6390a5a72f7c 100644 --- a/lib/eal/include/rte_seqcount.h +++ b/lib/eal/include/rte_seqcount.h @@ -40,15 +40,11 @@ typedef struct { #define RTE_SEQCOUNT_INITIALIZER { .sn = 0 } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Initialize the sequence counter. * * @param seqcount * A pointer to the sequence counter. */ -__rte_experimental static inline void rte_seqcount_init(rte_seqcount_t *seqcount) { @@ -56,9 +52,6 @@ rte_seqcount_init(rte_seqcount_t *seqcount) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Begin a read-side critical section. * * A call to this function marks the beginning of a read-side critical @@ -100,8 +93,6 @@ rte_seqcount_init(rte_seqcount_t *seqcount) * * @see rte_seqcount_read_retry() */ - -__rte_experimental static inline uint32_t rte_seqcount_read_begin(const rte_seqcount_t *seqcount) { @@ -113,9 +104,6 @@ rte_seqcount_read_begin(const rte_seqcount_t *seqcount) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * End a read-side critical section. * * A call to this function marks the end of a read-side critical @@ -145,8 +133,6 @@ rte_seqcount_read_begin(const rte_seqcount_t *seqcount) * * @see rte_seqcount_read_begin() */ - -__rte_experimental static inline bool rte_seqcount_read_retry(const rte_seqcount_t *seqcount, uint32_t begin_sn) { @@ -171,9 +157,6 @@ rte_seqcount_read_retry(const rte_seqcount_t *seqcount, uint32_t begin_sn) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Begin a write-side critical section. * * A call to this function marks the beginning of a write-side @@ -195,8 +178,6 @@ rte_seqcount_read_retry(const rte_seqcount_t *seqcount, uint32_t begin_sn) * * @see rte_seqcount_write_end() */ - -__rte_experimental static inline void rte_seqcount_write_begin(rte_seqcount_t *seqcount) { @@ -213,9 +194,6 @@ rte_seqcount_write_begin(rte_seqcount_t *seqcount) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * End a write-side critical section. * * A call to this function marks the end of the write-side critical @@ -227,7 +205,6 @@ rte_seqcount_write_begin(rte_seqcount_t *seqcount) * * @see rte_seqcount_write_begin() */ -__rte_experimental static inline void rte_seqcount_write_end(rte_seqcount_t *seqcount) { diff --git a/lib/eal/include/rte_seqlock.h b/lib/eal/include/rte_seqlock.h index fcbb9c586668..589c98188529 100644 --- a/lib/eal/include/rte_seqlock.h +++ b/lib/eal/include/rte_seqlock.h @@ -114,9 +114,6 @@ typedef struct { } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Initialize the seqlock. * * This function initializes the seqlock, and leaves the writer-side @@ -125,7 +122,6 @@ typedef struct { * @param seqlock * A pointer to the seqlock. */ -__rte_experimental static inline void rte_seqlock_init(rte_seqlock_t *seqlock) { @@ -134,9 +130,6 @@ rte_seqlock_init(rte_seqlock_t *seqlock) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Begin a read-side critical section. * * See rte_seqcount_read_retry() for details. @@ -150,8 +143,6 @@ rte_seqlock_init(rte_seqlock_t *seqlock) * @see rte_seqlock_read_retry() * @see rte_seqcount_read_retry() */ - -__rte_experimental static inline uint32_t rte_seqlock_read_begin(const rte_seqlock_t *seqlock) { @@ -159,9 +150,6 @@ rte_seqlock_read_begin(const rte_seqlock_t *seqlock) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * End a read-side critical section. * * See rte_seqcount_read_retry() for details. @@ -177,7 +165,6 @@ rte_seqlock_read_begin(const rte_seqlock_t *seqlock) * * @see rte_seqlock_read_begin() */ -__rte_experimental static inline bool rte_seqlock_read_retry(const rte_seqlock_t *seqlock, uint32_t begin_sn) { @@ -185,9 +172,6 @@ rte_seqlock_read_retry(const rte_seqlock_t *seqlock, uint32_t begin_sn) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Begin a write-side critical section. * * A call to this function acquires the write lock associated @p @@ -212,7 +196,6 @@ rte_seqlock_read_retry(const rte_seqlock_t *seqlock, uint32_t begin_sn) * * @see rte_seqlock_write_unlock() */ -__rte_experimental static inline void rte_seqlock_write_lock(rte_seqlock_t *seqlock) __rte_exclusive_lock_function(&seqlock->lock) @@ -224,9 +207,6 @@ rte_seqlock_write_lock(rte_seqlock_t *seqlock) } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * End a write-side critical section. * * A call to this function marks the end of the write-side critical @@ -238,7 +218,6 @@ rte_seqlock_write_lock(rte_seqlock_t *seqlock) * * @see rte_seqlock_write_lock() */ -__rte_experimental static inline void rte_seqlock_write_unlock(rte_seqlock_t *seqlock) __rte_unlock_function(&seqlock->lock)