From: David Marchand <david.marchand@redhat.com>
To: Andre Muezerie <andremue@linux.microsoft.com>
Cc: dev@dpdk.org
Subject: Re: [PATCH v3 0/2] enable build of lib/stack when using MSVC
Date: Thu, 6 Mar 2025 14:26:10 +0100 [thread overview]
Message-ID: <CAJFAV8xvwSc1EJKXD+VMxTxcUO+b0o_Qr_fx8rXk-DueMgyo8g@mail.gmail.com> (raw)
In-Reply-To: <1738634318-12876-1-git-send-email-andremue@linux.microsoft.com>
On Tue, Feb 4, 2025 at 2:58 AM Andre Muezerie
<andremue@linux.microsoft.com> wrote:
>
> MSVC does not support inline assembly, which is used by the
> implementation of rte_atomic128_cmp_exchange and is needed
> by the C11 flavor of lib/stack.
>
> A special implementation of rte_atomic128_cmp_exchange
> compatible with MSVC is added to rte_stack_lf_c11.h. It uses an
> intrinsic function when using MSVC, and inline assembly when other
> compilers are used.
>
> Existing atomic tests (which are not C11 compatible) are
> now skipped when using MSVC.
>
> v3:
> * Isolated the additional implementation of rte_atomic128_cmp_exchange
> to MSVC only.
>
> v2:
> * Added MSVC compatible implementation of rte_atomic128_cmp_exchange
> * Skipped non-C11 atomic tests when using MSVC
>
> Andre Muezerie (2):
> test: disable non-C11 atomic tests for MSVC
> stack: enable build with MSVC
>
> app/test/test_atomic.c | 2 ++
> lib/stack/meson.build | 6 ------
> lib/stack/rte_stack_lf_c11.h | 27 +++++++++++++++++++++++++++
> 3 files changed, 29 insertions(+), 6 deletions(-)
On the principle, the stack library should be reworked not to rely on
the legacy API.
But on the other hand, the stack library is the only consumer of this
legacy API, and the change is small.
So I decided to take this series for now.
We can revisit when there are more users of 128 bits atomics.
Series applied, thanks.
--
David Marchand
prev parent reply other threads:[~2025-03-06 13:26 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-10 16:32 [PATCH 0/3] " Andre Muezerie
2024-12-10 16:32 ` [PATCH 1/3] lib/eal: add rte_atomic128_cmp_exchange compatible with MSVC Andre Muezerie
2025-01-24 14:27 ` David Marchand
2025-01-28 21:25 ` Andre Muezerie
2024-12-10 16:32 ` [PATCH 2/3] app/test: add basic test for rte_atomic128_cmp_exchange Andre Muezerie
2024-12-10 16:32 ` [PATCH 3/3] lib/stack: enable build with MSVC Andre Muezerie
2025-01-28 21:16 ` [PATCH v2 0/2] enable build of lib/stack when using MSVC Andre Muezerie
2025-01-28 21:16 ` [PATCH v2 1/2] test: disable non-C11 atomic tests for MSVC Andre Muezerie
2025-01-28 21:16 ` [PATCH v2 2/2] stack: enable build with MSVC Andre Muezerie
2025-02-04 1:58 ` [PATCH v3 0/2] enable build of lib/stack when using MSVC Andre Muezerie
2025-02-04 1:58 ` [PATCH v3 1/2] test: disable non-C11 atomic tests for MSVC Andre Muezerie
2025-02-04 1:58 ` [PATCH v3 2/2] stack: enable build with MSVC Andre Muezerie
2025-02-04 10:30 ` Bruce Richardson
2025-02-04 15:25 ` Andre Muezerie
2025-02-04 17:42 ` Patrick Robb
2025-03-06 13:26 ` David Marchand [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=CAJFAV8xvwSc1EJKXD+VMxTxcUO+b0o_Qr_fx8rXk-DueMgyo8g@mail.gmail.com \
--to=david.marchand@redhat.com \
--cc=andremue@linux.microsoft.com \
--cc=dev@dpdk.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).