DPDK patches and discussions
 help / color / mirror / Atom feed
* RFC - Tap io_uring PMD
@ 2024-10-30 21:56 Stephen Hemminger
  2024-10-31 10:27 ` Morten Brørup
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Stephen Hemminger @ 2024-10-30 21:56 UTC (permalink / raw)
  To: dev

The current tap device is slow both due to architectural choices and the
overhead of Linux system calls. I am exploring a how to fix that but some
of the choices require some tradeoffs. Which leads to some open questions:

1. DPDK tap also support tunnel (TUN) mode where there is no Ethernet header
   only L3. Does anyone actually use this? It is different than what every other
   PMD expects.

2. The fastest way to use kernel TAP device would be to use io_uring.
   But this was added in 5.1 kernel (2019). Rather than having conditional or
   dual mode in DPDK tap device, perhaps there should just be a new PMD tap_uring?

3. Current TAP device provides hooks for several rte_flow types by playing
   games with kernel qdisc. Does anyone really use this? Propose just not doing
   this in new tap_uring.

4. What other features of TAP device beyond basic send/receive make sense?
   It looks like new device could support better statistics.

5. What about Rx interrupt support?

Probably the hardest part of using io_uring is figuring out how to collect
completions. The simplest way would be to handle all completions rx and tx
in the rx_burst function.

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

end of thread, other threads:[~2024-11-07 21:51 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-10-30 21:56 RFC - Tap io_uring PMD Stephen Hemminger
2024-10-31 10:27 ` Morten Brørup
2024-11-01  0:34   ` Stephen Hemminger
2024-11-02 22:28     ` Morten Brørup
2024-11-05 18:58       ` Stephen Hemminger
2024-11-05 23:22         ` Morten Brørup
2024-11-05 23:25           ` Stephen Hemminger
2024-11-05 23:54             ` Morten Brørup
2024-11-06  0:52               ` Igor Gutorov
2024-11-07 16:30                 ` Stephen Hemminger
2024-11-06 10:30           ` Konstantin Ananyev
2024-11-06  0:46 ` Varghese, Vipin
2024-11-06  7:46 ` Maxime Coquelin
2024-11-07 21:51   ` Morten Brørup

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