patches for DPDK stable branches
 help / color / mirror / Atom feed
* Re: [PATCH v2] cpp: Fix missing extern "C" closing bracket
       [not found] ` <20250624195810.2350988-1-edvard.fagerholm@gmail.com>
@ 2025-06-27 15:16   ` Thomas Monjalon
  2025-06-27 15:48     ` Edvard Fagerholm
  0 siblings, 1 reply; 2+ messages in thread
From: Thomas Monjalon @ 2025-06-27 15:16 UTC (permalink / raw)
  To: Edvard Fagerholm; +Cc: dev, Bruce Richardson, Konstantin Ananyev, stable

24/06/2025 21:58, Edvard Fagerholm:
> RTE_FORCE_INTRINSICS with a C++ compiler causes rte_atomic.h and
> rte_byteorder.h to emit on x86 an extern "C" without a closing
> brace.
> 
> Signed-off-by: Edvard Fagerholm <edvard.fagerholm@gmail.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>

Added root cause tracking:
Fixes: 719834a6849e ("use C linkage where appropriate in headers")
Cc: stable@dpdk.org

And changed the #endif comments to show the #ifndef condition is negative
with an exclamation mark:
#endif /* !RTE_FORCE_INTRINSICS */

Applied, thanks and welcome!

PS: I see you used AI to code your DPDK app, that's interesting
and we will probably look to improve such tools in a near future.

PS2: Thanks for the mobile games ;)



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] cpp: Fix missing extern "C" closing bracket
  2025-06-27 15:16   ` [PATCH v2] cpp: Fix missing extern "C" closing bracket Thomas Monjalon
@ 2025-06-27 15:48     ` Edvard Fagerholm
  0 siblings, 0 replies; 2+ messages in thread
From: Edvard Fagerholm @ 2025-06-27 15:48 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, Bruce Richardson, Konstantin Ananyev, stable

On Fri, Jun 27, 2025 at 6:16 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>
> 24/06/2025 21:58, Edvard Fagerholm:
> > RTE_FORCE_INTRINSICS with a C++ compiler causes rte_atomic.h and
> > rte_byteorder.h to emit on x86 an extern "C" without a closing
> > brace.
> >
> > Signed-off-by: Edvard Fagerholm <edvard.fagerholm@gmail.com>
> > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
>
> Added root cause tracking:
> Fixes: 719834a6849e ("use C linkage where appropriate in headers")
> Cc: stable@dpdk.org
>
> And changed the #endif comments to show the #ifndef condition is negative
> with an exclamation mark:
> #endif /* !RTE_FORCE_INTRINSICS */
>
> Applied, thanks and welcome!
>
> PS: I see you used AI to code your DPDK app, that's interesting
> and we will probably look to improve such tools in a near future.
>
> PS2: Thanks for the mobile games ;)
>

LLMs do manage to create the scaffolding for a DPDK application quite
well. Basically, NIC setup with different hardware accelerations is
quite tedious to set up for the first time together with starting
worker threads on the right cores. Since I needed to create my
application for ARM and x86 the LLM produced some clearly incorrect
patterns like turning RTE_FORCE_INTRINSICS on for x86 in the generated
cmake file. Hence, why I ran into this bug in the first place...

However, they also generated very inefficient code like updating
atomic variables with stats on every packet as well as making a copy
of each packet (into a malloc'd buffer). In other words, you won't be
able to vibe code yourself into a very efficient application just yet.
I did get all the scaffolding I needed to port an existing XDP
application to DPDK in only a few days, since the XDP application's
entry point is just getting the raw buffer with the packet, modifying
it in-place and sending it back. This is basically what you get in
DPDK too.

Best,
Edvard

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-06-27 15:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20250624111253.2074168-1-edvard.fagerholm@gmail.com>
     [not found] ` <20250624195810.2350988-1-edvard.fagerholm@gmail.com>
2025-06-27 15:16   ` [PATCH v2] cpp: Fix missing extern "C" closing bracket Thomas Monjalon
2025-06-27 15:48     ` Edvard Fagerholm

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).